포스트

임베디드 스터디 - 스케줄링 기초, 선점/비선점, 성능 척도

임베디드 스터디 - 스케줄링 기초, 선점/비선점, 성능 척도

선점형 vs 비선점형 스케줄링

구분설명예시
선점형OS가 실행 중인 프로세스에서 강제로 CPU 회수 가능Linux, Windows, FreeRTOS
비선점형프로세스가 자발적으로 CPU를 양보할 때까지 대기초기 Windows 3.x, MS-DOS
  • 비선점형에서는 무한루프 프로세스 하나가 시스템 전체를 멈출 수 있음
  • FreeRTOS에서 vTaskDelay()를 사용하는 이유 : 명시적으로 양보하여 다른 태스크 실행 기회 부여

스케줄링 성능 척도 (Criteria)

스케줄러가 잘 동작하는지 측정하는 5가지 지표

CPU 이용률 (CPU Utilization)

  • CPU가 전체 시간 중 실제로 일한 비율
  • 이상적으로는 100%에 가깝게, 실제 목표는 70~90% 수준
  • 목표 : 프로세스 지연 없이 최대의 이용률 유지

처리량 (Throughput)

  • 단위 시간당 완료된 프로세스의 수
  • CPU 이용률이 높아도 처리량이 낮을 수 있음 (예: 대용량 행렬 연산 등 단일 프로세스 장시간 실행)
  • 목표 : 완료 프로세스의 최대화

시간 관련 척도

1
2
3
4
5
6
프로세스 도착        첫 CPU 할당      뺏김    다시 실행     완료
     ↓                   ↓             ↓          ↓          ↓
─────●───────────────────●─────────────●──────────●──────────●─────
     │←──── 응답시간 ─────→│                                   │
     │←────────────────── 반환시간 ───────────────────────────→│
     │  대기시간 = 반환시간 - 실제 실행시간(CPU 점유 구간 합)
척도의미목표
반환시간 (Turnaround Time)도착 → 완료까지 전체 시간최소화
대기시간 (Waiting Time)Ready Queue 대기 시간의 누적 합산최소화
응답시간 (Response Time)도착 → 첫 CPU 할당까지 일회성 시간최소화
  • 응답 시간과 대기 시간의 차이
    • 응답시간 : 도착 → 첫 번째 CPU 할당까지 (1회, 고정) → 인터랙티브 앱에서 중요
    • 대기시간 : Ready Queue에서 기다린 시간의 (누적 합산) → 배치 작업에서 중요

비교 요약

척도의미목표
CPU 이용률CPU가 실제로 일한 비율최대화
처리량단위 시간당 완료된 프로세스 수최대화
반환시간도착 → 완료까지 전체 시간최소화
대기시간Ready Queue 대기 시간 누적 합산최소화
응답시간도착 → 첫 CPU 할당까지 (1회)최소화
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.