티스토리 뷰
배치 시스템에서 사용되는 스케쥴링 알고리즘들
First Come First Served 알고리즘
1개의 레디 큐 존재
비선점형 방식(프로세스에 할당된 cpu를 자발적으로 내놓을때까지 뺏을수없다.)
실행중인 프로세스가 블락되면 큐의 맨앞 프로세스가 실행 되고 블락된 프로세스가 다시 레디상태가 되면 큐의 맨 뒤로 이동된다.
이해하기 쉽고 구현하기 간단한 알고리즘
Shortest Job First 알고리즘
비선점형 방식
프로세스의 실행시간이 미리 알려져있어야함. 최적의 평균 turnaround time(모든 job이 동시에 제출되어야 한다는 조건!!)
모든 job이 동시에 제출된다고 가정했을때 turnaround time이 적은것부터 처리하는게 모든 프로세스를 가장 빠른 시간에 처리할수있다.
하지만 이 가정이 깨졌을때는 turnaround time이 적은것부터 처리하는게 더 느릴 수도 있다.
A B C D E
RUNTIME 2 4 1 1 1
Arrive time 0 0 3 3 3 SJF이 적용됬을때
실행순서 A,B,C,D,E일때 Average Turnaround Time(ATT) = (2+6+4+5+6)/5 = 4.6
A B C D E
RUNTIME 2 4 1 1 1
Arrive time 0 0 3 3 3 SJF이 적용안됬을때
실행순서 B,C,D,E,A일때 Average Turnaround Time(ATT) = (4+2+3+4+9)/5 = 4.4
Shortest Remaining Time Next
SJF의 선점형 버전이다.(프로세스의 cpu를 뺏음)
새로 큐에 들어온 프로세스의 런타임이 현재 실행중인 프로세스의 남은 수행시간보다 적을경우 현재 실행중인 프로세스는 중지되고 새로운 잡이 시작된다.(선점형 방식)
즉 잔여실행시간이 제일 적은것부터 실행시킨다.
'컴퓨터 공학과 졸업 > 운영체제' 카테고리의 다른 글
Scheduling in Interactive Systems - 2 (0) | 2017.10.13 |
---|---|
Scheduling in Interactive Systems (0) | 2017.10.13 |
스케쥴링 (0) | 2017.10.13 |
식사하는 철학자 문제(이진세마포어,계수세마포어,동기화,임계구역문제) (3) | 2017.09.28 |
세마포어와 모니터 (2) | 2017.09.27 |
- Total
- Today
- Yesterday
- rendering scope
- await
- atomic design
- mobx
- design system
- Next.js
- typescript
- es6
- storybook
- promise
- reducer
- props
- webpack
- react
- react hooks
- return type
- async
- reactdom
- server side rendering
- computed
- Babel
- Polyfill
- useEffect
- state
- hydrate
- Action
- useRef
- type alias
- reflow
- javascript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |