테크레시피

우주 극한 상태에서도 동작하는 RTOS란…

윈도나 맥OS 등이 설치되어 있는 PC를 이용하는 사람 중에는 PC가 명령을 실행 중인 걸 나타내는 아이콘이 좀처럼 움직이지 않는다는 경험을 한 적이 있는 사람도 있다. 가정에선 일반PC라며 사용자가 좌절만 하면 그만. 하지만 우주에 있는 인공위성이라면 한 순간 처리가 늦으면 행성에 추락해 불덩어리가 되거나 궤도가 어긋나 우주 저편으로 날아갈 수 있다. 이런 극한 상황에서 동작하는 실시간 운영 시스템 RTOS(real-time operating system)가 필요하다.

우주에서 작동하는 인공위성이나 우주탐사선은 일반 PC 운영체제와는 전혀 다른 계산 과정을 가진 RTOS가 탑재되어 있다. 예를 들어 일반 PC 운영체제에 어떤 계산을 시키면 운영체제는 계산을 수행하고 적절하게 처리할 경우 작업이 제대로 수행된 것으로 간주하고 처리하는데 걸린 시간을 걱정하지 않는다. 하지만 일각을 다투는 사태에 직면할 수도 있는 인공위성 RTOS는 엄격하게 지정된 시간 설정을 갖고 있으며 해당 시간 내에 처리를 끝내지 못하면 작업을 실패로 간주한다. 이유는 우주에서 조금이라도 처리가 늦어지면 이미 너무 늦는 경우도 적지 않기 때문에 언제까지나 같은 작업을 수행하고도 의미가 없다.

RTOS가 작업을 설정하는 시간은 예를 들면 센서에서 데이터를 올리는데 3단위, 엔진을 시동하는데 4단위 식으로 분할된 단위로 표시되고 작업마다 우선 순위가 붙여져 있다. 이런 구조를 통해 소프트웨어 개발자는 상정된 시나리오 중 어떤 작업이 실행되어 여기에 얼마나 많은 시간이 걸리는지 파악하고 우주에서 작동하는 소프트웨어를 만들고 있다.

실제로 우주 임무에 이용되는 RTOS로는 미 항공우주국 나사(NASA)와 유럽우주국 ESA 등 우주기관이 사용하는 RTOS 3가지가 있다. 먼저 브이엑스웍스(VxWorks)는 미국 소프트웨어 업체인 윈드리버(WindRiver)가 개발한 RTOS로 1996년 발사된 화성탐사선 마스 패스파인더와 2003년 발사된 화성 탐사 로버 등에 채용되고 있다.

이런 우주탐사선에 탑재된 브이엑스웍스 작업은 준비 완료보다 우선순위가 높은 작업을 수행하는 동안 차단, 다른 데이터 도달을 기다리는 지연중, 어떤 이유로 정지 중인 일시정지 4가지 상태로 처리된다. 또 브이엑스웍스는 여러 작업을 동기화하거나 연동하거나 바이너리 세마포르(semaphore)와 작업이 독점으로 자원을 사용할 수 있도록 뮤텍스(Mutex)하는 구조도 갖추고 있다.

이런 고유 사양을 바탕으로 브이엑스웍스는 화성 미션 등 다양한 성과를 거뒀지만 브이엑스웍스는 우선순위가 역전되는 등 문제로 종종 나사 지상관제팀을 괴롭히기도 한다.

다음은 RTEMS. 윈드리버가 개발한 브이엑스웍스와 달리 RTEMS는 오픈소스 프로젝트로 개발된 RTOS다. RTEMS는 원래 미군이 우주탐사선이 아니라 미사일을 제어하기 위해 개발을 시작한 소프트웨어였지만 오류에 대한 책임이 불명확하는 등 오픈소스 특유의 문제나 미사일 제어를 하려면 동작이 너무 느린 난점을 안고 있었다.

이런 이유로 미군은 정부 주도로 다양한 프로세서 제품군에서 작동하는 빠른 시스템인 RTEMS(Real-Time Executive for Missile Systems)를 개발했다. 이렇게 태어난 RTEMS는 미사일 제어 외에도 폭넓은 분야에서 활약 가능한 걸 발견하고 RTEMS(Real-Time Executive for Multiprocessor Systems)라고 이름을 바꿔 출시했다. RTEMS가 있는 새로운 프로세서에 쉽게 이식할 수 있고 고도의 사용자 정의라는 특징에 주목하면서 ESA는 유럽 내 어려 우주 임무에 RTEMS를 채용하고 있다.

셋째는 스페이스체인 OS(SpaceChain OS). 이 OS는 사이릭스OS(Sylix OS)와 블록체인 기술이라는 2가지 주요 구성 요소로 이뤄진 RTOS다. 중국에서 개발된 사이릭스OS는 RTEMS와 마찬가지로 미사일 운영체제로 개발을 시작한 시스템으로 낭비가 없어 보수가 용이하다는 특징을 갖고 있다. 사이릭스OS가 얼마나 낭비가 없냐하면 리눅스 커널에 비해 소스코드 행수가 5분의 1 밖에 없을 정도라고 한다.

스페이스체인 OS의 가장 큰 특징은 2번째 구성 요소인 블록체인 기술을 통해 크라우드펀딩으로 자금을 조달할 수 있다는 점에 있다. 스페이스체인 OS 중 사이릭스OS 부분은 RTEMS나 브이엑스웍스와 마찬가지로 우주선 하드웨어를 움직이는 역할을 한다. 하지만 블록체인 부분은 여러 이해관계자가 우주선 자원을 공유하는 것이다. 이를 통해 기업과 개인이 스페이스체인OS를 탑재한 인공위성에 투자할 수 있기 때문에 크라우드펀딩에 의한 인공위성 발사도 얻을 수 있다. 관련 내용은 이곳에서 확인할 수 있다.

추천기사