페이지 선택
Generic selectors
Exact matches only
Search in title
Search in content
Search in pages

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는 Linux와 같은 시스템에 비해 Resource가 비교적 적은 MCU에 적용할 수 도 있으며,

순차 프로그랭밍 방식과 다르 게 어플리케이션을 바로 구현할 수 있도록 밑바닥이 아예 준비된 시스템이라고 볼 수 있다.

 

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

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

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

 

 

 

 

 

 

 

Adsense

EMW3070

Viewed Page List