<aside> 💡 CPU burst란? 프로세스가 CPU를 사용하여 실행될 때 걸리는 시간입니다. 즉, 프로세스가 CPU를 사용하여 일을 처리하는 동안의 시간을 뜻합니다. 이러한 CPU burst는 프로세스 스케줄링과 CPU 성능 평가에서 중요한 역할을 합니다.
</aside>
<aside> 💡 I/O burst란? 프로세스가 입출력 작업을 수행하는 동안 CPU를 사용하지 않고 대기하는 시간을 뜻합니다. 이 시간 동안 운영체제는 다른 프로세스에 CPU를 할당할 수 있어 시스템 전체적인 성능을 향상시킬 수 있습니다.
</aside>
ready queue에 있는 프로세스들 중 하나를 선택하여 이 프로세스에게 CPU를 할당
CPU scheduling 결정은 process가 다음 상황일 때 발생 가능
비선점(non-preemptive) 스케줄링 - cooperative 스케줄링
1번 4번 경우는 선택의 여지가 없음, 이 경우에만 스케줄링 하는 방법
선점(preemptive) 스케줄링
모든 경우에 스케줄링 가능한 방법
CPU 독점을 방지하거나(timer), 프로세스 우선순위를 반영하고자 할 때 2, 3번의 경우(ready queue가 변화)에 스케줄링 할 수 있음