컴퓨터 & 네트워크/운영체제
CPU Scheduling
D.Y
2018. 1. 23. 23:18
반응형
CPU Scheduling
- 선점형(preemtive)
- CPU를 선점하고 동작되는 스케줄링 기법 (뺏을 수 없음) - 비선점형(nonpreemtive)
- CPU를 언제든지 뺏을 수 있는 형태로 동작하는 스케줄링 기법
CPU 성능 척도
- CPU utilization (CPU 이용률)
- 시스템 입장에서 CPU가 일하는 시간 - Throughtput (처리량)
- 시스템 입장에서 CPU가 단위 시간당 처리하는 처리량 - Turnarount time (소요시간, 반환시간)
- 프로세스 입장에서 CPU를 기다리고, 점유하고 모두 끝내는데 걸리는 시간 - Waiting time (대기 시간)
- 프로세스 입장에서 CPU를 점유하기까지 기다리는 시간 - Response time (응답 시간)
- 프로세스 입장에서 CPU를 처음으로 점유하는데 걸리는 시간
중국집에 비유해보면..
- CPU utilization (CPU 이용률)
- 가게 입장에서 요리사가 일하는 시간 - Throughtput (처리량)
- 가게 입장에서 단위 시간당 받는 손님 수 - Turnarount time (소요시간, 반환시간)
- 고객 입장에서 음식을 시키고, 다 먹고, 나가는데 걸리는 시간 - Waiting time (대기 시간)
- 고객 입장에서 기다리는 시간 - Response time (응답 시간)
- 고객 입장에서 첫번째 음식이 나오는데 걸리는 시간
CPU Scheduling 종류
- FCFS (First-Come-First-Served)
- 먼저 들어온 프로세스 먼저 처리하는 스케줄링 기법
- 가장 먼저 들어온 작업이 클 경우 비효율적인 방법 (Convoy Effect)
- CPU 사용시간 예측 가능 - SJF (Shortest-Job-First)
- 가장 빨리 처리되는 프로세스 먼저 처리하는 스케줄링 기법
- wating time이 최소값
- 작업 시간이 오래 걸리는 큰 프로세스의 경우 영원히 처리되지 못할 가능성이 있다.
- CPU 사용시간 예측 불가능 - Priority Scheduling
- 우선순위가 높은 프로세스 먼저 처리하는 스케줄링 기법
- 작은 숫자가 우선순위가 높다.
- SJF도 Priority Scheduling 기법 중 하나
- 기아현상(starvation, 우선순위가 낮은 프로세스는 처리가 안되는 현상)이 발생할 수 있다.
- 해결방법으로, aging방법을 사용한다. (aging, 오래된 프로세스의 우선순위를 높여주는 방법) - RR (Round Robin)
- 일반적으로 쓰이는 스케줄링 기법으로 각 프로세스는 동일한 크기와 할당 시간을 가진다.
- 응답시간(response time)이 빠르다.
- 할당시간을 지나치게 크게하면 FCFS와 동일하게 동작된다.
- 할당시간을 지나치게 작게하면 잦은 Context switch로 인해 오버헤드가 높아져서 성능이 저하된다.
- 할당시간은 일반적으로 10~100ms를 사용한다.
반응형