배너
닫기

테크노트

배너

리눅스 리얼 타임 : 임베디드 디자인의 새로운 시대

  • 등록 2013.11.05 17:15:40
URL복사

리눅스 리얼 타임 : 임베디드 디자인의 새로운 시대

리눅스 OS는 오픈 소스, 커뮤니티 지원, 무료, 이해하기 쉬운 운영체제 등의 장점으로 인해 공개되자마자 임베디드 시스템 디자인에서 대중화되었다. 그 후 다양한 프로세서 아키텍처(ARM, x86, 기타)에 대한 지원이 이루어졌고, 커뮤니티에서는 풍부한 애플리케이션과 코드를 제공하고 있다. 리눅스는 최근 임베디드 시장에서 사용하고 있는 임베디드 운영체제 중 50% 이상을 점유하고 있다.

리눅스(Linux)는 임베디드 설계자들에게 많은 장점을 제공하고는 있지만, 고성능 리얼타임 애플리케이션 요구사항이 필요한 설계자들에게는 적합하지 않았던 것도 사실이다. 임베디드 소프트웨어 개발자들은 리눅스를 리얼타임 용도로 사용할 수 있도록 성능을 개선하기 위한 다양한 방법을 시도했다.
임베디드 설계자들은 수많은 솔루션을 제안했지만, 리눅스로 리얼타임 성능을 충족시키기에는 적합한 방식이 없었다. 그 후 시간이 흘러 리눅스와 전용 리얼타임 OS를 결합한 하이퍼바이저 기술을 이용하는 하이브리드 방식이 주목받게 되었다.
이와 같이 임베디드 시장에 하이퍼바이저 기반 솔루션들이 도입되면서, 사용자들은 리눅스와 전용 RTOS를 함께 실행할 수 있게 되었다. 그 예로, Green Hills INTEGRITY Multivisor와 B Labs의 CODEZERO Embedded Hypervisor가 있다. 하지만 안타깝게도 이 솔루션들은 임베디드 설계자가 왜 리눅스를 사용하려고 하는지에 대한 본질을 제대로 파악하지 못했다. 오히려 이렇게 내놓은 하이퍼바이저 솔루션들은 시스템의 복잡성을 높이고 사용성을 떨어뜨렸으며 임베디드 디자인 팀에게 더 많은 전문 지식만 요구했다.
그래서 임베디드 설계자들이 선택할 수 있는 솔루션에는 한계가 있었다. 임베디드 시장에서 리눅스가 활발히 사용되면서, 개발자들은 리눅스 커널 자체의 결정성을 개선하는 기능을 추가하게 되었다.
최근 PREEMPT_RT 패치 세트가 공개되면서, 리눅스 커뮤니티는 리눅스의 접근 방식을 단일화하여 리눅스로 리얼타임 성능을 구현해냈다. 이와 같은 솔루션을 구현할 수 있었던 것은, 단일 리얼타임 기반 리눅스 OS가 제공하는 리얼타임 성능과 범용 OS가 제공하는 접근성, 사용성 그리고 커뮤니티를 구현할 수 있었기 때문이다.
PREEMT_RT 패치 세트로 제작된 리눅스 RTOS에는 Wind River의 VxWorks, IntervalZero의 Phar Lap ETS 등 전용 RTOS와 같은 차수의 지터가 포함되어 있다.
이와 비슷하게 루프 속도 기능과 같은 CPU 활용도에서 PREEMPT_RT 기반 리눅스 RTOS는 다른 전용 RTOS에 비해 같거나 더 뛰어난 성능을 제공한다. 루프 속도가 빠르고 CPU 활용도가 낮아지면서 애플리케이션 레벨 성능이 향상된 것은 리눅스 기반 RTOS에서 스케줄링 사용이 가능했기 때문이다.
대부분의 전용 RTOS와 달리, 리눅스 기반의 RTOS는 중요한 태스크를 위한 리얼타임 스케줄러와 리얼타임이 아닌 태스크 모두에 보다 효율적이고 공정한 스케줄러를 제공할 수 있다.
PREEMPT_RT를 사용함으로써 리눅스 기반 RTOS가 기존 RTOS와 동등한 성능을 제공할 수 있다는 데에 많은 개발자들이 계속해서 인정하고 있다. 이러한 수준의 성능을 구현한 점은, 고성능의 리얼타임 기반 애플리케이션을 구현하고자 하는 리눅스 사용자와 리눅스가 제공하는 안정성, 사용성, 커뮤니티의 이점을 얻고자 하는 개발자 모두 반가워할 일이다.
방대한 IP 및 툴 커뮤니티와 함께 경험이 많은 사용자가 대거 형성되어 있다는 점은, 개발자가 개발 비용을 낮춰 솔루션에 기능을 편하게 구현할 수 있다는 의미이다. OS에 전반적으로 이루어진 개선점을 빠르게 활용할 수도 있다. 일례로, 리눅스가 제공하는 성숙하고 안정적인 네트워크는 듀얼-DHCP 인터페이스 카드(NIC)를 지원하며, IPv6와 SNMP 등의 통신 프로토콜을 지원한다.
PREEMPT_RT 패치 세트는 중요한 몇 가지 차별점을 가진 벡터들을 임베디드 설계자에게 제공한다. 이 패치 세트는 리눅스가 다양한 세트의 하드웨어 아키텍처를 제공할 수 있도록 유연성을 확장하고, 단일 OS-설계로 인해 리소스 할당을 훨씬 간단하게 해준다.
결과적으로 사용자는 편리한 사용, 더욱 직관적인 프로그래밍, 편리한 설정과 시스템 관리라는 장점을 얻게 된다. 리눅스 RTOS는 하드웨어 유연성뿐만 아니라 광범위한 리눅스 사용, 비교적 많은 리눅스 사용자 및 리소스가 있으므로 임베디드 설계 팀들이 보다 쉽게 팀원을 충원하고 소프트웨어 개발자들을 교육할 수 있다. 더 이해하기 쉽고 익숙한 리눅스 기반의 RTOS는 통합된 소프트웨어 툴 체인을 제공하므로 임베디드 디자인 팀은 임베디드 디자인 문제들에 보다 효율적으로 접근할 수 있다.
PREEMPT_RT가 리눅스를 이용한 리얼타임 기능 구현의 표준 방식으로 계속 성장하면서, 시장에서는 리눅스 기반 RTOS를 제공하는 다양한 맞춤형 상용 기반 솔루션들이 출시되기 시작했다. 일례로, 소프트웨어 정의로 설계된 내쇼날인스트루먼트의 cRIO-9068 컨트롤러를 들 수 있다. 이 컨트롤러는 견고한 패키징의 폼팩터에 리눅스 기반 RTOS를 제공한다. 




