본문 바로가기
반응형

데이터 통신22

운영체제 리눅스 캐싱~웹 서비스 리눅스 캐싱 - 모든 I/O(input/ouput)에는 반드시 성능저하가 존재 - Cpu, 메모리 대역폭 차이(L1 > L2 > L3 > Memory > Disk) - 일반적인 os 가상 메모리 지원(저장소 확정) - 파일 시스템 캐싱 : 저장소에 미리 로드 후 빠른 접근(최근 사용된 메모리를 저장 : 재사용 가능성 높기 때문에), 메모리 여유 공간 : 확장/동적 동작 - 대표 캐싱 : 페이지/버퍼 캐싱 - 페이지 : 일반 데이터 영역 : 디스크 블록 항상 미리 맵핑, 가상파일 시스템과 교환 - 버퍼 : 수퍼 블록, 아이노드 등(디스크 접근 성능 개선), 가상 파일 시스템 하위 코다 파일시스템, NFS, Ext2Fs 와 교환 - 가용영역 -> 캐시로 활용)점차 반환) -> 최후/swap 영역 활용 리눅스.. 2023. 6. 14.
8장 데이터링크 제어 8장 데이터링크 제어 전송 제어 절차 - 회선 연결 -> 데이터링크 확립 -> 데이터 전송 -> 데이터링크 해제 -> 회선 해제 회선 연결 : 데이터 전송 가능하도록 통신회선 연결 데이터링크 확립 : 데이터 전송 위한 논리적 경로 구성 데이터 전송 : 데이터 전송 데이터링크 해제 : 데이터 링크 해제 해선 해제 : 회선과 단말장치 물리적 연결 해제 경쟁방식 - 장치가 서로 다 대등한 점대전 회선에서 사용 - 다중점에서 사용 시 충돌 일어남 - 조회(ENQ)하고 확인응답(ACK) 받고 하면서 데이터 잘 받았는지 확인, ACK 못 받으면 다시 전송 폴(poll) - 주장치가 종장치(하위 장치들)한테 데이터 받을 때 - 보낼 데이터 있는지 물어보는 거(찔러보기) - 없으면 부정응답(NAK) 받고 있으면 데이터.. 2023. 6. 7.
컴파일러 경고 서드파티 라이브러리 프로젝트에 막강한 서드파티 라이브러리를 포함하고는 사용하지 않는다. 추가하 고 사용하진 않았지만, 우리의 이력서 “기타 도구” 부분에 사용하지 않았던 도구 이름을 추가할 수 있다. 라이브러리를 피하라 개발 도구에 포함된 라이브러리를 모른척해야 한다. 비주얼 C++를 사용한다면 MFC나 STL의 존재를 무시하고 문자열이나 배열을 손수 작정할 수 있다. 이렇게 하면서 자신도 모르게 포인터 기술이 좋아지고 동시에 코드를 확장하려는 시도를 좌절시킬 수 있다. 빌드 순서를 만들라 빌드 순서를 정교하게 만들어서 유지보수 프로그래머가 자신이 수정한 파일을 컴 파일하지 못하게 할 수 있다. 숨겨진 SmartJ를 이용해서 make 스크립트를 무용 지물로 만들자. 비슷한 방식으로 컴파일러를 클래스로 사.. 2023. 6. 6.
나만의 기법 10 | 색다른언어를이용한트릭 베이직 프로그래밍은 뇌를 손상시킨다. — 에스거 비버 딕스트라Edsger Wybe Dijkstra SQL 별칭 테이블 이름 별칭을 하나 혹은 두 개 문자로 정하자. 물론 관련이 없는 기존 테이블 이름을 별칭으로 사용하는 것도 바람직하다. SQL 외부 조인 다양한 외부 조인 문법을 사용하므로 모두를 긴장시키자. 자바스크립트 범위 자바스크립트 코드의 함수는 호출자의 범위에 있는 모든 지역 변수에 접속할 수 있 다는 사실을 “최대한 활용”하자. 비주얼 베이직 선언 다음과 같은 선언보다는 dim Count_num as string dim Color_var as string dim counter as integer 아래와 같이 선언하는 것이 바람직하다 Dim Count_num$, C.. 2023. 6. 5.
반응형