Linux Real - Time : 임베디드 디자인의 새로운 시대
  • 2013-10-10
  • 김창수 기자, cskim@elec4.co.kr
  • 글 | 산자이 찰라(Sanjay Challa) 내쇼날인스트루먼트 임베디드 소프트웨어 제품 매니저


Linux OS는 오픈 소스와 커뮤니티 지원, 무료, 이해하기 쉬운 운영체제라는 많은 장점으로 공개하자마자 임베디드 시스템 디자인의 대중화를 이끌었다. 임베디드 시스템 디자인은 Linux의 채택으로 다양한 프로세서 아키텍처(ARM, x86, 기타)에 대한 지원이 이뤄졌으며, 커뮤니티에서는 풍부한 애플리케이션과 코드가 제공되고 있다.



최근 임베디드 시장 조사를 살펴보면, 현재 사용하고 있는 임베디드 운영체제 중 Linux가 50% 이상을 점유하고 있다. Linux는 임베디드 설계자에게 많은 장점을 제공하지만, 고성능의 리얼타임 애플리케이션 요구사항이 필요한 설계자에게는 적합하지 않았던 것이 사실이다. 임베디드 소프트웨어 개발자들은 Linux를 리얼타임 용도로 사용할 수 있도록 성능을 개선하기 위한 다양한 기법을 시도했다. 임베디드 설계자들은 수많은 솔루션들을 제안했지만, Linux로 리얼타임 성능을 충족시키기에 적합한 방식은 없었다. 그 후, 시간이 흘러 Linux와 전용 리얼타임 OS를 결합한 하이퍼바이저 기술을 이용하는 하이브리드 방식이 주목을 받았다.

복잡한 하이퍼바이저 솔루션
임베디드 시장에서 하이퍼바이저 기반의 솔루션이 도입되면서 사용자들이 Linux와 함께 전용 RTOS를 함께 실행할 수 있게 됐다. 그 예로, Green Hills INTEGRITY Multivisor와 B Labs의 CODEZERO Embedded Hypervisor가 있다. 하지만 안타깝게도 이 솔루션들은 임베디드 설계자들이 왜 Linux를 사용하려고 하는지에 대한 본질을 제대로 파악하지 못했다. 오히려 이런 방식의 하이퍼바이저 솔루션들은 시스템 복잡성을 높이고, 사용성을 떨어뜨렸으며, 임베디드 디자인 팀에게 더 많은 전문지식을 요구했다. 따라서 최근 임베디드 설계자들이 선택할 수 있는 솔루션에는 한계가 있다.



Linux, 리얼타임 성능을 구현
임베디드 시장에서 Linux 사용이 활발해지면서, 개발자들은 Linux 커널 자체의 결정성을 개선하는 기능을 추가하는 발전을 이뤄냈다. 최근에는 PREEMPT_RT 패치 세트가 공개되면서 Linux 커뮤니티는 Linux의 접근방식을 단일화해 Linux로 리얼타임 성능을 구현해냈다. 이런 솔루션 구현이 가능했던 것은 단일 리얼타임 기반 Linux OS가 제공하는 리얼타임 성능과 범용 OS가 제공하는 접근성과 사용성 그리고 커뮤니티를 구현할 수 있었기 때문이다.
PREEMT_RT 패치 세트로 제작된 Linux RTOS에는 Wind River의 VxWorks와 IntervalZero의 Phar Lap ETS 등의 전용 RTOS와 같은 차수의 지터가 포함되어 있다. 이와 비슷하게 루프 속도 기능과 같은 CPU 활용도에서 PREEMPT_RT 기반 Linux RTOS는 다른 전용 RTOS 대비 동등하거나 뛰어난 성능을 제공한다. 큰 그림으로 봤을 때, 루프 속도는 빠르고 CPU 활용도가 낮아지면서 애플리케이션 레벨 성능이 향상된 것은 Linux 기반 RTOS에서 스케줄링 사용이 가능했기 때문이다. 대부분의 전용 RTOS와 달리 Linux 기반 RTOS는 중요한 태스크를 위한 리얼타임 스케줄러와 리얼타임이 아닌 태스크 모두에 더욱 효율적이고 공정한 스케줄러를 둘 다 제공할 수 있다.
PREEMPT_RT를 통해 Linux 기반 RTOS가 기존 RTOS와 동등한 성능을 제공할 수 있다는 데에 많은 개발자들이 인정하고 있다. 이러한 수준의 성능을 구현한 것은 고성능의 리얼타임 기반 애플리케이션을 구현하고자 하는 Linux 사용자와 Linux가 제공하는 안정성, 사용성, 커뮤니티의 이점을 얻고자 하는 개발자 모두가 반가워할 일이다. 방대한 IP 및 툴 커뮤니티와 함께 경험이 많은 사용자들이 대거 형성되어 있다는 점은 개발자들이 개발 비용을 낮춰 솔루션에 기능을 편하게 구현할 수 있다는 것이다. OS에 전반적으로 이뤄진 개선점이 빠르게 활용될 수도 있다. 한 예로, Linux가 제공하는 성숙하고 안정된 네트워크는 듀얼-DHCP 인터페이스 카드(NIC)를 지원하고, IPv6와 SNMP 같은 통신 프로토콜을 제공한다.