cRIO-9068 컨트롤러는 NI LabVIEW 시스템 디자인 소프트웨어와 C/C++ 툴을 이용한 애플리케이션 개발을 지원하므로, 사용자들은 효율적으로 C/C++ 코드를 재사용하고 리눅스 커뮤니티를 활용하는 동시에 LabVIEW가 제공하는 직관적인 개발 인터페이스의 장점을 이용할 수 있다.
이제 소프트웨어 디자인 팀은 하드웨어에 대한 전문지식이 부족하더라도 리눅스 RTOS 기반의 COTS 솔루션을 이용하여 임베디드 디자인에 더욱 쉽게 접근할 수 있게 되었다. 이 솔루션들은 보다 성숙한 디자인 팀에게, 프로세서에 대한 주변 커넥터 설계와 레이아웃 작업 또는 주변 컴포넌트들을 통합하기 위한 미들웨어를 프로그래밍하는 루틴 태스크가 아닌, 애플리케이션 전용 태스크에 리소스를 투입함으로써 보다 효율적으로 제품을 시장에 출시할 수 있도록 해준다. 또한, 오픈 소스 소프트웨어 컴포넌트 사용을 염려하는 팀은 솔루션 제공업체의 OS 유지관리와 업데이트를 믿고 COTS 솔루션으로 패키징된 리눅스 RTOS 투자에 확신을 가질 수 있다. 초기 사용자들은 이미 이와 같은 장점들을 확인했다. 

S.E.A. Dataentechnik GmbH의 Wolfram Koerver 전무는, NI cRIO-9068에서 제공하는 리눅스 기반 리얼타임 운영체제는 시장의 판도를 바꿨는데, cRIO-9068을 통해 이전까지 불가능했던 중요한 기능과 기술을 데이터 로거에 추가할 수 있게 됐으며, 필요한 함수와 기능을 구현하기 위한 개발 노력은 VxWorks 기반 솔루션에 비해 최소 80%까지 줄었다고 했다.




리눅스 RTOS 제품군이 COTS 기반 솔루션에서 더욱 보편화되면서, 사용자들은 최고의 유연성을 제공하는 기초 하드웨어 아키텍처를 찾아야 하게 되었다. 일례로, cRIO-9068 컨트롤러는 NI LabVIEW 재구성 가능한 I/O(RIO) 아키텍처에 구현되어 있어 사용자들이 다양한 요구 사항들을 해결할 수 있다. LabVIEW RIO 아키텍처가 제공하는 활용성은 FPGA와 연계하여 I/O에 접근하는 프로세서에서 기인한 것이다.
사용자들은 리눅스 기반의 RTOS를 제공하는 유연한 COTS 하드웨어를 통해 시장에 차별화된 솔루션을 신속히 제공할 수 있게 되었으며, 이 새로운 상용 기술을 통해 LocalGridTM Technologies가 보여준 것처럼 사용자들은 기존의 코드를 재사용하고 성능 향상을 이룰 수 있다.




LocalGrid Technologies의 사장이자 CEO인 Bob Leigh는 “cRIO-9068 컨트롤러를 받고 하루도 지나지 않아 기존의 LabVIEW 애플리케이션 소프트웨어를 아무런 문제 없이 실행했다. CompactRIO 시스템 사이에서 소프트웨어를 쉽게 이전할 수 있다는 데 놀랐고, 새로운 소프트웨어 설계 방식 컨트롤러의 놀라운 성능을 보고 또 한 번 놀랐다”라고 말했다.
앞으로 리눅스 커널이 코어 분리와 메모리 관리 같은 기술을 계속해서 개선해 나감에 따라, PREEMPT_RT는 임베디드 설계자에는 필수적인 솔루션으로 자리매김하게 될 것이다. 기존의 리눅스 개발자뿐만 아니라 RTOS 개발자들에게 관심을 받은 리눅스 기반 RTOS는 특히나 견고하고 유연한 COTS 플랫폼에서 사용할 때 많은 기회를 제공한다. 이 접근법을 통해 설계자들은 시스템 통합이나 시스템 보안과 같은 문제에 집중할 수 있다. OS 유지관리와 업데이트는 제공 업체가 맡으므로, 개발자들은 설계를 더욱 능률적으로 진행시킬 수 있다.
설계자들은 리눅스 RTOS를 제공하는 COTS 솔루션을 통해, 시장에서 앞서나가 혁신적인 설계를 보다 빠르게 내놓을 수 있을 것이며, 임베디드 디자인의 새로운 시대를 열게 될 것이다.

Sanjay Challa National Instruments Corporation.









배너










주요파트너/추천기업