대한민국 RTOS 기술자립.. NEOS, 15년간의 기록
상태바
대한민국 RTOS 기술자립.. NEOS, 15년간의 기록
  • 최태우 기자
  • 승인 2016.07.20 10:42
  • 댓글 0
이 기사를 공유합니다

실시간 운영체제(RTOS)란 정밀하고 정확한 처리를 요하는 특수 목적의 임베디드 시스템을 위한 운영체제 소프트웨어를 말한다. RTOS는 PC에서 사용하는 일반 범용 운영체제와 달리 

수 마이크로 초 이내의 편차를 보장하는 정밀한 실시간 처리와 소프트웨어 신뢰성이 가장 중요하므로, 그 구조와 구현 방법이 특수한 시스템 소프트웨어 분야이다.

RTOS를 포함한 시스템 소프트웨어 분야는 미국과 유럽에서 전세계 시장을 주도하고 있어 그 동안 국내에서는 외국의 제품을 수입하여 사용하는 것이 일반적이었다.

시스템 소프트웨어 분야에서 국내의 기술적 시도가 없지는 않았으나 대부분 상용화 단계에서 실패하였다. 윈도우/유닉스/리눅스 등의 범용 운영체제뿐만 아니라 임베디드 시스템용 RTOS 역시 외국 기술을 도입할 수밖에 없는 상황이 오랫동안 지속되어 왔다. 그 결과 아래와 같은 다양한 문제가 나타나고 있다.

- 연간 수천억에 이르는 해외 라이선스 비용 유출
- 국내 소프트웨어 플랫폼 기술 부재로 인한 소프트웨어 산업 전반의 취약한 구조
- 국가 기간산업(국방/항공/산업/인프라)의 해외 기술 종속, 유지보수의 제약사항 등

이러한 어려움을 극복하고 시스템 소프트웨어 분야의 기술을 국내에서 자체적으로 확보하기 위해 1990년대 후반부터 여러 연구소와 기업에서 운영체제 기술개발에 투자를 해왔다. MDS테크놀로지의 NEOS는 상용화에 성공한 대표적인 국내 RTOS 기술로 꼽힌다.

MDS테크놀로지는 1999년 서울대 RTOS 연구실과의 산학협력을 통해 최초의 국산 RTOS 제품(Velos)을 개발하였다. 이후 이를 상용제품으로 출시한 후 현재까지 15년 이상 RTOS 분야에서 독자적인 기술을 발전시켜 왔다. 

이 글에서는 MDS테크놀로지의 NEOS RTOS가 거쳐온 지난 15년간의 기록을 중심으로 국내 시스템 소프트웨어 제품의 장점과 특징을 비교하여 다룰 예정이다. 

 

대한민국 대표 RTOS - NEOS, 15년간의 도전과 성과  
첫 번째 도전, 멀티미디어 플랫폼을 위한 임베디드 RTOS 
앞에서 이야기한 바와 같이 NEOS의 전신은 1999년 서울대 RTOS 연구실의 프로토타입 RTOS이다. 모바일 폰의 수요가 폭발적으로 증가하고 MP3 등 다양한 멀티미디어 기기가 유행하던 시절, MDS테크놀로지와 서울대는 손을 잡고 3년간 노력하여 Velos로 명명한 임베디드 시스템용 운영체제를 개발하였다. 

MDS테크놀로지는 Velos를 모바일 멀티미디어 기기용 임베디드 RTOS로 2002년 시장에 출시하였다. 그 후 2002년부터 2006년까지 Velos는 멀티미디어 폰(LG전자 샤인폰 등), 다수의 DMB/PMP 플레이어, 차량용 블랙박스(아이나비)에 공급되었고, 현재까지 1000만대 이상의 멀티미디어 기기에 양산 적용되었다.  

