임베디드 시스템이란?
위의 〈표 1〉에서와 같이 임베디드 시스템은 다양한 하드웨어로 구성되며, 이를 개발하기 위해서는 각각의 하드웨어들마다 다른 도구들을 이용해야 하는 것을 의미한다. 따라서 특정 회사에서 다른 하드웨어 플랫폼을 가지고 기기를 생산하는 일은 이중으로 개발비가 소요된다는 의미가 될 수 있다.
소프트웨어 개발도 마찬가지로 임베디드 시스템의 하드웨어가 다르다면 별도의 도구를 이용해야 하므로 같은 소프트웨어이지만 소스코드 수준에서 별도로 개발을 해야 할 것이다. 임베디드 시스템에서는 기기 하나하나마다 이러한 비용이 붙게 되므로 단가 상승의 요인이 된다. 여기에 소요되는 비용을 줄이기 위해 〈그림 1〉에서처럼 하나의 통일된 OS를 유지할 필요가 있다.
임베디드 시스템에 내장되는 OS를 줄여 임베디드 운영체제(Embedded OS)라고 부른다. 임베디드 시스템에서의 OS의 역할은 위에서 언급한 것처럼 PC의 그것과는 몇가지 결정적인 차이가 있다. 다음에서 살펴보자.
용도의 구체성 PC를 포함한 일반적인 컴퓨터에서의 OS는 많은 사용자의 요구를 받아들여야 하기 때문에 뚜렷한 목적이 없다. 그러나 임베디드 시스템은 냉장고나 휴대폰 등 자신만의 고유한 목적이 있다. 따라서 임베디드 OS는 제품의 용도에 따라 그 목적성이 명확히 구분된다.
요구되는 안정성의 정도 PC의 OS도 작동중일 때 안정적으로 움직여야 하지만 임베디드 시스템에서는 지속성이 굉장히 중요하다. 자료를 잃는 점이 있지만 PC의 OS는 사용자가 작동을 쉽게 인지하므로 재시작이 가능하다. 그러나 임베디드 시스템에서는 그렇지 못한 경우가 많다. 따라서 임베디드 OS는 예상되는 어떠한 상황에서도 안정적으로 동작할 필요가 있다.
실시간 처리 능력의 정도 자동차의 엔진 역시 컴퓨터(ECU: Engine Control Unit)의 도움을 받아 작동한다. 만일 ECU가 제때에 엔진에 투입되는 연료량을 조절하지 못하거나 엔진점화를 하지 못한다면 엔진은 얼마 가지 못해 정지해 버릴 것이다.
이러한 특징을 가진 임베디드 시스템들은 시간에 따라 매우 엄밀하게 작동해야 한다. 이처럼 임베디드 시스템이 시간에 맞추어 작동하는 능력의 여부를 따지는 것을 실시간성이라 하고, 이런 시스템에 탑재되는 임베디드 OS를 실시간 OS(RTOS, Real-Time OS)라고 한다.
출처 : [네이버 지식백과] 임베디드 운영체제란? [Embedded OS-] (생활 속의 임베디드 소프트웨어, 2007. 11. 10., 한국전자통신연구원(ETRI), U-북)