야무지게 알아보자
burst : 실행중인 상태
cpu burst 상태면 현재 running 상태다. I/O burst 면 waiting
CPU와 I/O가 돌아가면서 수행된다.
스케줄링 기준
- CPU utilization
: cpu 사용률 - Throughput
: cpu가 단위 시간당 처리하는 프로세스의 개수 - Turnaround time
: 프로세스가 시작해서 끝날 때까지 걸리는 시간 - Waiting time
: 프로세스가 ready queue에서 기다리는 시간 - Response time
: 대화식 시스템에서 요청 후 응답이 오기까지 시간
cpu-bound , i/o bound
프로그램에 따라 cpu와 i/o burst time 비율이 다르다.
우리가 쓰는 대부분 프로그램은 i/o bound process이다.
dispatch : scheduler가 선택한 프로세스를 cpu에 올리는 작업
Non-preemptive, preemptive : 우선순위, 중요도 기분으로 스케쥴링하면 선점, 아니면 비선점 방식
요즘은 다 preemptive 쓴다.
starvation : 스케쥴러에 의해 선택받지 못하고 계속 ready상태에 머무는것
'학교공부 > 운영체제' 카테고리의 다른 글
Memory Management Starategies (0) | 2020.05.20 |
---|---|
Deadlock (0) | 2020.05.15 |
Synchronization (0) | 2020.05.09 |
Process Scheduling - 2 (0) | 2020.05.01 |
동기/비동기/차단/비차단 (0) | 2020.04.26 |