또한 체지방 측정기, 환자감시기 등의 의료기기도 Velos를 사용하였으며, 고속도로 하이패스 서버와 단말기에도 Velos를 사용하게 되어, Velos는 다양한 필드 적용사례를 보유한 운영체제로 자리매김하게 되었다.

 

멀티미디어 기기용 RTOS의 한계 
그러나 Velos는 다양한 사례에도 불구하고 예상하지 못했던 스마트 기기와 플랫폼(안드로이드 등)이라는 복병을 만나 생존을 위해 다른 방향을 모색해야 했다. 당시 Velos 뿐만 아니라 RTOS 계열의 운영체제들은 공통적으로 스마트 OS에 비해 스마트 기기에서 요구하는 앱 생태계, 확장성, 사용자 편의성을 만족시키기에는 역부족이었고, 결국 안드로이드와 iOS 등이 그 자리를 모두 대신하게 되었다. 

MDS테크놀로지는 Velos의 목표 시장에 대한 근본적인 의문을 갖게 되었다. 좀더 RTOS의 본 목적에 맞는 목표 시장으로 국방, 항공, 산업용 제어 등 신뢰성과 정밀성이 생명인 분야를 택하게 되었다. 

그러한 과정에서 운영체제의 근본적인 구조부터 리펙터링을 통해 신뢰성을 제고하고 운영체제의 이름도 NEOS로 바꾸게 되었다.


새로운 도전의 시작, 국방/항공 플랫폼을 위한 고신뢰 RTOS 
멀티미디어 기기를 위한 일반적인 임베디드 운영체제와 무기체계에 탑재 가능한 고 신뢰 운영체제는 겉으로 보기에는 큰 차이가 없을 수도 있지만, 구현과 검증을 위해서는 매우 큰 차이가 난다. 시스템에 따라서는 소프트웨어가 오동작할 경우 위험성이 엄청 크기 때문이다. 

항공기나 무기체계를 위한 운영체제는 정적 설계를 통해 예측 가능한 동작과 타이밍을 보장해야 하고 모든 기능에 대한 충분한 시험과 문서화, 품질보증 프로세스가 뒷받침 되어야 한다. 국방/항공 시장을 이해하고 이 분야에 필요한 신뢰성을 확보하기 위해 NEOS 개발자들은 운영체제의 기능 정의, 설계/구현/시험 등 전 과정의 프로세스를 처음부터 새로 정립하고 실행해야만 했다.

 

[그림 1] 항공기 임베디드 시스템 개발 개념

항공용 실시간 운영체제 개발 과정 (2007년 ~ 2012년) 
새로운 도전이 가능했던 직접적인 계기가 된 것은 2007년부터 시작된 당시 정보통신부의 "항공기 임베디드 시스템 개발" 과제였다. 당시 T-50 등 대한민국 항공기의 해외 수출을 위해서는 수출대상국의 요구를 반영하는 사양 변경설계가 필수적이었고, 이를 위해서 항공기에 탑재된 1차 임베디드 시스템과 소프트웨어 국내 기술 확보가 절실한 상황이었다.

정보통신부는 해외에서 직 도입한 임무컴퓨터 등 T-50 1차 시스템과 그에 탑재되는 모든 소프트웨어를 국산화하는 것을 목표로 5년간 500억원 이상의 예산을 지원하여 이른바 소프트웨어 플래그십 사업 중 하나인 항공기 임베디드 시스템 국산화에 착수하였다.

항공기 임베디드 시스템 개발과제에서 임무컴퓨터용 실시간 운영체제 국산화를 위한 적용 OS로 NEOS RTOS가 선정되었다. 이는 기존에 항공전자 시스템에 적용된 외산 운영체제를 대체하여 국내 기술을 확보하려는 정보통신부의 의지가 반영된 결과였다.

[그림 2] DO-178B 프로세스

