MicroC/OS
(UCOS에서 넘어옴)
MicroC/OS(Micro-Controller Operating Systems, µC/OS)는 임베디드 소프트웨어 개발자 Jean J. Labrosse가 1991년에 설계한 실시간 운영 체제(RTOS)이다.
MicroC/OS-II
편집MicroC/OS-II(uC/OS-II로도 쓴다.)는 Jean J. Labrosse라는 엔지니어가 비상용 목적으로 처음 개발된 것을 시초로 한다. uC/OS-II는 이후 상용화되었으며 상용화 버전과 공개 버전 두가지 형태를 가지고 있다. uC/OS-II는 RTOS의 성격을 그대로 가지되, 다른 OS들에 비하여 매우 경량화된 구조와 크기를 가지고 있다.
특징
편집- 간단한 구조
- uC/OS, The Real-Time Kernel이라는 책은 uC/OS-II의 구조를 자세하게 나타낸 책으로서 그 내용만으로도 충분히 uC/OS-II의 구조를 파악하는 것이 가능하다.
- 작은 크기
- uC/OS-II는 OS가 가져야할 최소한의 것만을 갖추고 있으며 이마저도 옵션에 의해 일부 기능을 빼는 것이 가능하다. 따라서 OS 기능을 모두 사용한다고 하더라도 30kbyte 미만의 크기를 갖는다.
- 우선순위 기준
- uC/OS-II에서 두개 이상의 태스크가 특정 자원에 대하여 경쟁 상태에 놓여있다면, 어떤 상황이라고 할지라도 둘 중에서 우선순위가 높은 쪽이 항상 그 자원을 독점하도록 되어있다. 다른 OS들과 같이 먼저 기다린다거나 하는 식의 전환 방법은 존재하지 않는다. 또한 round robin을 지원하지 않기 때문에 같은 우선순위를 가진 태스크가 두개 이상 존재할 수도 없다.
- 정적인 메모리 사용
- uC/OS는 메모리 관리 기능을 가지고 있다. 하지만 이 메모리 관리 기능을 OS에서 직접 사용하지 않는다. 따라서 uC/OS-II는 내부적으로 동적인 메모리 관리가 전혀 이루어지지 않는다. uC/OS-II에서 사용되는 모든 메모리 자원들은 처음에 컴파일 시점에서 정해지거나 애플리케이션 쪽에서 할당된 메모리를 넘겨 받는 형태로만 운영이 가능하다.
MicroC/OS-III
편집MicroC/OS-III는 Micro-Controller Operating Systems Version 3의 준말로, 2009년에 도입되었으며 µC/OS-II RTOS에 기능을 추가한 것이다.
관련서적
편집- 《MicroC/OS-II 실시간 커널》 ISBN 8989975603