개요
실시간 리눅스 배포판은 다양한 응용 분야에서 사용되며, 특히 제어 시스템, 산업 자동화, 로봇 공학, 통신 네트워크 등 실시간 특성을 필요로 하는 곳에서 중요하다. 이 배포판들은 일반 리눅스 커널에 비해 낮은 지연 시간과 높은 예측 가능성을 제공하도록 설계되었다.
대표적인 실시간 리눅스 배포판
RTLinux
RTLinux는 실시간 응용 프로그램을 지원하기 위해 개발된 리눅스 커널의 패치 세트이다. RTLinux는 일반 리눅스 커널의 동작을 중단하고, 실시간 태스크가 우선적으로 실행될 수 있도록 한다.
주요 특징
- 높은 결정성: RTLinux는 강력한 우선순위 기반 스케줄러를 사용하여 높은 결정성을 보장한다.
- 낮은 지연 시간: 하드웨어 인터럽트와 소프트웨어 인터럽트의 지연 시간을 최소화한다.
- 지원되는 플랫폼: 다양한 아키텍처에서 동작하며, 특히 임베디드 시스템에서 많이 사용된다.
Xenomai
Xenomai는 리눅스 커널에 패치하여 리얼타임 기능을 제공하는 프레임워크이다. RTOS(Real-Time Operating System)와의 통합을 목표로 하며, 다양한 실시간 API를 지원한다.
주요 특징
- 이중 커널 구조: 일반 리눅스 커널과 Xenomai 커널을 동시에 사용하는 방식으로, RTOS 기능을 추가한다.
- 리얼타임 API: POSIX, VxWorks, pSOS 등의 다양한 실시간 API를 지원한다.
- 높은 성능: 지터(jitter)와 지연 시간을 최소화하여 높은 성능을 보장한다.
PREEMPT_RT
PREEMPT_RT는 리눅스 커널에 패치를 적용하여 실시간 성능을 강화하는 프로젝트이다. 기본 커널의 선점성(preemptiveness)을 개선하여 실시간 특성을 향상시킨다.
주요 특징
- 완전 선점형 커널: 모든 커널 코드가 선점 가능하도록 만들어서 응답 시간을 줄이다.
- 실시간 스케줄러: SCHED_FIFO, SCHED_RR 등의 실시간 스케줄링 정책을 제공한다.
- 디바이스 드라이버: 여러 실시간 디바이스 드라이버를 지원한다.