먼저, process란 program이 실행된 것을 의미한다.
즉, disk에서 수동적인 성격을 띄는 program이 memory에 load되면 그때부터 process가 되는 것이다.
OS의 중요한 기능 중에 한정된 cpu, storage 등의 resource들을 process에 효율적으로 분배하는 것이다.
OS는 CPU(Hardware) Utilization을 높이기 위해, CPU위에 올라가는 Process들을 time sharing하면서 switch한다.
Process Scheduler가 CPU에서 다음 실행하는 process를 선택한다.
Scheduling Queue는 process들로 구성된다.
먼저, new process는 Ready Queue에 놓인 후, 실행을 위한 dispatch(선택)될 때까지 Ready Queue에서 기다린다.
일단, process에게 CPU가 할당되면, 아래 event 중 하나가 발생하기 전까지 해당 process는 현재 CPU 아래에서 실행된다.