페이지 선택

RTOS

RTOS는 시스템에서 발생하는 어떤 이벤트나 수행할 작업들을 가능한 실시간적으로 처리하는 것을 목표로 만들어진 경량한 O/S를 지칭한다.

RTOS는 Linux와 함께 임베디드 시스템의 핵심으로 자리잡고 있으며, 개발자들은 RTOS에서 제공하는 기본구조 위에서 어플리케이션을 개발하면 되겠다.

 

⊕ 설명의 단순함을 위해, RTOS 관련 이하 모든 내용은 단일 프로세스에 다중 쓰레드 방식을 가정하여 설명하는 것임을 유의하자.

 

 

 

 

1. 순차 프로그램 vs. RTOS에서 프로그램의 흐름

RTOS는 그 목표가 그렇듯이 순차 프로그래밍에서 구현하기가 힘든 실시간적 이벤트 처리에 매우 적합하도록 설계되어져 있다.

이는 두 방식간의 SW 흐름이 다를 것임을 의미한다. 아래 그림을 통해 두 방식간의 차이를 이해해 보자.

 

 

———————-   그림 삽입 ————————-

 

 

 

2. RTOS의 Kernel의 서비스

멀티쓰레드로 구조된 어플리케이션이 안정적으로 운행되고 각종 이벤트들이 실시간적으로 처리되기 위해서는,

전체 시스템의 근간이 되는 RTOS의 핵심(커널)이  다음과 같은 서비스를 열씨미 제공해 주고 있기 때문이다.

 

♦ Thread Scheduling → scheduling interval=1~10ms (STM32기준 참고용, 실질적으로 경우마다 다름)

♦ Context Switching → switching time=5~50us (STM32기준 참고용, 실질적으로 경우마다 다름)

♦ ISR Management

♦ Resource Management

 

 

 

 

3. RTOS 사용의 장점

RTOS는 Resource가 비교적 적은 MCU에도 적용할 수 있으며, 어플리케이션을 바로 구현할 수 있도록 밑바닥이 아예 준비된 시스템이라고 볼 수 있다.

 

♦ 순차 프로그램밍 방식으로 개발할때 요구 되었던 반복적인 코딩 작업에 대한 많은 노고를 경감할 수 있을 뿐만 아니라,

♦ 어플리케이션의 개발, 수정, 재사용성, 유지보수를 용이하게 할 수 있으며,

♦ 짧은 시간에 시스템의 신뢰성를 확보, 즉 시스템의 완성도를 높일 수 있다는 장점이 있다.

 

 

 

 

 

 

 

Viewed Page List