티스토리 뷰

728x90
반응형

Real Time System을 공부하다보면, Scheduler라는 걸 학습하게 된다.

이것은 왜 필요하게 되었을까?

 

자원은 한정되어 있고, 요청은 많아지기 때문에

CPU, Memory, Bus 등 시스템 자원은 유한하다. 

동시에 여러 작업이 실행을 요구하는 상황에서, "누가 먼저, 얼마나 오래 실행되는가?"를 정할 필요가 있다.

이것이 바로 Scheduling 문제의 본질이다.

 

 Scheduler 진화 배경

시대 시스템 구조 스케줄링 필요성 해결책
1950s 단일 프로세스 없음 (순차적 실행) 수동 제어
1960s Multiprogramming 등장 CPU idle 줄이기 위해 Task 전환 필요 Round Robin, FCFS 등
1970s Real-Time OS 등장 Task마다 데드라인 생김 Rate Monotonic, EDF
2000s~ Multicore, MCS 시스템 등장 자원 공유, 임계도 분리 필요 Partitioned,
Global,
Hierarchical Scheduler
오늘날 Safety-critical + Predictability Determinism & Isolation 요구 Time-triggered,
Budget-aware,
Mixed-Criticality aware Scheduler

 

Scheduler가 해결하려는 핵심 문제들

문제 설명
동시성 여러 Task가 동시에 실행 요구
우선순위 어떤 작업이 더 중요하거나 급함
자원 공유 Spinlock, 버스, 메모리 등 경쟁
데드라인 Real-Time Task의 마감시간
간섭 제어 하나의 Task가 다른 Task에 영향 주지 않도록 함

 

Scheduler는 시스템 자원이 여러 Task에 의해 요청될 때, 누가 언제, 어떻게 실행될 지를 결정하는 핵심 제어기 (Control Policy)이다.

 

728x90
반응형
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
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
글 보관함