티스토리 뷰
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
반응형
'Study > Real Time Systems' 카테고리의 다른 글
Priority-Driven Scheduling of Periodic Tasks (Dynamic Priority) - 2 (1) | 2025.06.08 |
---|---|
Priority-Driven Scheduling of Periodic Tasks (Dynamic Priority) - 1 (1) | 2025.06.08 |
RTS 환경 하에 Mutex, Semaphore 그리고 Spinlock 비교 (0) | 2025.04.22 |
Reference Model (0) | 2025.04.20 |
Monolithic Design Approach (0) | 2025.04.19 |
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 오토사
- 자동차sw
- 토플 라이팅
- 암호화폐
- AWS
- backtrader
- 자동매매
- GeorgiaTech
- 확률
- python
- realtimesystem
- 블록체인
- 임베디드
- 클라우드
- 파이썬
- toefl writing
- 토플
- 실시간시스템
- AUTOSAR
- 퀀트
- 백트레이더
- 비트코인
- TOEFL
- 개발자
- it
- probability
- 아마존 웹 서비스
- 프로그래밍
- can
- Cloud
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함