리눅스, 실시간 기능 공식 지원
Linux 6.12 커널부터 실시간 리눅스 코드 통합
2024-09-23 온라인기사  / 박종서 기자_fop1212@autoelectronics.co.kr

드디어 실시간 리눅스(PREEMPT_RT)가 메인라인 커널에 포함되었다. 이제 곧 출시될 Linux 6.12 커널부터는 모든 리눅스 배포판에 실시간 리눅스 코드가 통합된다. 즉 열악한 환경 조건에서도 지정된 시간 내에 미리 정의된 작업을 수행할 수 있다. 이것은 더 많은 미션 크리티컬(mission critical) 장치와 산업용 하드웨어에 리눅스가 탑재될 수 있음을 의미한다. 

이 코드는 리눅스에서 결정론적 기능을 제공하기 위해 20년 넘게 개발돼왔지만 메인 배포판의 일부가 아닌 별도의 패치가 필요했다. 이를 위해서는 1991년부터 널리 사용돼온 중요한 디버깅 도구인 커널의 print_k 함수를 재작업해야 했다. 이로 인해 리눅스 프로그램을 호출할 때마다 심각한 지연을 일으켰다. 이는 디버깅에 매우 유용하지만 실시간 성능에는 문제가 된다. 

PREEMPT_RT 기능은 몬테비스타(Monte Vista), ENEA, 윈드리버 등 다양한 버전의 산업용 애플리케이션을 위한 리눅스에 포함돼 있다. 1988년 출시된 POSIX는 리눅스용 실시간 신호, 실시간 스케줄링 정책, 태스크 동기화 메커니즘, 클록 및 타이머를 위한 실시간 확장을 정의한다. 

또한, 영국의 FreeRTOS와 SafeRTOS, 독일 PikeOS, 미국 PX5, 캐나다 QNX, 일본 eMCOS 등에서 설치 공간이 작은 다양한 실시간 운영체제(RTOS)를 공급하고 있다. 예를 들어, QNX Neutrino는 자동차 인포테인먼트와 브레이크 잠김 방지 시스템(ABS) 등에 널리 사용되고 있다.



<저작권자 © AEM. 무단전재 및 재배포, AI학습 이용 금지>


  • 100자평 쓰기
  • 로그인



TOP