본문 바로가기
프로그래밍/운영체제

[운영체제] Real-time CPU Scheduling

by 강민재02 2024. 7. 23.
728x90

Real-time OS에서 가장 중요한 일은 시간 안에 작업을 수행하여 즉각적으로 반응하는 것입니다.

이로 인해, Real-time OS에서는 deadline내에 모든 작업을 수행하기 위해서 선점형 우선순위 기반 스케쥴링을 합니다.

 

Real-time OS의 프로세스의 새로운 특징

주기성(periodic) : 주기적으로 반복되어 실행됨 

processing time (t) : CPU 사용 시간

deadline (d) : 마감 시간

period (p) : 반복 주기

t <= d <= p의 관계를 가짐

 

Rate Montonic Scheduling

선점형 우선순위 기반 스케쥴링 방법이며,

CPU burst time이 짧을 수록 높은 우선순위를 가지는 스케쥴링 방법입니다.

deadline 내에 실행되지 못한 작업은 다음 주기에 그 작업을 완료합니다.

 

문제점

작업이 증가할 수록 CPU 사용량이 69%에 근사한다.

 

Earliest Deadline First Scheduling

이론적으로 최적의 선점형 우선순위 기반스케쥴링 방법이며,

Deadline에 가까운 작업일 수록 높은 우선순위를 가지는 스케쥴링 방법입니다.

Scheduler는 각 작업에 대해 남은 Deadline만 알면되어 구현이 간단합니다.

context-switch overhead가 있어 불가능 하지만, 이론적으로는 CPU 사용량이 100%에 도달할 수 있습니다.

728x90

'프로그래밍 > 운영체제' 카테고리의 다른 글

[운영체제] Synchronization Examples  (0) 2024.08.11
[운영체제] Synchronization  (0) 2024.08.02
[운영체제] Multiprocessor Scheduling  (0) 2024.07.23
[운영체제] CPU Scheduling  (1) 2024.07.20