학교강의필기장

Principles of congestion control congestion : 긴 딜레이, 패킷 손실 scenario 1 (simplest) 설정 : 하나의 라우터, 무한 크기 버퍼, 입출력 링크 용량 R, 재전송이 필요하지 않음 => 용량이 R/2이면 네트워크 도착이 절반임으로 네트워크가 가득 찬다. 버퍼의 크기가 무한이므로 패킷 손실은 발생하지 않지만, 큐잉 지연이 발생하게 된다. 이에 따라 전송 지연이 증가한다. scenario 2 설정 : 하나의 라우터, 유한 버퍼, 재전송 있음 애플리케이션 레이어은 입력과 출력이 같고, 재전송을 포함한 transport 레이어의 입력은 애플리케이션의 입력보다 크거나 같다. Idealization(이상화) 완벽한 정보 가짐: sender는 라우터 버퍼가 사용 ..
TCP flow control 네트워크 레이어가 전달하는 데이터가 애플리케이션 레이어가 소켓 버퍼에서 삭제하는 데이터보다 빠르면 어떻게 될까? - 이때 필요한게 flow control, receiver의 버퍼가 너무 많고 빠른 전송에 오버플로우되지 않도록, receiver는 sender를 컨트롤한다. TCP receiver는 TCP header의 rwnd field로써 버퍼에 빈자리가 있다고 advertises한다. - 많은 OS에서 RcvBuffer를 자동조정(autoadjust) sender는 rwnd가 도착할때까지 unACKed data의 크기를 제한한다. guarantees(보장된) receive buffer는 overflow되지 않을 것이다. TCP connection management - a..
Real-Time CPU Scheduling Event latency : 이벤트가 발생한 시점부터 해당 이벤트를 처리하는데 걸리는 시간 실시간 시스템의 성능에 영향을 미치는 두 가지 유형의 대기시간이 있다. - interrupt latency : 인터럽트가 발생한 시점부터 해당 인터럽트를 처리하는 루틴이 시작되는 데까지 걸리는 시간 - dispatch latency : 현재 프로세스를 CPU에서 제거하고 다른 프로세스로 전환하는데 걸리는 시간 Dispatch Latency 1. 커널 모드에서 실행중인 프로세스의 선점(preemption) : 기존 프로세스를 실행중이던 CPU에게 그 실행을 중지시킴 2. 낮은 우선순위 프로세스가 높은 우선순위 프로세스가 필요로 하는 자원을 해제(release)하는 것. ..
CPU 스케줄러는 준비 큐에 있는 프로세스 중에서 선택하고 CPU 코어를 그 중 하나에 할당한다. 큐는 다양한 방식으로 정렬될 수 있다. CPU 스케줄링 결정은 프로세스가 다음 중 하나의 상태로 전환될 때 발생한다. 1. 실행 중인 상태에서 대기 상태로 전환될 때 2. 실행 중인 상태에서 준비 상태로 전환될 때 3. 대기 상태에서 준비 상태로 전환될 때 4. 종료될 때 실행 중인 상태에서 대기 상태로 전환될 때와 종료될 때는 비선점(nonpreemptive)이다. -> CPU를 안놔줌 running -> ready 일때와 waiting -> ready 일때는 선점(preemptive)이다. -> CPU를 한정된 시간만 사용 공유 데이터에 대한 액세스를 고려해야함 - 경쟁상태 발생 가능 커널 모드에서 선..
대부분의 현대 애플리케이션은 멀티스레드 방식으로 동작한다. 커널은 일반적으로 멀티스레드 방식으로 구현된다. 서버의 경우, 클라이언트로부터 요청이 들어오면 새로운 스레드를 생성해서 해당 요청을 처리하고 서버는 추가적인 요청을 위해 계속 리스닝한다. 스레드끼리는 code, data, files는 공유하고 registers, stack, PC는 독립돼있다 프로세스 생성에 비해 스레드 생성은 가볍다. 코드를 단순화하고 효율성을 높일 수 있다. 멀티스레드 방식의 장점은 다음과 같다. - 응답성 : 프로세스의 일부가 블로킹되어도 계속해서 실행을 지속할 수 있다. - 자원공유 : 스레드는 프로세스의 자원을 공유하기에 공유 메모리 / 메시지 전달보다 쉽게 자원을 공유할 수 있다. - 경제성 : 프로세스 생성보다 스레드..
Direct Communication (직접 통신) 프로세스는 서로를 명시적으로 이름을 지정한다. send(P, message) : 메시지를 프로세스 P에게 보낸다. receive(Q, message) : 메시지를 프로세스 Q에게서 받는다. 통신 링크의 특성 - 링크는 자동으로 설정된다. - 링크는 정확히 하나의 쌍 프로세스와 연관된다. - 각 쌍 사이에는 정확히 하나의 링크가 있다. - 링크는 단방향일 수도 있지만, 일반적으로 양방향이다. Indirect Communication (간접 통신) 메시지는 mailbox(또는 port)에서 직접적으로 보내고 받는다. - 각 mailbox는 고유한 ID를 가진다. - 프로세스는 mailbox를 공유할 때만 통신할 수 있다. 통신 링크의 특성 - 프로세스가 공..
Process Concept 프로세스는 실행 중인 프로그램을 의미하고, 프로세스 실행은 순차적인 방식으로 진행돼야한다. 프로그램 코드(텍스트 영역) : 실행 코드를 포함한다. 현재 활동(PC, 프로세서 레지스터 ..) : 프로세스의 현재 실행 상태를 나타냄 스택 : 일시적인 데이터를 저장함. 함수, 매개변수, 반환주소, 지역 변수 등 데이터 섹션 : 전역 변수를 포함한다. 힙 : 실행 시간에 동적으로 할당되는 메모리를 포함한다. 프로그램은 수동적인 개체, 프로세스는 활성적인 개체. 하나의 프로그램은 여러 개의 프로세스가 될 수 있음. Process State New: 프로세스가 생성 중 Running: 명령이 실행 중 Waiting: 프로세스가 어떤 이벤트가 발생할 때까지 기다림 Ready: 프로세스가 ..
System Services (= System Utilities) 시스템 프로그램은 프로그램 개발 및 실행에 편리한 환경 제공 대부분의 사용자는 실제 시스템 호출이 아닌 시스템 프로그램을 통해 운영체제를 보고있다. - 파일 관리 파일 및 디렉토리 생성, 삭제, 복사, 이름변경, 인쇄, 덤프, 목록 및 일반적으로 파일 및 디렉토리 조작 - 상태 정보 시스템 정보 요청 - 날짜, 시간, 사용 가능한 메모리 양, 디스크 공간, 사용자 수 등 성능, 로깅 및 디버깅 정보 제공 일반적으로 이런 프로그램은 터미널이나 다른 출력장치로 출력을 서식화하고 인쇄함 일부 시스템에서는 레지스트리를 구현해서 구성 정보를 저장하고 검색하는데 사용함 - 파일 수정 파일 생성 및 수정을 위한 텍스트 편집기 파일 내용 검색 또는 텍스..
푸더기
'학교강의필기장' 카테고리의 글 목록 (12 Page)