MDS테크놀로지 역시 이 과제를 계기로 고신뢰 시스템에서 NEOS RTOS를 입증해볼 수 있는 최고의 기회를 얻게 된 것이다. 하지만 NEOS RTOS에 주어진 과제는 쉬운 것이 아니었다. 기존에 멀티미디어 기기 수준으로 검증된 품질은 항공전자 1차 시스템에서는 터무니없이 부족했고, 이후 5년간의 각 단계마다 어려운 고비를 넘어야만 했다. 

항공용 실시간 운영체제로 거듭나기 위한 첫 번째 도전은 DO-178B라는 국제 항공 소프트웨어 안전성 표준을 만족하는 일이었다. 그 당시 이 표준은 국내에서 생소하였다. 국내 항공기 감항인증(Airworthiness certification) 제도와 기준이 막 논의되기 시작한 시점이라 교육과정이나 전문가도 부재하였다.

NEOS 개발팀은 미국의 전문 컨설팅 업체인 HighRely에 교육과정과 컨설팅, 감사의 전 과정을 의뢰하여 NEOS를 레벨 A 수준(비행제어 급)의 안전성을 보장하는 운영체제로 3년간 재개발하였다. 

그 과정에서 NEOS RTOS의 요구사항은 재정의되었다. 모든 동적인 설계 구조는 예측 가능하고 결정론적인(Deterministic) 구조로 변경되었다.

각 요구사항과 설계는 모두 정상/비정상 조건에서 시험되었을 뿐만 아니라 운영체제의 소스 코드 각 라인은 모든 조건 조합에서 시험/분석을 통해 입증되었다. 즉 NEOS RTOS는 Verification 측면에서 필요한 모든 문서와 산출물을 갖는 운영체제로 발전하게 되었다. 

소프트웨어의 안전성과 신뢰성을 보장하기 위해서는 Verification 측면뿐만 아니라 Validation 측면에서도 확인이 이루어져야 한다. NEOS는 이후 2년간 한국항공우주산업의 통합 시험환경에서 T-50 임무컴퓨터 요구에 따른 소프트웨어/시스템 통합 시험을 거친 결과, 2012년에 한국항공우주산업으로부터 비행 적합성 확인을 얻게 되었다. 

하지만 그 간의 노력과 성과에도 불구하고 당시 수출형 항공기 개발일정과 기술적인 제약사항으로 인해 NEOS는 비행시험용 T-50 시제에 탑재되어 항공기 시험을 할 수 있는 기회를 얻지 못했다. 5년간의 노력으로도 실제 국산 항공기에 탑재하지 못하는 불운을 만난 것이다. 다행히 이후 NEOS 개발팀에게는 비행시험을 위한 한 번의 기회가 더 주어지게 되었고, 그 기회를 성공적으로 마무리했다. 

 

[그림 3] DO-178B 레벨 A를 만족하는 NEOS 개발과정

국산 항공용 RTOS의 FA-50 경 공격기 탑재 비행시험 성공 (2013년 ~ 2015년) 
항공기용 소프트웨어를 개발/검증하여 탑재 시험을 할 수 있는 기회는 기술적 역량과 노력으로만 되는 것은 아니었다. 항공기 자체의 단가가 수백억 원이고 시험을 위해 확인해야 하는 수천 가지의 사전시험과 검증 절차를 통과해야만 그 기회를 얻을 수 있다.

우선 미래창조과학부와 NIPA가 그러한 실증에 필요한 예산으로 물꼬를 다시 만들어 주었고(융합SW실증확산 지원사업), 공군에서는 소프트웨어 시험을 위해 고가의 항공기를 대여해 주었다.

그러한 천우신조로 2013년부터 2015년까지 30개월간 NEOS 개발팀과 한국항공의 체계통합팀, 그리고 한국형 임무컴퓨터를 국산화한 인텔릭스는 다시 힘을 합쳤다.

항공기에서 무엇보다 중요한 안전을 보장하기 위해서 운영체제의 낮은 수준부터 장치 수준, 소프트웨어 통합 수준, 시스템 통합 수준, 지상 시험과 항공기 탑재 시험 결정에 이르기까지 수천 가지의 절차를 반복하여 수행하였다.

