제어장치 (CU) - "스케쥴링"
- 프로그램을 실행 -> 프로세스
- 작업을 처리 -> 쓰레드
CPU 잘 사용을 위한 방법
- 공통 배정조건 : 오버헤드 ↓ / 사용률 ↑ / 기아 현상 ↓
- 오버헤드 : 프로세스가 필요한 자원보다 더 많이 사치부리며 사용하지 않도록
- 사용률 : 프로세스가 최대한 자원을 많이받고 빨리 처리하도록
- 기아 현상 : 프로세스가 자원할당을 못받아서 배고픈상태로 대기하지 않도록
스케쥴링 종류
1. Priority Scheduling(우선순위 스케쥴링)
- 우선순위가 낮은 프로세스는 할당되지 않기도 하는데, 이를 기아(Starvation)이라고 부릅니다.
-방지하기 위한 해결법으로는 노화(Aging)이 있는데 기다리는 시간에 따라 우선순위를 증가시켜주는 방식입니다.
2. Round Robin(라운드로빈)
-정해진 시간 할당량 만큼 프로세스를 할당한 뒤, 작업이 끝난 프로세스는 준비완료 큐(순환 큐)의 가장 마지막에 가서 재할당을 기다리는 방법
3. Multilevel-Queue(다단계 큐)
- 준비완료 큐를 여러개의 큐로 분류하여 각 큐가 각각 다른 스케쥴링 알고리즘을 가지는 방식.
비선점 스케쥴링(Non-Preemptive Scheduling)
- 프로세스 종료 or I/O 등 이벤트가 있을 때까지 실행 보장
SJF(Shorted Job First)
- 수행시간이 가장 짧다고 판단되는 작업 먼저 수행
- FCFS 보다 평균 대기 시간 감소, 짧은 작업에 유리
'IT > CS' 카테고리의 다른 글
| [CS] CPU 와 메모리 (0) | 2023.08.17 |
|---|
