티스토리 뷰

운영체제/이론

(23) CPU Scheduling Algorithm

geonwoopaeng@gmail.com 2020. 9. 20. 14:19

### Scheduling Algorithm ###

: 성능을 최적할 수 있는 방법

• Maximize CPU utilization.

• Maximize throughput.

• Minimize turnaround time.

• Minimize waiting time.

• Minimize response time.

1. <First Come, First Served[FCFS,선입 선출] Scheduling>

: ready queue에 먼저 들어온 process가 먼저 cpu를 할당 받는 것

<Implementation(구현)>

: FIFO(First input, First output) 대기열로 관리 됩니다.

: Non-preemptive scheduling(비선점성)

: 간단하고 구현하기 쉽다.

1. process가 ready queue(fifo)에 삽입되면 process의 PCB가 queue의 tail에 연결 된다.

2. CPU core가 ready queue(fifo)에서 우선 process에 할당 하면 PCB가 queue에서 제거 됩니다.

 

<Example>

01
출처: Operating System Concepts 10th Ed (John Wiley & Sons, Inc. 2018)

 

 

 

 

2. <Shortest Job First[SJF] scheduling>

: ready queue에 있는 process중에서 cpu burst가 가장 짧은 것에 cpu를 할당한다.

<Implementation(구현)>

: process와 process의 cpu burst를 연관 시킨다.

: process 집합에 대한 최소 평균 대기 시간(waiting time)

or 최소 처리시간(turnaround time)을 달성한다.

: Non-preemptive scheduling

 

012
출처: Operating System Concepts 10th Ed (John Wiley & Sons, Inc. 2018) ​

 

 

 

 

3. <Shortest Job First[SJF] Scheduling>

: SJF + preemption scheduling

 

출처: Operating System Concepts 10th Ed (John Wiley & Sons, Inc. 2018)

반응형

'운영체제 > 이론' 카테고리의 다른 글

(25) Round Robin[RR] Scheduling (CPU scheduling)  (0) 2020.09.20
(24) CPU Scheduling  (0) 2020.09.20
(22) Dispatcher  (0) 2020.09.19
(21) CPU scheduling  (0) 2020.09.19
(20) Multithreading Models  (0) 2020.09.19
공지사항
최근에 올라온 글