PREEMPT_RT 패치 세트의 장점
PREEMPT_RT 패치 세트는 임베디드 설계자에게 중요한 몇 가지 차별점을 가진 벡터들을 제공한다. 이 패치 세트는 Linux가 다양한 세트의 하드웨어 아키텍처를 제공할 수 있도록 유연성을 확장하고, 단일 OS-설계로 리소스 할당이 훨씬 간단하다. 결과적으로, 사용자는 편리한 사용과 더욱 직관적인 프로그래밍 그리고 편리한 설정과 시스템 관리라는 장점을 얻을 수 있다. Linux RTOS는 하드웨어 유연성뿐 아니라, 광범위한 Linux의 사용과 비교적 많은 Linux 사용자와 리소스가 있기 때문에 임베디드 설계 팀들이 더욱 쉽게 팀원을 충원하고 소프트웨어 개발자들을 교육할 수 있다. 이해하기가 더 쉽고 익숙한 Linux 기반 RTOS는 통합된 소프트웨어 툴 체인을 제공해 임베디드 디자인 팀들이 임베디드 디자인 문제들을 효율적으로 접근할 수 있다.
PREEMPT_RT가 Linux를 이용한 리얼타임 기능 구현의 표준 방식으로 계속해서 성장하면서, 시장에서는 Linux 기반 RTOS를 제공하는 여러 맞춤형 상용 기반 솔루션들이 출시되기 시작했다. 한 예로, 소프트웨어 정의로 설계된 내쇼날인스트루먼트의 cRIO-9068 컨트롤러를 들 수 있다. 이 컨트롤러는 견고한 패키징의 폼팩터에 Linux 기반 RTOS를 제공한다. cRIO-9068 컨트롤러는 NI LabVIEW 시스템 디자인 소프트웨어와 C/C++ 툴을 이용한 애플리케이션 개발을 지원하기 때문에 사용자들은 효율적으로 C/C++ 코드를 재사용하고 Linux 커뮤니티를 활용하는 동시에 LabVIEW가 제공하는 직관적인 개발 인터페이스의 장점을 이용할 수 있다.

Linux RTOS 기반 COTS 솔루션
이제 소프트웨어 디자인 팀들은 하드웨어 전문지식이 부족해도 Linux RTOS 기반 COTS 솔루션을 이용하여 임베디드 디자인에 더욱 쉽게 접근할 수 있다. 이 솔루션은 더욱 성숙한 디자인 팀에게 프로세서에 대한 주변 커넥터 설계와 레이아웃 작업 또는 주변 컴포넌트들을 통합하기 위한 미들웨어를 프로그래밍하는 루틴 태스크가 아닌 애플리케이션 전용 태스크에 리소스를 투입해 더욱 효율적으로 제품을 시장에 출시할 수 있다. 또한 오픈 소스 소프트웨어 컴포넌트 사용을 염려하는 팀은 솔루션 제공업체의 OS 유지관리와 업데이트를 믿고, COTS 솔루션으로 패키징된 Linux RTOS 투자에 확신을 가질 수 있다.
초기 사용자들은 이미 이런 장점을 확인하고 있다. S.E.A.Dataentechnik GmbH의 Wolfram Koerver 전무는 “NI cRIO-9068에서 제공하는 Linux 기반 리얼타임 운영체제가 시장의 판도를 바꿨다”며 “NI는 cRIO-9068을 통해 이전까지 불가능했던 중요한 기능과 기술을 데이터 로거에 추가할 수 있다”고 말했다. 그는 “필요한 함수와 기능을 구현하기 위한 개발 노력이 VxWorks 기반 솔루션 대비 최소 80%까지 줄었다”고 설명했다.
Linux RTOS 제품군이 COTS 기반 솔루션에서 더욱 보편화되면서, 사용자들은 최고의 유연성을 제공하는 기초 하드웨어 아키텍처를 찾아야 한다. 예를 들어, cRIO-9068 컨트롤러는 NI LabVIEW 재구성 가능한 I/O (RIO) 아키텍처에 구현되어 사용자들의 다양한 요구사항을 해결할 수 있다. LabVIEW RIO 아키텍처가 제공하는 활용성은 FPGA와 연계하여 I/O에 접근하는 프로세서로부터 기인했다. 사용자들은 Linux 기반 RTOS를 제공하는 유연한 COTS 하드웨어를 통해 시장에 차별화된 솔루션을 신속히 제공할 수 있다.
이 새로운 상용 기술을 통해 Local GridTM Technologies가 보여준 것처럼 사용자들은 기존의 코드를 재사용하고 성능 향상을 이룰 수 있다. Local Grid Technologies의 Bob Leigh CEO는 “cRIO-9068 컨트롤러를 받고 하루도 지나지 않아 기존의 LabVIEW 애플리케이션 소프트웨어를 아무 문제없이 실행했다”며 “CompactRIO 시스템 간에 소프트웨어를 쉽게 이전할 수 있다는 데 놀랐고, 새로운 소프트웨어 설계 방식의 컨트롤러 성능을 보고 또 한 번 놀랐다”고 말했다.
Linux 커널이 코어의 분리와 메모리 관리 같은 기술을 개선하면서, PREEMPT_RT는 임베디드 설계자들에게 필수적인 솔루션으로 자리매김하게 될 것이다. 기존의 Linux 개발자뿐 아니라 RTOS 개발자에게 관심을 받은 Linux 기반 RTOS는 견고하고 유연한 COTS 플랫폼에서 사용할 때 수많은 기회를 제공한다. 이 접근법을 통해 설계자들은 시스템 통합이나 시스템 보안과 같은 문제에 집중할 수 있다. OS 유지관리와 업데이트는 제공업체가 맡아 개발자의 설계 진행이 더욱 능률적으로 진행된다. Linux RTOS를 제공하는 COTS 솔루션을 통해 설계자들은 시장에서 앞서나가 혁신적인 설계를 더욱 빠르게 내놓을 임베디드 디자인의 새로운 시대를 열게 될 것이다.  ES

<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>



  • 100자평 쓰기
  • 로그인

세미나/교육/전시
TOP