1) FCFS(First Come First Serve) 스케줄링 방식
- 선착 순 대로 프로세스를 스케줄링 하는 방식
- 앞의 프로세스 CPU 선점 시간이 길다면 뒤의 프로세스의 대기 시간이 길어지는 호위 효과 발생
- 비선점형 스케줄링 방식에 속한다.
2) SJF(Shortest Job First) 스케줄링 방식
- 가장 CPU 버스트 시간이 적은 것부터 실행하는 방식
- 만약 준비큐에 버스트 시간이 적은 것이 들어 온다면, 지금 하는 것을 중단하고 실행
- 하지만 프로세스의 CPU 버스트 시간을 알 수는 없다
- 지수 평균 방법을 사용하여 예측한 시간을 사용한다.
- $r_{n+1} = a*t_n + (1 -a)r_n$ $(0 ≤ a ≤ 1)$
- 선점형 스케줄링 방식이다
3) RR(Round Robin) 스케줄링 방식
- 시간 할당량(타임 슬라이스)을 선정하여, 한 번의 수행이 끝나면 프로세스를 끝내고 다음 프로세스를 실행
- 시간 할당량을 너무 크게 하면 FCFS와 다를게 없고 너무 짧게 하면 불필요한 context switching 발생
4) 우선 순위 스케줄링
- 내외부적으로 우선 순위를 정하여, 우선 순위대로 스케줄링을 하는방식
- 우선순위 먼저 수행하기에 기아 현상 발생
- 이를 대안으로 나온 것이 바로 노화이다. → 프로세스에서 밀릴 때마다 우선운위를 올려주는 방법
5) 다단계 큐 스케줄링
- 여러 큐에 우선순위를 매겨서 스케줄링하는 방식
- 어느 큐에서는 RR방식, 다른 큐에선 FCFS 방식등으로 다양한 방법의 큐들을 사용 가능하다.