본문 바로가기

STUDY/운영체제

[2019.07.04] Uniprocessor Scheduling

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
 남은 시간이 짧을 수록 먼저 실행 (이것도 실행시간을 추정해야 함). 우선순위 기반.