결과는 성공이었다. 통합 시험과 하드웨어 환경시험에서 발생한 이슈 등으로 6개월 기간 연장되었고, 항공기 대여 기간 제약으로 인해 수차례 포기할 수 밖에 없는 상황이 발생했지만 한국항공우주산업과 MDS테크놀로지는 끝까지 시도했다. 2015년 11월 16일 마침내 대한민국 순수 기술의 NEOS가 대한민국 전투기에 탑재되어 비행시험에 성공하였다.  

NEOS RTOS의 FA-50 비행시험 성공을 통해 우리나라는 선진국과 충분히 경쟁할 수 있는 검증된 시스템 소프트웨어 기술을 확보하는 계기가 되었다.

 

K2 육군 주력전차 RTOS 적용 시험 (2012년 ~ 2015년) 
NEOS의 재도약은 항공분야에서 시작되었지만, 다른 분야에서도 계속해서 적용과 시험 사례를 확보해 왔다. 특히 기동무기 체계 분야는 항공분야의 시도에 필적할만한 성과를 거둔 분야이다.

2012년부터 2015년까지 NEOS 개발팀은 DO-178B로 다져진 RTOS 기술을 산업부의 World Best SW 사업과 국과연의 민군겸용기술적용 사업을 통해, 육군 주력전차 K2에 적용하여 입증하는 도전에 뛰어 들었다.

[그림 4] NEOS 비행시험 실증 추진

K2 전차의 내장 시스템 중 자동장전 장치와 차량제어 컴퓨터를 대상으로 기존에 탑재된 외산 운영체제를 NEOS로 대체하여 비교 입증하는 도전으로 결과는 성공적이었다.   

객관적인 비교를 위해 하드웨어와 응용 소프트웨어 변경을 최소화하고 운영체제만 NEOS로 변경하여 기능과 성능을 비교한 결과 모든 기능은 동일 수준에서 동작하고 일부 성능(부팅시간, 실시간 처리 시간)에 있어서는 NEOS RTOS가 더 우수한 것이다. 성공적인 결과를 확인한 방위사업청은 올해부터 국산 RTOS를 이후 K2 전차 양산에 적용하여 외산 RTOS를 대체하는 계획을 수립하여 적극적으로 추진하고 있다. 

 

다양한 무기체계/민간분야 시험 사례 확보 
위의 항공/기동분야 사례 외에 NEOS RTOS는 2009년을 기점으로 다양한 무기체계와 민간 분야에 적용이 확대되고 있다. 대표적인 사례들은 아래와 같다. 

- 유도무기 항법 적용, 발사 시험 
- 함정 전투체계 연동 장치 적용 시험 
- 항공기 데이터 통신장치 적용 시험 
- 원자력 안전계통 제어기 적용 시험
- 선박 엔진제어기 적용 시험
- 로봇/산업자동화 제어기 적용 시험 

[그림 5] NEOS 검증을 위한 K2 차량제어 HILS 환경

NEOS는 국내에서 상용화된 RTOS 중 가장 오랜 이력과 다양한 적용 사례를 갖고 있고 제품으로 외산 RTOS를 대체할 수 있는 대안으로 자리매김하고 있다. 이어지는 장에서는 독자의 이해를 돕기 위해 NEOS의 특징과 구조, 장점을 알기 쉽게 기술한다.

 

NEOS 주요 특징과 장점  
표준 RTOS 요구사항을 만족하는 기능과 구성 
NEOS는 전세계적으로 많이 사용되고 있는 다른 RTOS 소프트웨어와 매우 유사한 표준 RTOS 기능을 갖고 있다. 이전에 다른 RTOS를 사용한 개발자라 하여도 아래 그림에 있는 NEOS의 특징과 구성요소를 보면 친숙할 것이고, 기존에 사용하던 API와 개발방법론에 대한 지식은 NEOS에서도 거의 유사하게 활용될 수 있다.

