728x90
T 반환시간 = T 끝난시간 - T 도착시간
T 반응시간 = T 실행 시작 시간 - T 도착시간
FIFO (먼저 온 애부터)
처음 온 애부터 처리함
SJF (최단 시간)
반환 시간 관점에서 제일 좋은 성능임
그러나, 도착 시간이 다르다면 ?
T response 응답시간
63.33sec
T turnarround 반환 시간
103.33sec
STCF (최소 잔여 시간 우선)
SJF에 선점 기능 추가됨
선점기능은 Context Switch 필요함
→ 새로운 작업이 들어오면, 실행 중인 것과 비교해서 더 작은 애 부터 시작함
→ 진행중인 작업 종료 시, 남은 작업 중 실행시간이 제일 짧은 것부터 시작
반환 시간 | 응답 시간
반응시간
- 웹서버/DB에서 중요하게 생각
응답시간
- 시분할 시스템의 경우 중요함
- 작업이 도착해서 처음 실행될때까지 시간
라운드 로빈 스케줄링 (RR)
하나의 작업은 하나의 Time Slice만큼 수행,
이후 다른 작업과 교환되어 실행 큐로 이동함
타임 슬라이스 = 프로세스가 연속으로 수행되는 일정 시간
RR과 SJF 비교, (타임슬라이스 = 1sec)
R-R
- T response: (0+1+2)/3 = 1sec
- T turnarround: (13+14+15)/3 = 14
SJF
- T response: (0+5+10)/3 = 5sec
- T turnarround: (5+10+15)/3 = 10
반환시간은 SJF가 더 뛰어남
그러나 시분할 시스템에서는 응답시간이 더 중요하게 여겨짐
타임 슬라이스 길이에 따른 변화
- 짧은 경우
- 반응 시간 면에서 좋음
- Context Switch 횟수가 증가함, 성능 및 효율 저하
- 긴 경우
- Context Switch는 짧게 함
- 응답시간 면에서 나쁨
Incorporating I/O
모두 입출력을 수행하는 경우
인터럽트를 제공한다면 Blocked 상태가 됨
Blocked에 들어가면 프로세스 A가 I/O 작업하는 동안 B가 CPU 점유 가능
정리
- SJF, STCF
- 반환시간에는 최적화
- 응답시간에는 최악임
- RR
- 위와 반대,
'Computer Science > Operating System' 카테고리의 다른 글
[OS] Proportional Share (비례 배분) (0) | 2024.05.04 |
---|---|
[OS] MLFQ (Multi-Level Feedback Queue) (0) | 2024.05.03 |
[OS] Limited Direct Execution (1) | 2024.05.01 |
[OS] 프로세스 API in POSIX (0) | 2024.04.30 |
[OS] 프로세스 개요 (0) | 2024.04.29 |