메모리를 효과적으로 사용하고 관리하기 위해서는 프로세스들 사이의 우선순위를 관리하는 것 또한 중요하다
스케줄링은 처리율과 CPU 이용률을 조절(증가)시키고 오버헤드, 응답시간, 반환,대기 시간을 최소화 시킴의 목적을 둔다.
프로세스의 상태는 5가지로 생성, 준비, 실행, 대기, 완료 로 이루어져 있는데

프로세스 스케줄링 대상은 이 준비상태에 있는 스케줄링 알고리즘에 따른 할당을 부여한다.
대표적인 스케줄링 방식으로 위의 언급으로 2가지로 분류가능하다
선점형: 하나의 프로세스가 CPU를 차지할때 우선순위가 높은 프로세스가 현재의 프로세스를 중단시키고 CPU를 점유하는 방식
비선점형: 하나의 프로세스가 작업종료 될때까지 점유가 불가능한 방식
각각의 장단점이 존재한다.
선점형의 경우 빠른응답이 가능하고, 실시간 상황에서 주로 사용이 가능하다 하지만 높은 우선순위의 프로세스들이 게속해서 들어오는 경우 기아현상이 발생할 수 있다.
비선점의 경우 응답시간 예상이 용이하여 모든프로세스에 대한 요구를 공정하게 처리하지만
짧은 작업이 필요한 프로세스의 작업이 오래 걸릴 수 있다.