일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 그리디
- BFS
- MYSQL
- DP
- 딕셔너리
- python
- level3
- 가상메모리
- 운영체제
- 다익스트라
- 다이나믹 프로그래밍
- 백준
- 파이썬
- 가상메모리 관리
- 힙
- level1
- programmers
- 브루트포스
- 수학
- dict
- 구현
- level0
- dfs
- level2
- N과M
- 프로그래머스
- BOJ
- 스택
- 코딩테스트
- 재귀
- Today
- Total
동캄의 코딩도장
운영체제 [프로세스 스케줄링 기법] 본문
FCFS(First Come First Service)
- 먼저 도착한 프로세스를 먼저 처리 (선입선출)
- batch 시스템에 적합
장점: 자원을 효율적으로 사용 가능
단점: convoy effect (긴 프로세스를 위해 다른 프로세스 또한 긴 시간을 대기), 긴 평균 응답시간
RR(Round-Robin)
- 자원 사용 제한 시간 존재
- 프로세스는 할당된 시간이 지나면 자원 반납
- Context switch overhead가 큼
- 대화형, 시분할 시스템에 적합
- 제한시간(time quantum)에 따라 성능 변화
SPN(Shortest-Process-Next)
- 실행시간 기준
- Burst time 가장 작은 프로세스를 먼저 처리
-장점
평균 대기시간 최소화,
시스템 내 프로세스 수 최소화--> 메모리 절약, 스케줄링 부하 감소---> 시스템 효율 향상
많은 프로세스들에게 빠른 응답 시간 제공
-단점
Starvation(기아) 현상 발생
정확한 실행시간을 알 수 없음
SRTN(Shortest Remaining Time Next)
- SPN의 변형
- 잔여 실행 시간이 더 적은 프로세스가 선점
장점: SPN의 장점 극대화
단점: 총 실행 시간 예측, 잔여 실행시간 계속 추적, 잦은 context-switching 으로 overhead가 큼
HRRN(High-Response-Ratio-Next)
- SPN의 변형
- Aging concepts: 프로세스의 대기시간을 고려하여 기회를 제공
- Response ratio를 기준으로 할당, Response ratio= ( WT+BT)/BT
장점: SPN의 장점+starvation 방지
단점: 실행시간 예측 기법 필요--> overhead가 큼
MLQ(Multi-level Queue)
- 작업(or 우선순위)별 별도의 ready queue를 가짐 (최초 배정 된 queue 변경x, 각각의 queue는 자신만의 스케줄링 기법 사용)
- Queue 사이에는 우선순위 기반의 스케줄링 사용
장점: 우선순위에 따른 빠른 응답시간
단점: 여러개의 Queue 관리 등 스케줄링 overhead, 낮은 우선순위 queue는 starvation 현상 발생가능
MFQ(Multi-level Feedback Queue)
- 프로세스의 Queue간 이동 허용
- Feedback을 통해 우선 선위 조정
장점: 실행시간 예측 필요x
단점: 설계 및 구현이 복잡, 스케줄링 overhead가 큼, starvation 현상 발생
'CS > 운영체제' 카테고리의 다른 글
운영체제 [동기화 -HW solution] (0) | 2022.01.18 |
---|---|
운영체제 [동기화 - SW solution] (0) | 2022.01.17 |
운영체제 [프로세스 스케줄링] (0) | 2022.01.17 |
운영체제 [스레드] (0) | 2022.01.15 |
운영체제 [프로세스] (0) | 2022.01.15 |