1. CPU Scheduler Algorithm
가. Nonpreemptive Scheduler Alogorithm(비선점형): CPU를 빼앗지 않는 알고리즘
1) FCFS(First-Come First-Served): 먼저 온 순서대로 처리하는 방식
->Convoy effect: 오래 걸리는 프로세스가 먼저 오면 비효율적이게 됨
2) SJF(Shortest-Job-First): 가장 짧은 프로세스를 먼저 하는 방식 (선점과 비선점 둘 다 있음)
-> Starvation: 짧은 프로세스들이 계속 오게 되면 긴 프로세스는 영원히 처리를 못 할 수도 있음
-> CPU burst time을 미리 알 수가 없다.
3) Priority Scheduling: 가장 높은 우선순위를 가진 프로세스를 먼저 하는 방식 (우선순위를 정수로)
-> SJF도 일종의 Priority Process 이다.
나. Preemptive Scheduler Alogorithm(선점형): CPU를 빼앗는 알고리즘
1) Shortest-Remaining-Time-First: SJF의 비선점형 방식
2) Round Robin(RR) Scheduling: 모두에게 동일한 시간동안 처리하게 해줌
-SJF 보다 Turnaround time은 크나, Response time은 줄어든다
다. 성능 척도
1) System 입장: 얼마나 많이 일을 하는 지
가) CPU Utilization(이용률): CPU가 놀지 않고 일하는 시간
나) Throughput(처리량): 주어진 시간동안 얼마나 많은 일을 하는 지
2) Process 입장(고객): 시간이 빨리
가) Turnaround time(소요시간, 반환시간): CPU Burst를 들어가서 나갈 때까지
나) Waiting time(대기 시간): CPU를 쓰고자할 때 순수히 기다리는 시간(선점형일 때는 여러 차례의 합)
다) Response time(응답 시간): CPU를 들어와서 처음으로 CPU를 얻을 때까지 기다리는 시간
-> time sharing 에서는 응답시간이 중요
'Studying > Operating System' 카테고리의 다른 글
06. Process Synchronization (2/5), (3/5) (0) | 2018.06.04 |
---|---|
05. CPU Scheduling (3/3) / 06. Process Synchronization (1/5) (0) | 2018.06.02 |
04. Process Management (2/2), 05. CPU Scheduling (1/3) (0) | 2018.05.26 |
04. Process Management (1/2) (0) | 2018.05.20 |
03. Process (2/3), (3/3) (0) | 2018.05.20 |