모든 프로세스는 CPU를 필요로 한다. 운영체제가 프로세스들에게 공정하고 합리적으로 CPU자원을 배분 하는 것을 CPU 스케줄링이라고 함.
입출력 집중 프로세스: 비디오 재생이나 디스크 백업 작업을 담당하는 프로세스와 같이 입출력 작업이 많은 프로세스 - 대기 상태에 더 많이 머물게 됨
CPU 집중 프로세스: 복잡한 수학 연산, 컴파일, 그래픽 처리 작업을 담당하는 프로세스와 같이 CPU 작업이 많은 프로세스 - 실행 상태에 더 많이 머물게 됨
이 두가지 프로세스가 동일한 빈도로 CPU를 사용하는 것은 비합리적.
⇒ 우선순위 부여해 해결
<aside> 💡 CPU를 이용하는 작업은 CPU 버스트라 하고 입출력장치를 기다리는 작업을 입출력 버스트라 한다.
</aside>
운영체제가 모든 프로세스의 PCB를 찾아 우선순위를 확인 하는 것은 비효율적.
프로세스들을 스케줄링 큐로 구현하고 관리. (큐이지만 선입선출 자료구조의 형태로 구현할 필요는 없다)

선점이란 ‘남보다 앞어서 차지함’을 의미
선점형 스케줄링: 프로세스가 CPU를 비롯한 자원을 사용하고 있더라도 운영체제가 프로세스로부터 자원을 강제로 빼앗아 다른 프로세스에 할당할 수 있는 스케줄링 방식. (어느 하나의 프로세스가 자원 사용을 독점 불가)