Computer Engineering/운영체제(OS)

실시간 운영체제란 무엇인가? (about Real-time OS)

잇트루 2020. 7. 6. 10:00
반응형

IT is True 블로그에 들어와 주셔서 감사합니다.


 

실시간 운영체제(RTOS : Real-Time Operating System)

실시간 운영체제(RTOS)란 실시간성(Real-time)을 가진 운영체제를 뜻하며,  주어진 문제를 해결하기 위해 정해진 시간 처리하는 운영체제입니다. 즉, 정해진 시간 내에 행동할 수 없을 때 문제가 발생하게 됩니다. 결과 산출에 걸리는 시간에도 적시성을 가지며 외부 자극에도 예측 가능한 방식으로 반응하게 됩니다. 여기서 적시성이란 디바이스 기기가 열악한 환경에서도 데드라인(deadline) 이내에 논리적으로 도 정확한 출력 값을 산출해 내는 것을 말합니다. 이러한 특징 때문에 시스템 결함이 발생해도 멈추지 않고 계속 실행되어야 하는 임베디드 시스템에 필수적인 요소로 자리 잡고 있습니다.

 

임베디드 시스템의 운영체제에는 크게 Hard real-time system과 Soft real-time system이 있는데 이를 경성 시스템과 연성 시스템이라고도 부릅니다. Hard real-time system(경성 시스템)은 제어 작업이 데드라인을 어기는 경우 시스템에 심각한 영향을 주는 Time-critical 속성을 지닌 시스템으로 원자력 발전소 제어, 화재 경보 시스템, 항공기, 자동차 등이 있습니다. Soft real-time system(연성 시스템)은 제어 작업이 데드라인을 어기더라도 성능에 크게 영향을 주지 않으며, 무효화 처리 또는 복구 등을 통해 재가동을 할 수 있는 시스템입니다. 연성 시스템의 예로는 컴퓨터, 모바일 기기, 네트워크 관련 기기 등이 있습니다.

 

실시간 운영체제의 특징 및 필요성

실시간 운영체제의 특징은 다음과 같습니다.

- 실행 시간 예측이 가능하며 실시간성을 띄고 있다.

- 시스템의 응답 속도, 인터럽트 등에서도 성능이 우수하다.

- 모듈화, 선점형 멀티 태스킹, 스케줄링, 통합 개발 환경 등을 지원한다.

- 한 가지 목적에 최적화가 되어있다.

- ROM에 프로세스와 커널을 담아 주소 공간을 공유한다.

 

임베디드 시스템의 요구조건은 처리능력 향상, 사용 가능도 향상, 신뢰도 향상, 반환 시간 단축 등이 있으며 이들 중 반환 시간, 사용 가능도, 신뢰도 등은 운영체제의 성능을 평가하는 기준이 되고 있습니다. 임베디드 시스템은 더욱 복잡해지고 더 많은 메모리와 인터페이스가 요구되면서 운영체제의 서비스에 대한 기대도 높아지고 있는 가운데 임베디드 시스템이 발전함에 따라 컴퓨터 영역의 기능들을 하나둘씩 공유하고 있습니다. 따라서 사용 목적 및 용도에 따라 다양한 기능을 요구하는 임베디드 시스템에 실시간 운영체제가 필요해지고 있는 것입니다.

 

하지만, 실시간 운영체제는 크기가 크고, 커널의 재구성이 비교적 용이하지 않은 점, 다양한 시스템을 구성하기 힘들며 비용이 많이 드는 단점도 존재하기 때문에 모든 임베디드 시스템에 실시간 운영체제가 적용되는 것은 아닙니다.

 

실시간 운영체제의 종류

실시간 운영체제는 1970년대 후반에 처음 등장하여 현재까지 더욱 복잡하고 다양해지고 있습니다. 실시간 운영체제는 상용 RTOS와 무료 오픈소스 RTOS로 구분이 가능하며 사용 목적에 따라 다양하게 이용되고 있습니다.

 

1. VxWorks : 윈드리버 시스템사가 개발한 실시간 운영체제로 윈드리버는 현재 IBM 소속입니다. VRTX와 pSOSystem을 위한 개발환경과 네트워크 환경을 제공하기 위하여 개발되었습니다.

 

2. OSE : 이탈리아의 Enea에서 개발한 실시간 운영체제로 하드웨어 사용률을 극대화하는 고성능 POSIX 호환 멀티코어 실시간 운영체제입니다. 통신에서 자동차, 산업 자동화 및 다양한 임베디드 시스템에 전원을 공급하고 있습니다.

 

3. Embedded Linux : Unix 계열 시시간 운영체제로 전자, 항공, 군용, 산업 공정제어 등 통신 응용 분야에서 다양하게 사용되고 있습니다. Embedded Linux는 군사용 보안 프로토콜과 호환되며 커널의 고유한 스레드 모델로 인해 입력 및 출력이 많아도 예측 가능한 응답 시간이 보장되고 인터럽트 루틴이 매우 짧고 빠른 것이 특징입니다.

 

4. RTLinux : FSMLabs의 상용 RTOS로 기존 Embeded Linux에서 경성 실시간성 시스템을 부여하기 위해 시작된 프로젝트입니다.

 

5. Windows Embedded Compact : 과거 Windows CE로 많이 알려져 있으며 마이크로소프트에서 개발한 실시간 운영체제입니다. 일반적으로 PDA, PMP 등에 많이 사용되면서 알려졌으며 Windows mobile, Poket PC 등의 운영체제와 서로 상호 교환적으로 사용되고 있습니다.

 

이 외에도 QNX, OS-9, VRTX, eCOS, uC/OS-II, Nucleus Plus, Tron, Qplus 등 다양한 실시간 운영체제가 존재하며 각각의 목적에 맞게 사용되고 있습니다.

반응형