정의

실시간 운영체제(RTOS)는 논리적으로 옳은 결과를 내는 데 더해 데드라인까지 지켜야 하는 응용을 떠받치는 운영체제다.[1]

실시간 시스템에서 시간적 정확성은 응용 코드만으로 얻어지지 않는다. 여러 일이 동시에 진행되고 그중 일부만 급할 때, 어느 일에 프로세서를 줄지 매 순간 정하는 주체가 필요하기 때문이다. RTOS는 그 주체를 응용에서 떼어 내 커널 쪽에 둔다.

hard 실시간 시스템은 대부분 멀티태스킹이고, 여러 태스크 중 어느 하나에 프로세서를 넘길지는 RTOS 안의 스케줄러가 결정한다.[2] 응용 개발자가 하는 일은 실행 순서를 손으로 엮는 것이 아니라, 일을 태스크로 쪼개고 각 태스크가 언제 실행 가능해지는지와 얼마나 급한지를 선언하는 쪽으로 옮겨 간다.

커널이 맡는 일

RTOS에 요구되는 성질 목록은 범용 운영체제의 그것과 다르다. 데드라인을 맞출 수 있는 스케줄링 능력, 외부 하드웨어를 붙이기 쉬운 구조, 오류 복구, 낮은 태스크 전환 지연, 작은 메모리 풋프린트와 낮은 오버헤드가 앞자리에 온다.[1] 목록의 앞자리를 처리량이 아니라 지연과 크기가 차지한다는 점이 이 계열의 성격을 보여 준다.

커널이 제공하는 서비스도 이 목적에 맞춰져 있다. OSEK OS 규격은 태스크의 활성화와 종료, 태스크 상태 관리와 전환을 태스크 관리 서비스군으로 묶고, 그 옆에 동기화·인터럽트 관리·알람·오류 처리를 나란히 둔다.[3] 태스크가 어떤 상태를 오가는지는 OSEK 태스크에서, 주기적 활성화를 만들어 내는 장치는 OSEK 알람에서 다룬다.

superloop 펌웨어와의 대비

RTOS 없이 실시간 응용을 만드는 것도 얼마든지 가능하다. 하나 이상의 작업을 루프 안에서 차례로 실행하면 된다. 다만 이렇게 하면 스케줄링·유지보수·타이밍에서 여러 문제가 생기고, RTOS는 CPU와 메모리 같은 자원을 유연하게 스케줄링하고 스레드 사이의 통신 수단을 제공해 그 문제들을 더 낫게 푼다.[4]

두 방식의 차이는 실행 순서를 무엇이 정하느냐로 압축된다. 초기화 뒤 무한 루프에서 모든 일을 차례로 호출하는 펌웨어에서 순서는 루프 안에 적힌 호출 순서 그대로다. RTOS에서는 스케줄러가 우선순위를 보고 그때그때 정한다.[2] 어떤 규칙으로 정하는지 — 고정 우선순위인지, 데드라인이 가까운 순인지 — 는 실시간 스케줄링 알고리즘에서 다룬다.

주기라는 개념이 생기는 자리도 여기다. 루프 방식에서 어떤 일의 실행 간격은 루프 한 바퀴에 걸리는 시간의 부산물이지만, RTOS는 주기적 활성화를 커널 서비스로 제공한다 — OSEK OS의 알람은 단발과 주기 중 하나로 정의할 수 있고, 만료 시점에 태스크를 활성화하거나 이벤트를 세우거나 콜백을 부른다.[3] 이렇게 선언된 주기가 주기 태스크 모델의 출발점이 된다.

차량 안의 운영체제 스펙트럼

한 대의 차량 안에서도 계층에 따라 운영체제의 성격이 갈린다. AUTOSAR가 두 플랫폼을 갈라 둔 것이 그 스펙트럼을 가장 또렷하게 보여 준다.

