CPU Scheduling 이 필요한 이유 ? 여러 종류의 job (= process) 가 섞여 있기 때문에 스케줄링이 필요하다. CPU를 계속해서 사용하는 CPU bound job도 있고, 사용자와 인터렉션을 해야하는 I/O bound job 이 있다. FCFS (First-Come-First-Served) 프로세스의 도착 순서대로 사용한다. -> 마지막으로 도착한 프로세스가 지나치게 오래 기다리게 될 것이다. Round Robin 각 프로세스는 동일한 크기의 시간을 할당 받고, 할당받은 시간이 지나면 프로세스는 선덤 당하고 ready queue의 가장 뒤에 가서 줄을 선다. 프로세스가 ready queue에 n 개 있을 때, 할당 시간이 q time-unit인 경우, 각 프로세스는 최대 q time-..
Roundrobin
CPU Scheduling이 필요한 이유 ? 멀티프로그래밍을 지원하는 운영체제에서 효율적으로 일을 처리하기 위해서 process 스케줄링이 필요하다. single CPU에서는 오직 하나의 process만이 CPU를 사용할 수 있으며, 다른 process들은 CPU를 사용하기 전까지 대기를 한다. ( 여기서 process 스케줄링은 thread 스케줄링과 같은 의미로도 사용할 수 있다. ) 스케줄링에는 두가지 이슈가 있다. CPU Burst에 들어온 프로그램이 여러게 있는데, 누구한테 먼저 줄것인가 ? CPU를 다 쓰고 I/O를 할때까지 한 process에게 CPU를 계속 줄것인가 아니면 중간에 CPU를 뺏어서 다른 프로세스에게 넘겨줄 것인가 ? CPU를 중간에 뺏지 않는다면 긴 프로세스 하나때문에 다른 ..