Brain
Science
root
/
학습 노트
/
Study Note
/
2: 운영체제 (Operating System)
/
3. CPU 스케줄링 알고리즘
3. CPU 스케줄링 알고리즘
161. 단기 스케줄러 (Short-term Scheduler) / CPU 스케줄러
2026-03-22
162. 중기 스케줄러 (Medium-term Scheduler) - 스와핑 (Swapping)
2026-03-22
163. 장기 스케줄러 (Long-term Scheduler) - 다중 프로그래밍 정도 조절
2026-03-22
164. I/O 바운드 프로세스 (I/O Bound Process)
2026-03-22
165. CPU 바운드 프로세스 (CPU Bound Process)
2026-03-22
166. 선점형 스케줄링 (Preemptive Scheduling)
2026-03-22
167. 비선점형 스케줄링 (Non-preemptive Scheduling)
2026-03-22
168. 디스패처 (Dispatcher) - 문맥 교환 수행 모듈
2026-03-22
169. 디스패치 지연 (Dispatch Latency)
2026-03-22
170. 스케줄링 기준 (Scheduling Criteria) - CPU 이용률, 처리량, 반환시간, 대기시간, 응답시간
2026-03-22
171. CPU 이용률 (CPU Utilization) / 처리량 (Throughput)
2026-03-22
172. 반환 시간 (Turnaround Time) / 대기 시간 (Waiting Time) / 응답 시간 (Response Time)
2026-03-22
173. FCFS (First-Come, First-Served) 스케줄링 - 비선점
2026-03-22
174. 호위 효과 (Convoy Effect) - FCFS의 단점
2026-03-22
175. SJF (Shortest Job First) 스케줄링 - 최적의 평균 대기 시간
2026-03-22
176. 지수 평균법 (Exponential Averaging) - 다음 CPU 버스트 길이 예측
2026-03-22
177. SRTF (Shortest Remaining Time First) 스케줄링 - SJF의 선점형 버전
2026-03-22
178. 라운드 로빈 (Round Robin, RR) 스케줄링 - 시분할 시스템, 선점형
2026-03-22
179. 시간 할당량 (Time Quantum / Time Slice) 의 크기와 문맥 교환 오버헤드
2026-03-22
180. 우선순위 스케줄링 (Priority Scheduling) - 무한 대기 문제 발생 가능
2026-03-22
181. 기아 상태 (Starvation / Indefinite Blocking)
2026-03-22
182. 노화 (Aging) - 기아 상태 해결책 (우선순위 점진적 상승)
2026-03-22
183. 다단계 큐 스케줄링 (Multilevel Queue Scheduling)
2026-03-22
184. 큐 간 스케줄링 (고정 우선순위 vs 시간 할당)
2026-03-22
185. 다단계 피드백 큐 스케줄링 (Multilevel Feedback Queue, MLFQ) - 프로세스의 큐 이동 허용
2026-03-22
186. MLFQ 파라미터 - 큐의 개수, 알고리즘, 승급/강등 기준
2026-03-22
187. HRN (Highest Response Ratio Next) 스케줄링 - (대기시간+서비스시간)/서비스시간
2026-03-22
188. 보장 스케줄링 (Guaranteed Scheduling)
2026-03-22
189. 복권 스케줄링 (Lottery Scheduling) - 확률적 스케줄링
2026-03-22
190. 공평 몫 스케줄링 (Fair-share Scheduling)
2026-03-22
191. 스레드 스케줄링 - 프로세스 경쟁 범위(PCS) vs 시스템 경쟁 범위(SCS)
2026-03-22
192. LWP 디스패치
2026-03-22
193. 다중 처리기 스케줄링 (Multiprocessor Scheduling)
2026-03-22
194. 비대칭 다중 처리 (ASMP) 스케줄링
2026-03-22
195. 대칭 다중 처리 (SMP) 스케줄링
2026-03-22
196. 부하 균등화 (Load Balancing) - Push Migration vs Pull Migration
2026-03-22
197. 프로세서 친화성 (Processor Affinity) - 캐시 최적화
2026-03-22
198. 멀티코어 스케줄링 (Multicore Scheduling) - 메모리 스톨 (Memory Stall) 대응
2026-03-22
199. 하이퍼스레딩 (Hyper-threading) / SMT (Simultaneous Multithreading) 스케줄링
2026-03-22
200. 이기종 다중 처리기 스케줄링 (HMP) - ARM big.LITTLE 구조
2026-03-22
201. 실시간 스케줄링 (Real-time Scheduling)
2026-03-22
202. 연성 실시간 (Soft Real-time) 시스템
2026-03-22
203. 경성 실시간 (Hard Real-time) 시스템
2026-03-22
204. 지연 시간 (Latency) - 인터럽트 지연 (Interrupt Latency) + 디스패치 지연 (Dispatch Latency)
2026-03-22
205. 주기적 태스크 (Periodic Task) - 주기(p), 마감시간(d), 실행시간(t)
2026-03-22
206. RM (Rate-Monotonic) 스케줄링 - 주기가 짧을수록 높은 우선순위 (정적 우선순위)
2026-03-22
207. EDF (Earliest Deadline First) 스케줄링 - 마감시간이 빠를수록 높은 우선순위 (동적 우선순위)
2026-03-22
208. 비례 배분 스케줄링 (Proportionate Share Scheduling)
2026-03-22
209. POSIX 스케줄링 API - SCHED_FIFO, SCHED_RR, SCHED_OTHER
2026-03-22
210. 리눅스 O(1) 스케줄러 - 두 개의 배열 (Active, Expired)
2026-03-22
211. 리눅스 CFS (Completely Fair Scheduler) - 가상 실행 시간 (vruntime) 기반, 레드-블랙 트리 사용
2026-03-22
212. 대상 지연 시간 (Target Latency) / 최소 입자 (Minimum Granularity)
2026-03-22
213. 윈도우 스케줄링 - 디스패처 (Dispatcher), 우선순위 기반 선점형, 32단계 우선순위
2026-03-22
214. 동적 우선순위 승급 (Priority Boost) - I/O 완료 시, GUI 전경 프로세스
2026-03-22
215. 태스크 스케줄링의 캐시 일관성 (Cache Coherence) 문제
2026-03-22
216. 에너지 인지 스케줄링 (Energy-Aware Scheduling, EAS)
2026-03-22
217. 코-스케줄링 (Co-scheduling / Gang Scheduling) - 밀접한 스레드 동시 스케줄링
2026-03-22
218. 컨테이너 스케줄링 (cgroups cpu.shares, cpu.cfs_quota_us)
2026-03-22
219. 실시간 리눅스 (PREEMPT_RT 패치)
2026-03-22
220. 무중단 라이브 마이그레이션 스케줄링 고려사항
2026-03-22