CPU 스케줄링의 목표는 CPU 효용 극대화하기 위해서이다. 프로세스가 실행 될 때 CPU를 사용하는 시간과 I/O에 대한 응답을 기다리는 시간이 번갈아가면서 진행된다. 이 때, CPU를 사용하는 시간을 CPU burst, I/O 응답을 기다리는 시간을 I/Oburst라고 한다. 통상적인 프로세스는 CPUburst가 짧고 빈도수가 높다. 따라서 하나의 프로세스가 실행 될 때 CPU는 거의 놀고 먹으면서 실행 된다. 그래서 여러 프로세스를 실행할 때, CPU 스케줄링을 하면 CPU 효율을 극대화 할 수 있다. 그러면 CPU스케줄링은 언제 일어나는가? 아래와 같이 프로세스 상태가 변했을 때 이뤄진다. running 상태 👉 waiting 상태 running 상태 👉 ready 상태 waiting 상태 👉 r..