[그림 6] NEOS 주요 기능과 구성

특히 NEOS에서 제공하는 POSIX/ANSI 표준 라이브러리와 외산 RTOS API에 대한 호환성 지원 계층을 통해 처음 NEOS를 사용하는 개발자도 어려운 학습과정 없이 기존 응용 소프트웨어를 적용할 수 있다.

 

NEOS의 실시간 성능 지표 
실시간 운영체제의 주요 성능 지표는 운영체제가 발생시키는 타이밍상의 편차가 얼마나 되느냐 하는 것이다. 이 편차(실시간 성능)를 기준으로 RTOS 비교가 가능한데, 아래 그림과 같이 NEOS는 해외 선진국의 RTOS에 비해서도 우수한 실시간 성능 지표를 보여주고 있다.

위 그림은 수십 가지 커널 API 지표 중 가장 중요한 두 가지에 대한 결과만 포함하고 있다. NEOS 개발팀은 지속적으로 실시간 성능에 대한 시험과 비교를 통해 NEOS성능을 개선하고 있다. 다음글에서 NEOS의 실시간 성능 시험과 관련하여 시험 방법과 환경, 결과 등에 대해 상세히 설명하겠다. 

 

[그림 7] NEOS의 실시간 성능 측정 그래프: 문맥전환 시간과 인터럽트 처리시간

고신뢰 시스템을 위한 준비된 V&V 
앞서 살펴본 바와 같이 NEOS는 항공분야 소프트웨어 안전성 표준인 DO-178B 레벨 A를 만족하는 산출물과 프로세스를 확보한 운영체제이다. 이러한 결과물은 다른 무기체계 분야의 신뢰성 시험 기준도 충족할 수 있고 인접한 민간 분야의 품질 기준에도 적합한 결과물을 제시할 수 있다.

 

NEOSPACE 통합개발환경 제공 
NEOS는 NEOSPACE라 명명된 통합개발환경과 함께 제공된다. NEOSPACE는 아래 그림과 같이 Eclipse 프레임워크와 크로스 컴파일러를 포함한 툴 체인, 디버깅과 모니터링을 위한 플러그인 등이 통합되어 NEOS 사용자에게 제공된다. 통합된 환경을 통해 NEOS API를 이용한 응용 소프트웨어 개발을 용이하게 하였다. 

 

국내 업체/시스템을 위한 최적화 지원 
NEOS RTOS는 최적화 관점에서 외국 기술보다 장점이 많다.  부팅시간, 메모리 요구량, 네트워크 성능, 저장 성능, 입출력 성능 등 다양한 시스템 최적화 요구에 대해 운영체제나 장치 드라이버 수준에서의 전문적인 지원이 가능하다. 이를 통해 국내 제조업체의 시스템 성능의 차별화를 가능하게 한다.

 

나가며  
이번 글에서는 대한민국 기술로 개발된 NEOS RTOS에 대해 그 동안의 노력과 성과, 특징과 장점에 대해 살펴보았다. NEOS의 다양한 적용 사례와 시험 결과를 통해 이제는 시스템 소프트웨어도 국내 기술로 자립하는 것이 가능함을 알아주시기를 바라는 마음이 간절하다.

앞으로도 NEOS 개발팀은 계속해서 다양한 분야에 도전하고, 더욱 안정된 운영체제 기술을 만들기 위해 끊임없이 노력하고자 한다. 현재 NEOS의 사용자를 포함하여 대한민국 임베디드 시스템 개발자 분들의 많은 관심과 다양한 의견을 부탁드린다. 

다음 글에서는 NEOS를 실제 경험할 개발자들을 대상으로 좀더 기술적이고 실무적인 내용을 다루고자 한다.  

 

글 : 노태영 부장 / AND 사업부 / MDS테크놀로지
자료제공 : MDS테크놀로지 <www.mdstec.com>