CPU는 Multi Programming을 통해 효율을 극대화한다.Single Core CPU는 한 번에 하나의 프로세스만 실행할 수 있기 때문에 CPU Scheduling을 통해 CPU가 실행할 프로세스를 적절히 정해줘야 한다.프로세스의 실행은 CPU 실행과 I/O 대기의 사이클로 이루어져 있다.보통 I/O Bound Process는 CPU 실행이 짧고 잦으며, I/O 대기가 길고, CPU Bound Process는 CPU 실행이 길고 적다.컴퓨터가 실행하는 대부분의 작업은 I/O Bound Process이다.CPU SchedulerCPU Scheduler는 메모리에서 다음에 실행할 프로세스를 선택한 뒤, 프로세스가 준비되면 CPU에 프로세스를 할당한다.프로세스의 상태 변화 그림을 다시 ..