RTOS는 지정된 데드라인 내에 실시간 애플리케이션에 특정 기능을 보장하는 OS다.
RTOS 처리 시간 요구 사항은 항상 밀리초 단위를 보장한다. 대응이 지연되면 재앙적인 결과를 초래할 수 있기 때문이다.
실시간 운영 체제는 Linux, Microsoft Windows 또는 macOS와 같은 범용 OS(GPOS)와 유사한 기능을 가지고 있지만 OS의 스케줄러가 다양한 작업에 대한 데드라인을 충족할 수 있도록 설계되어 있다.
RTOS는 특정 기능을 위해 설계된 하드웨어와 소프트웨어의 조합이며 더 큰 시스템 내에서 작동할 수도 있는 임베디드 시스템에 사용된다. 그 임베디드 시스템은 실시간 환경에서 사용되며 실시간 운영 체제를 사용하여 하드웨어와 통신한다.
RTOS는 한 번에 여러 프로세스를 처리하도록 설계되어 이러한 프로세스가 예측 가능한 시간 제한 내에 이벤트에 응답하도록 보장한다.
RTOS에서의 처리는 데드라인 내에서 발생하며 작업 우선 순위를 모니터링한다. RTOS는 작업 우선순위를 변경할 수도 있다.
이벤트 중심 시스템은 우선순위에 따라 작업을 전환하는 경우가 많다.
일부 RTOS는 특수 응용 프로그램용으로 만들어지는 반면, 일부 RTOS는 보다 일반적인 용도로 만들어진다. 일반적으로 RTOS는 다음 기능을 제공한다.
RTOS는 다음에서 자주 사용된다.
실시간 운영체제는 일반적으로 다음과 같은 특징을 가지고 있다.
Small footprint - 일반 OS에 비해 실시간 운영 체제는 가볍다.
High performance - RTOS는 일반적으로 빠르고 반응이 빠르다.
Determinism - 반복 입력은 동일한 출력으로 끝난다.
Safety and security - RTOS는 중요한 시스템에서 자주 사용되므로 안전이 중요한 표준과 보안 표준이 일반적으로 가장 높은 우선순위이다.
Priority-based scheduling - 높은 우선순위가 할당된 작업이 먼저 실행된 다음 우선순위가 낮은 작업이 실행된다.
Timing information - RTOS는 애플리케이션 프로그래밍 인터페이스 타이밍 및 제공을 담당한다.
RTOS는 soft 실시간 시스템 과 hard 실시간 시스템 으로 나뉜다.
soft RTOS는 수백 ms 이내에 작동하도록 설계되고, hard RTOS는 수십 ms 이내에 예측 가능한 응답 시간을 제공하도록 설계되었다.
soft RTOS는 일반적으로 hard RTOS에 비해 파일 크기가 더 크다. 일부 실행은 최대 로드 중에 예측 가능성이 떨어지지만 오류가 발생하면 계산이 이전에 설정된 체크포인트로 롤백되므로 허용이 된다.
Soft RTOS는 일반적으로 PC, 카메라, 스마트폰과 같이 시간 기반 실행이 덜 중요한 시스템에 사용된다.
hard RTOS에는 일반적으로 중소 규모의 데이터 파일이 있다. 이는 최대 부하가 발생하는 순간에 예측 가능하게 작동하며 오류가 발생하면 계산이 롤백된다. hard RTOS는 일반적으로 비행기 센서, 자동 조종 시스템 또는 의료 기기와 같이 중요한 시간 기반 실행이 필요한 시스템에 사용된다.
hard RTOS에서는 지정된 시간에 객체를 사용할 수 있도록 계산을 수행할 수 없으면 OS가 오류로 종료된다.
RTOS는 또한 작업을 실행 준비, 실행 또는 차단으로 예약할 수 있는 스케줄러 역할도 한다.
VxWorks는 Aptiv의 자회사인 Wind River Systems가 독점 소프트웨어로 개발한 hard RTOS이다. 1987년에 처음 출시된 VxWorks는 항공우주 , 국방 , 의료 기기, 산업 장비, 로봇 공학, 에너지, 운송, 네트워크 와 같은 산업을 위한 실시간 결정론적 성능 과 많은 경우 안전 및 보안 인증이 필요한 임베디드 시스템 에 사용하도록 설계되었다.