한쪽 끝은 제어계 ECU다. AUTOSAR는 입력 신호를 받아 전기 출력 신호를 제어하는 소프트웨어가 도는, 깊이 임베디드된 ECU를 Classic 플랫폼의 대상으로 잡는다. 반대쪽 끝에는 환경 인지나 거동 계획처럼 고성능 컴퓨팅과 통신이 필요한 기능이 있고, 이쪽을 맡는 Adaptive 플랫폼의 응용은 POSIX의 단일 프로세스 프로파일인 PSE51 인터페이스로 제한된다.[5] 두 플랫폼의 구분은 AUTOSAR에서 다룬다.

스펙트럼의 아래쪽 바깥에는 운영체제를 아예 두지 않는 구성이 있다. 반도체 벤더는 자동차용으로 인증된 제어용 MCU를 내놓으면서[6] 그 MCU를 위한 공식 SDK에 RTOS 없이 도는 실행 환경을 정식 지원 형태의 하나로 넣어 둔다 — 이 환경에는 태스크라는 개념 자체가 없어 태스크 API를 쓸 수 없고, 타이머와 ISR과 main 스레드만으로 그 위의 응용이 bare-metal로 동작한다.[7] 다른 벤더의 공식 코드 예제도 저수준 드라이버 기반과 bare-metal 구현을 나란히 갈래로 두고 있다.[8]

제어계 쪽 커널의 계보는 한 줄로 이어진다. AUTOSAR의 운영체제 규격은 ISO 17356-3을 AUTOSAR OS의 기반으로 삼고, OSEK OS용으로 작성된 응용이 AUTOSAR OS 위에서 동작하도록 API 하위 호환을 요구한다.[9] 그 기반이 된 규격은 OSEK/VDX이고, 확장된 쪽은 AUTOSAR OS다.

[1]
S. Baskiyar and N. Meghanathan, “A Survey of Contemporary Real-time Operating Systems,” Informatica, vol. 29, pp. 233–240, 2005, Accessed: Aug. 26, 2026. [Online]. Available: https://www.eng.auburn.edu/~baskiyar/MyArticles/Survey-of-RTOS-Informatica.pdf
[2]
R. I. Davis, L. Cucu-Grosjean, M. Bertogna, and A. Burns, “A Review of Priority Assignment in Real-Time Systems,” Journal of Systems Architecture, vol. 65, pp. 64–82, 2016, doi: 10.1016/j.sysarc.2016.04.002.
[3]
OSEK/VDX Steering Committee, “OSEK/VDX Operating System, Version 2.2.3,” OSEK/VDX Steering Committee, Specification, Feb. 2005. Accessed: Aug. 26, 2026. [Online]. Available: https://www.irisa.fr/alf/downloads/puaut/TPNXT/images/os223.pdf
[4]
Arm Limited, “CMSIS-RTOS Documentation.” 2026. Accessed: Aug. 26, 2026. [Online]. Available: https://arm-software.github.io/CMSIS_5/RTOS/html/index.html
[5]
AUTOSAR, “Explanation of Adaptive Platform Design,” AUTOSAR, Explanatory document, 2025. Accessed: Aug. 26, 2026. [Online]. Available: https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_EXP_PlatformDesign.pdf
[6]
Texas Instruments, “AM2634-Q1: Automotive 400-MHz quad-core Arm Cortex-R5F MCU with real-time control and security.” Product page, 2026. Accessed: Aug. 26, 2026. [Online]. Available: https://www.ti.com/product/AM2634-Q1
[7]
Texas Instruments, “AM263x MCU+ SDK: NO RTOS.” MCU+ SDK API guide, version 26.00.00, 2026. Accessed: Aug. 26, 2026. [Online]. Available: https://software-dl.ti.com/mcu-plus-sdk/esd/AM263X/latest/exports/docs/api_guide_am263x/KERNEL_NORTOS_PAGE.html
[8]
Infineon Technologies, “AURIX code examples.” GitHub repository, 2026. Accessed: Aug. 26, 2026. [Online]. Available: https://github.com/Infineon/AURIX_code_examples
[9]
AUTOSAR, “Specification of Operating System,” AUTOSAR, Software specification, 2025. Accessed: Aug. 26, 2026. [Online]. Available: https://www.autosar.org/fileadmin/standards/R25-11/CP/AUTOSAR_CP_SWS_OS.pdf