Priority Scheduling

 

Priority Scheduling는 각각의 프로세스마다 우선순위를 부여한 후에 우선순위가 가장 높은 프로세스를 먼저 실행시키는 알고리즘이다.

Nonpreemptive / Preemptive 둘다 가능하다.

 

위와 같이 5개의 프로세스가 존재하고 각각 프로세스의 우선순위는 다음과 같다면 CPU는 위사진과 같이 실행하게 될 것이다.

이때의 Turnaround time

P1 = 6 + 10 = 16

P2 = 0 + 1 = 1

P3 = 16 + 2 = 18

P4 = 18 + 1 = 19

P5 = 1 + 5 = 6

 

하지만, Priority Scheduling에는 Starvation 이 발생한다.

Starvation => 우선순위가 계속 높은 프로세스만 Ready Queue에 들어오게 된다면 낮은 것은 무한히 처리가 되지 않는 문제를 말함.

이같은 문제를 처리하기 위한 방법으로는 Aging기법이 있다.

 

Aging => 한프로세스가 기다리는 시간에 비례해서 우선순위를 올려주는 방법.

'O.S' 카테고리의 다른 글

Process Scheduling  (0) 2012.04.19
Process Scheduling - Round_Robin  (0) 2012.04.19
Process Scheduling - SJF  (0) 2012.04.19
Process Scheduling - FCFS  (0) 2012.04.19
Critical Section - 공유메모리  (2) 2012.04.17

+ Recent posts