CPU는 프로세스들을 돌아가면서 조금씩 처리한다. 근데 어느 프로세스부터 방문해야 할까?
CPU를 많이 써야하는 프로세스에 자주 방문한다
운영체제는 프로세스마다 중요도에 맞는 우선순위를 부여한다.
각각의 프로세스는 CPU와 입출력 장치를 사용하는 비중이 다른데,
CPU를 더 많이 사용하는 프로세스에 CPU를 더 많이 할당하는게 효율적이다.
모든 프로세스의 PCB를 일일이 방문하면서 우선 순위를 계산하고 비교하는건 비효율적이므로 큐에 순서대로 넣어서 관리한다.
대기 프로세스
입출력 완료 -> 완료 인터럽트 발생 -> 대기큐에서 완료된 PCB 찾기 -> PCB를 준비상태로 변경 -> 대기큐에서 준비큐로 이동시킴
다른 급한 프로세스가 먼저 CPU를 사용하게 해달라고 요청한다.
요청을 들어주면 선점형, 안들어주면 비선점형이다.