지노랩 /JinoLab

RTOS vs GPOS: 태스크 스케줄링 관점 비교 본문

임베디드 시스템/RTOS

RTOS vs GPOS: 태스크 스케줄링 관점 비교

지노랩/JinoLab 2025. 6. 6. 09:34

 

1. GPOS(일반 목적 OS)의 스케줄링

  • 목표: 가능한 한 많은 프로세스를 최대한 빠르게 처리하여 **높은 처리량(Throughput)**을 달성
    • 처리량 = 단위 시간당 완료된 프로세스 수
  • 스케줄링 정책: 공정성(fairness)에 방점을 두고, 준비 큐에 있는 여러 태스크를 골고루 배분
    • “낮은 우선순위 작업 5–6개를 처리하는 편이,
      높은 우선순위 작업 1개만 처리하는 것보다 전체 완료 수가 높다”는 관점
    • 따라서 시스템 부하가 높으면, 높은 우선순위 태스크조차도 잠시 대기시키고 일시적으로 낮은 우선순위 태스크를 먼저 처리할 수 있음
  • 장점: 데스크톱·서버 환경에서 사용자 편의나 배치 작업, 멀티미디어 스트리밍 등 **“전체 처리량”**을 극대화
  • 단점:
    • 우선순위 보장 없음 → “시급한 고우선순위 작업이 곧바로 실행된다”는 보장이 없다
    • 실행 지연(latency)이 예측 불가능해, 실시간 요건(Time‐Critical Deadline) 충족 불가

2. RTOS(실시간 OS)의 스케줄링

  • 목표: 모든 태스크의 데드라인(deadline) 준수 보장 → “반드시 정해진 시간 안에 처리”
  • 스케줄링 정책: 우선순위 우선 처치(Priority‐Based Preemptive Scheduling)
    1. 태스크 우선순위가 높을수록 언제든 즉시 실행
    2. 낮은 우선순위 태스크는 실행 중에도, 더 높은 우선순위 태스크가 “준비 상태(Ready)”가 되면 즉시 선점(Preempt) 당함
    3. 최상위 우선순위 태스크가 없으면, 그다음 우선순위 태스크가 실행
  • 특징:
    • “높은 우선순위 태스크 우선 보장” → 시간 결정성(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)” 상세 비교 및 분석을 다룹니다.