지노랩 /JinoLab
RTOS vs GPOS: 태스크 스케줄링 관점 비교 본문
1. GPOS(일반 목적 OS)의 스케줄링
- 목표: 가능한 한 많은 프로세스를 최대한 빠르게 처리하여 **높은 처리량(Throughput)**을 달성
- 처리량 = 단위 시간당 완료된 프로세스 수
- 스케줄링 정책: 공정성(fairness)에 방점을 두고, 준비 큐에 있는 여러 태스크를 골고루 배분
- “낮은 우선순위 작업 5–6개를 처리하는 편이,
높은 우선순위 작업 1개만 처리하는 것보다 전체 완료 수가 높다”는 관점 - 따라서 시스템 부하가 높으면, 높은 우선순위 태스크조차도 잠시 대기시키고 일시적으로 낮은 우선순위 태스크를 먼저 처리할 수 있음
- “낮은 우선순위 작업 5–6개를 처리하는 편이,
- 장점: 데스크톱·서버 환경에서 사용자 편의나 배치 작업, 멀티미디어 스트리밍 등 **“전체 처리량”**을 극대화
- 단점:
- 우선순위 보장 없음 → “시급한 고우선순위 작업이 곧바로 실행된다”는 보장이 없다
- 실행 지연(latency)이 예측 불가능해, 실시간 요건(Time‐Critical Deadline) 충족 불가
2. RTOS(실시간 OS)의 스케줄링
- 목표: 모든 태스크의 데드라인(deadline) 준수 보장 → “반드시 정해진 시간 안에 처리”
- 스케줄링 정책: 우선순위 우선 처치(Priority‐Based Preemptive Scheduling)
- 태스크 우선순위가 높을수록 언제든 즉시 실행
- 낮은 우선순위 태스크는 실행 중에도, 더 높은 우선순위 태스크가 “준비 상태(Ready)”가 되면 즉시 선점(Preempt) 당함
- 최상위 우선순위 태스크가 없으면, 그다음 우선순위 태스크가 실행
- 특징:
- “높은 우선순위 태스크 우선 보장” → 시간 결정성(Determinism)을 확보
- 만약 더 높은 우선순위 작업이 출현하면, 그 즉시 CPU 제어권을 넘겨주어 기한 준수를 최우선
- 장점:
- 하드 실시간 요건에서도 예측 가능한 최대 지연 시간(Interrupt Latency, Context Switch Time) 보장
- 태스크 응답 시간(Response Time)이 “거의 일정하게” 유지되어, 기한을 놓치지 않음
- 단점:
- 낮은 우선순위 태스크들은 제출만 해 두고 상당 시간 대기할 수 있음(Starvation 위험)
- 전체 시스템 처리량(Throughput)은 GPOS보다 상대적으로 낮을 수 있음
→ 그러나 대부분 RTOS 환경에서는 “실시간 기한 준수를 위해 태스크 개수 자체가 적음(임베디드 시스템 특성)”
→ 따라서 상대적으로 낮은 부하 하에서도 충분한 처리량을 확보하면서 “시간 결정성”을 달성
3. 요약 비교
항목 GPOS (General-Purpose OS) RTOS (Real-Time OS)
| 주요 목표 | 높은 처리량(Throughput) | 기한 준수(Time-Determinism; Deadline 보장) |
| 스케줄링 정책 | 공정성 기반 스케줄러(Fair-Share, Round-Robin 등) | 우선순위 기반 선점 스케줄러(Higher Priority Preempts) |
| 우선순위 보장 | 없음(고우선순위 작업도 대기될 수 있음) | 항상 보장(더 높은 우선순위 등장 시 즉시 선점) |
| 인터럽트 지연 | 예측 불가, 일시적으로 긴 지연 발생 가능 | 짧고 예측 가능한 최대 지연 시간 보장 |
| 임계 구역(Critical Section) | 길고 복잡해도 허용 | 가능한 한 짧게 유지하여 지연 최소화 |
| 처리량(Throughput) | 매우 높음(다수 태스크 동시 처리에 최적화) | 상대적으로 낮을 수 있으나, 실시간 요구에 최적화(부하 자체가 적음) |
| 사용 예시 | 데스크톱, 스마트폰(일반 앱), 서버, PC 애플리케이션 | 산업용 제어, 항공·자동차 안전 시스템, 의료기기, 로봇 등 실시간 제어 |
4. 결론
- GPOS는 “하루 종일 태스크를 많이 처리하고 싶다”는 목적에 맞춰 처리량 극대화에 주안점을 둔다.
- RTOS는 “정해진 기한에 반드시 결과를 내야 한다”는 시간 결정성이 우선이며, 일반적인 처리량(Throughput)은 다소 희생될 수 있다.
- 임베디드·산업 제어 등 정확한 응답 타이밍 보장이 필요할 때는 반드시 RTOS를 선택해야 한다.
다음 강의: RTOS vs GPOS 간 “지연 시간(Latency)” 상세 비교 및 분석을 다룹니다.
'임베디드 시스템 > RTOS' 카테고리의 다른 글
| 멀티태스킹(Multitasking)이란? (1) | 2025.06.07 |
|---|---|
| RTOS와 GPOS의 우선순위 역전(Priority Inversion) 차이 (4) | 2025.06.07 |
| RTOS vs GPOS: 우선순위 역전(Priority Inversion) 개념 (0) | 2025.06.06 |
| 실시간/범용 OS 비교 및 대표 RTOS (0) | 2025.06.05 |
| 실시간 애플리케이션(Real-Time Application) 핵심 정리 (1) | 2025.06.05 |