Types of Scheduling
- Long-term scheduling : New 상태에 있는 프로그램들 중에 누굴 memory에 올릴지 결정
- Medium-term scheduling : suuspended 상태에 있는 프로그램들 중에 누굴 올릴지 결정
- Short-term scheduling : ready 상태에 있는 프로그램들 중에 누굴 올릴지 결정
Scheduler가 발생할 때
1. 누가 와서 내 프로세스를 뺏어갈 때 (preemptive), ready상태로 감.
2. 내가 자발적으로 프로세스 놓음 (nonpreemptive), blocked 상태로 감.
Scheduling 기준
- CPU utilization : CPU가 얼마나 바쁘게 일하는지
- Turnaround time : 프로그램을 실행시켜서 끝날때까지 시간
- Response time : 반응할때 까지 시간
- Waiting time : ready 큐에서 기다린 시간의 합
First-Come-First-Seved
ready큐에 가장 오래 기다린 process가 선택된다. CPU-bound process (I/O보다 연산의 비중이 높은 프로세스)에 유리하다. nonpreemptive scheduling algorithm.
Round-Robin
time-sharing system 과 비슷하다. clock에 기반한 preemption
Shortest Process Next
실행시간이 짧은 거 먼저 실행 (프로세스 실행 시간을 다 알고 있어야 함). 우선순위 기반.
Shortest Remaining Time First
남은 시간이 짧을 수록 먼저 실행 (이것도 실행시간을 추정해야 함). 우선순위 기반.
'STUDY > 운영체제' 카테고리의 다른 글
[2019.07.03] Page Replacement (0) | 2019.07.03 |
---|---|
[2019.07.02] Virtual Memory (0) | 2019.07.02 |
[2019.07.01] Memory Management (0) | 2019.07.01 |
[2019.06.28] Concurrency : Deadlock and Starvation (0) | 2019.06.28 |
[2019.06.27] Concurrency : Mutual Exclusion and Synchronization (0) | 2019.06.27 |