Programming/Etc

RTOS(Real-Time Operating System) 란?

통통만두 2010. 12. 16. 20:42
반응형

RTOS(Real-Time Operating System)

 

실시간 운영체제의 약자로서 사전적인 의미는 다음과 같다.

 

"디스크를 이용한 다중 프로그래밍 운영체제, 우선 순위가 높은 전위에서는 실시간 다중 프로그래밍을 하며,

 

우선 순위가 낮은 후위에서 일괄 처리를 한다. 디스크로부터의 프로그램 입력과 디스크로로의 프로그램 출력은

 

자동적으로 수행되며 동적인 주 기억 장치 할당 방식을 쓴다. "

 

RTOS나 OS 나 별반 크게 다를 것은 없다.

 

다만 Real-Time 이라는 개념과 조건이 붙어 있는 것이 차이인 것이다.

 

즉, 임베디드 시스템의 특성상 Real-Time  조건을 만족하기 위해 만들어진 것이라고 정의하고자 한다.

 

RTOS 가 사용된느 분야는 두 가지 분야가 있다.

 

멀티프로세서 시스템과 임베디드 시스템이 그것이다.

 

멀티프로세서 시스템은 여러개의 CPU를 다뤄야 함므로 특별한 OS가 사용된다.

 

우리가 접하는 임베디드 시스템을 보자면, 임베디드 시스템은 특정한 목적의 일을 하기 위한 특화된 시스템으로서

 

한정된 자원을 효율적으로 사용한다. 그러나 요즘은 그 개념이 깨어지고 있다.

 

PMP나 내비게이션을 보아도 거의 PC에 가까운 성능과 기능이 구현되어 있다.

 

즉 네트워크나 멀티미디어 정보처리의 중요성이 높아지게 되면서 자원을 효율적으로 사용하기 위해  Real-Time OS가

 

도입되어야 하는 것은 당연한 것이다.

 

Real-Time은 '실시간' 이라는 말이다.

 

이 개념은 어떠한 입력에 대한 출력값이 정해진 시간 이내에 처리되어야 하는 것을 말한다.

 

발전소나 군사무기에 대해 생각해보면 실시간 처리라는 개념은 당연히 필요한 것이다.

 

Real-Time 도 처리하는 데이터의 종류와 중요성에 따라 Soft Real-Time과 Hard Real-Time 으로 나눌 수 있다.

 

RTOS에서 가장 중요한 부분은 스케쥴러( Scheduler)로서 실시간 시스템의 여러가지 기능들을 관리하는 프로세스 또는

 

쓰레드(Thread)들에게 CPU  Time을 할당해 주는 기능이다.

 

Real-Time 조건을 만족시키기 위하여 처리되는 과정은 일반 OS와 차이가 나는데, 그 시간의 제한 허용할 수 있는 범위(deadline)를

 

넘겨도 시스템이나 결과값에 큰 영향을 주지 않는 시스템에 적용되는 것은 Soft  Real-Time이며, 이는 deadline 보다 우선순위에 의해

 

구현 및 작업을 수행한다.

 

Windows CE 에서는 우선순위는 0 ~ 255 까지 정할 수 있다. 여기서 숫자가 낮을수록 우선순위가 높다

 

Hard Real-Time 은 사전적 의미의 RTOS 조건을 만족하고 작업을 수행하는데 있어서 그 deadline을 절대로 넘겨서는 안 되는 시스템에

 

구현되는 것이다.

 

발전소, 군사무기 등이 이에 해당된다.

 

- 출처 : 임베디드 월드 -

반응형

'Programming > Etc' 카테고리의 다른 글

모든 이미지를 ico로 변환  (0) 2011.06.07
프로그래머 면접시 예상질문  (0) 2010.12.16
데드락 (deadlock)  (0) 2010.12.16
웹 사이트 모음  (0) 2010.09.28
MySQL ODBC Driver  (0) 2010.09.06