정의

실시간 시스템(real-time system)은 출력의 논리적 정확성과 그 출력이 제때 나왔는지를 함께 따져야 정확성이 성립하는 시스템이다. 응답 시간 제약을 만족하지 못하면 실패를 포함한 심각한 결과를 각오해야 한다.[1]

일반적인 계산에서 정확성은 값 하나로 판정된다. 입력이 주어지면 정해진 출력이 나와야 하고, 그 출력이 언제 나왔는지는 성능의 문제이지 정확성의 문제가 아니다. 실시간 시스템은 여기에 축을 하나 더한다. 옳은 값이라도 정해진 시각을 넘겨 도착하면 틀린 것으로 취급된다.

두 축을 각각 기능적 정확성(functional correctness)과 시간적 정확성(temporal correctness)이라 부른다. 자극이나 입력에 맞는 응답·출력을 내놓는 것이 앞의 축이고, 그것을 정해진 시간 제약 안에 해내는 것이 뒤의 축이다.[2] 시간적 정확성은 처리량이나 평균 속도로 대신 표현되지 않는다 — 판정의 대상은 개별 응답 하나하나가 제 시각 안에 들어왔는가이기 때문이다.

시간 제약과 데드라인

시간 제약은 대개 자극에서 그에 대응하는 응답까지 흐른 시간에 걸리는 데드라인으로 표현된다.[2] 그래서 실시간 설계의 출발점은 “얼마나 빠른가”가 아니라 “어느 지점부터 어느 지점까지, 얼마 안에”를 정하는 일이 된다. 데드라인의 종류와 그 유형이 설계에 미치는 영향은 데드라인에서 다룬다.

데드라인을 지킬 수 있는지 따지려면 각 작업이 최악의 경우 얼마나 오래 프로세서를 잡는지를 알아야 하고, 그 값은 최악 실행 시간으로 다룬다.

hard·firm·soft 구분

데드라인을 놓쳤을 때 무슨 일이 벌어지는지에 따라 실시간 시스템은 세 갈래로 나뉜다. hard 실시간 시스템에서는 응답 시간 제약을 못 지키는 것이 곧 시스템 실패다. firm 실시간 시스템은 데드라인이 hard이지만 낮은 확률의 위반은 견딜 수 있다. soft 실시간 시스템에서는 제약을 못 지켜도 성능이 나빠질 뿐 시스템이 망가지지는 않는다.[1] 세 갈래를 가르는 기준은 하드웨어나 커널이 아니라 데드라인을 놓쳤을 때 감수해야 하는 결과다.

임베디드 시스템과의 관계

임베디드 시스템은 더 큰 시스템의 일부로 들어가는 특화된 실시간 컴퓨터 시스템으로 정의되기도 한다. 자동차 연료·공기 혼합 제어기, 항공기와 미사일에 들어가는 소프트웨어, 산업 기계, 의료 장비가 예로 꼽힌다.[1] 이 정의에서 두 용어가 묻는 것은 서로 다르다 — 앞의 절들이 다룬 실시간성은 시간 제약이 정확성의 일부인가를 묻고, 임베디드는 그 컴퓨터가 더 큰 시스템의 부품으로 들어가 있는가를 묻는다.

hard 실시간 시스템이 실제로 쓰이는 자리도 같은 목록과 크게 다르지 않다. 항공우주, 자동차, 철도, 우주·위성, 의료 모니터링과 영상, 산업 공정 제어, 로보틱스가 대표 영역이다.[2] 앞 문단의 임베디드 시스템 예시 목록과 상당 부분 겹치는 목록이다.

차량이라는 실시간 시스템

차량은 이 겹침이 가장 두드러지는 사례다. 기능마다 전용 제어기를 두는 분산 E/E 아키텍처가 오래 표준이었고, 기능·공급사마다 하드웨어 의존성과 운영체제가 다를 수 있다는 점도 이 구조의 특징이다.[3] 물리 전자 제어기(ECU)가 얼마나 늘어났는지와 그 제어기들을 잇는 통신망이 무엇을 푸는지는 차량 버스 네트워킹에서 다룬다.

그래서 차량에서 시간적 정확성의 판정 대상은 ECU 하나의 응답 시간이 아니다. AUTOSAR의 타이밍 제약은 센서 샘플링에서 액추에이터 접근까지의 최대 지연을 묶는 형태로 표현되고, 그 경로는 센서 소프트웨어 컴포넌트에서 시작해 응용 컴포넌트와 버스 통신을 거쳐 액추에이터 컴포넌트에 이르는 이벤트 사슬로 기술된다.[4] 브레이크 페달을 밟은 시점부터 제동이 걸리기까지의 시간이 그런 제약의 전형이다.

경로 위의 어느 구간도 단독으로는 요구를 만족한다고 말할 수 없다는 뜻이다. 이 종단 간 지연을 어떻게 쪼개고 분석하는지는 종단 간 타이밍에서 다루고, 개별 ECU 안에서 시간 제약을 지키는 일을 떠맡는 소프트웨어는 실시간 운영체제에서 다룬다.

[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]
Z. Guo, K. Koufos, M. Dianati, and R. Woodman, “State-of-the-art virtualisation technologies for the centralised automotive E/E architecture,” Frontiers in Future Transportation, vol. 6, 2025, doi: 10.3389/ffutr.2025.1519390.
[4]
AUTOSAR, “Specification of Timing Extensions for Classic Platform,” AUTOSAR, Software specification, 2025. Accessed: Aug. 26, 2026. [Online]. Available: https://www.autosar.org/fileadmin/standards/R25-11/CP/AUTOSAR_CP_TPS_TimingExtensions.pdf