(1) 프로세스 스케줄링의 정의
(2) 프로세스 스케줄링의 원칙
(3) 바람직한 프로세스 스케줄링 정책
(1) 비선점형 방식의 개념
(2) FIFO(First In First Out)
작업 | 실행시간 | 도착 시간 | 대기 시간 |
---|---|---|---|
A | 24 | 0 | 0 |
B | 6 | 1 | 24-1=23 |
C | 3 | 2 | 30-2=28 |
평균 실행 시간 | 11 | 평균 대기 시간 | 17 |
평균 반환 시간 | 28 |
(3) SJF(Short Job First)
실행 시간이 가장 짧은 프로세스 순으로 처리한다.
실행 시간이 긴 작업일 경우 무한 대기(기아) 상태가 발생할 수 있다.
짧은 시간의 작업들이 많은 경우에 FIFO보다 평균 대기 시간이 작다.
작업 | 실행시간 | 도착 시간 | 대기 시간 |
---|---|---|---|
A | 24 | 0 | 0 |
B | 6 | 1 | 27-1=26 |
C | 3 | 2 | 24-2=22 |
평균 실행 시간 | 11 | 평균 대기 시간 | 16 |
평균 반환 시간 | 27 |
(4) HRN(Highest Response-ratio Next)
FIFO와 SJF의 단점을 보완하여 개발된 방법이다.
대기 시간이 긴 프로세스의 우선순위를 높여서 긴 작업과 짧은 작업간의 지나친 불평등을 해소할 수 있다.
HRN 우선순위 공식의 계산 결과가 큰 작업에 높은 우선순위를 부여(Aging)한다.
작업 | 실행시간 | 대기 시간 | 우선 순위 |
---|---|---|---|
A | 20 | 10 | 1.5 |
B | 4 | 20 | 6 |
C | 6 | 10 | 2.6 |
(1) 선점형 방식의 개념
(2) RR(Round Robin)
동일한 Time Slice를 사용하는 시분할 처리 시스템에 효과적으로 적용된다.
Time Slice 동안만 순서대로 프로세스를 처리하는 방식이다.
Time Slice가 실행 시간보다 크면 FIFO와 동일한 결과를 보인다.
Time Slice가 5초인 RR의 평균 반환 시간 계산
작업 | 실행 시간 | 도착 시간 |
---|---|---|
A | 10 | 0 |
B | 18 | 2 |
C | 5 | 5 |
D | 3 | 6 |
계산 공식은 FIFO의 공식과 같다.
작업 | A | B | C | D |
---|---|---|---|---|
남은 시간 | 5 | 13 | 0 | 0 |
C의 대기 시간 : 10 - 5 = 5
D의 대기 시간 : 15 - 6 = 9
작업 | A | B | C | D |
---|---|---|---|---|
남은 시간 | 0 | 8 | 0 | 0 |
A의 대기 시간 : 15
작업 | A | B | C | D |
---|---|---|---|---|
남은 시간 | 0 | 0 | 0 | 0 |
B의 대기 시간 : 20
평균 실행 시간 = (10 + 18 + 5 + 3) / 4 = 9
평균 대기 시간 = (15 + 20 + 5 + 9) / 4 = 12.25
평균 반환 시간 = 9 + 12.25 = 21.25
(3) SRT(Shortest Remaining Tiime)
(4) MFQ(Multilevel Feedback Queue)