process 3

[OS] CPU Scheduling

Scheduling은 Process가 작업을 효율적으로 수행할 수 있도록, OS가 CPU 자원을 적절하게 분배하는 작업을 의미한다. CPU Scheduling은 크게 Preemptive Scheduling 과 Non-preemptive Scheduling 으로 나뉜다. 선점 스케줄링이라는 의미인 Preemptive Scheduling 은 단어의 의미 그대로 CPU 를 빼앗아 올 수 있는 스케줄링 방법이다. A Process 가 이미 CPU 를 점유하고 있더라도, 우선 순위가 높은 B Process 가 나타나면, CPU 를 빼앗아 올 수 있다. 따라서, 우선 순위가 높은 Process 를 빠르게 처리해야하는 경우에 유리한 방식이다. 그러나 CPU 를 빼앗아오는 Preemptive 현상이 발생하면 기존에 처..

IT/OS 2020.01.16

[Network] Transport Layer (트랜스포트 계층) - 3.2 다중화와 역다중화

3.2 Multiplexing and Demultiplexing 네트워크 계층이 제공하는 host-to-host delivery service에서 host에서 동작하는 애플리케이션에 대한 process-to-process delivery service로 확장하는 것을 transport 계층의 다중화 (multiplexing)와 역다중화 (demultiplexing)라고 한다. 목적지 호스트에서의 트랜스포트 계층은 바로 아래의 네트워크 계층으로부터 세그먼트를 수신한다. 트랜스포트 계층은 호스트에서 동작하는 해당 애플리케이션 프로세스에게 이 세그먼트의 데이터를 전달하는 의무를 가진다. 네트워크 애플리케이션의 한 부분으로서 프로세스는 socket 을 가진다. 이를 이용해서 네트워크에서 프로세스로 데이터를 전달..

IT/Network 2018.01.15

[Network] Transport Layer (트랜스포트 계층) - 3.1 트랜스포트 계층 서비스 및 개요

3.1 Introduction and Transport-Layer ServicesTransport Layer Protocol은 서로 다른 호스트에서 동작하고 있는 애플리케이션 프로세스에 논리적 통신(logical communication)을 제공한다. Logical communication 을 통해 애플리케이션의 관점에서 프로세스가 실행 중인 두 호스트가 직접 연결되어 있는 것처럼 느끼게 한다. 물론 현실적으로는 서로 정반대에 서서 셀 수 없이 많은 라우터와 다양한 링크들을 통해 연결되어 있는 것이지만 말이다. 애플리케이션 프로세스는 Transport layer가 제공하는 Logical communication을 이용하며, 서로에게 message를 보낼 수 있다. 그리고 이를 통해 애플리케이션 프로세스는..

IT/Network 2018.01.13