2018년 12월 21일
IoT 운영체제
I. 소형기기 최적화 임베디드 운영체제, IoT 운영체제
IoT 장치의 하드웨어와 소프트웨어를 효과적으로 관리하기 위해 IoT 장치에 최적화된 운영체제
II. 스마트더스트 프로젝트, TinyOS
가. TinyOS 개념/특징
개념 | 특징 |
---|---|
스마트더스트 프로젝트 사용 위해 제작한 컴포넌트기반 임베디드 장치용 소형 운영체제 | – Event-Driven (인터럽트 기반) – 초소형(4KB OS코드, 256B MEM) – 단일 어플리케이션으로 구성 – 전용언어(nesC), FIFO 스케줄러 |
나. TinyOS 구조/구성요소
구조도 | ||
구성요소 | Main | – Kernel 스케줄러, 초기화, 모듈실행 |
Application | – 사용자 영역으로, 단일 실행파일 | |
Sensing Layer | – 센싱, 구동, 통신 역할 | |
H/W 추성화 | – H/W독립, 추상, 종속 영역 |
– 일반 운영체제와 달리 OS와 Application이 함께 컴파일되어 H/W 플랫폼에 다운로드
III. 무선 센서 네트워크, NanoQPlus
가. NanoQPlus 개념/특징
개념 | 특징 |
---|---|
IoT, M2M 등 무선 센서 네트워크 분야에 사용되는 임베디드 장치용 초소형 운영체제 | – POSIX기반 Multi-Thread 지원 – 선점형 스케줄링, 실시간 응답성 – 저전력 (Sleep Mode 지원) – H/W 기반 선택적 커널모듈 – C언어 기반 쉬운 응용개발 |
나. NanoQPlus 구조/구성요소
구조도 | ||
구성요소 | Kernel | – Multi-Thread, Priority RR, 세마포어 |
Protocol | – 802.15.4, S-MAC, 6LowPAN, CoAP | |
User API | – 센서노드 H/W 제어, API형태 제공 | |
Sensor Driver | – LED, IR, 온도, 습도 센서 드라이버 | |
H/W 추성화 | – MCU, RF 안테나, Sensor |
– 국내 ETRI에서 개발하여 다양한 장치에 사용 가능한 센서 드라이버 탑재, 응용 App 개발 가능
– TinyOS와 비교하여 무겁지만 다양한 활용 가능
IV. 실시간 임베디드 운영체제, RTOS
가. RTOS 개념/특징
개념 | 특징 |
---|---|
실시간 장치 운영 위해 Deadline을 준수하는 경량 스케줄러 기반 임베디드 운영체제 | – Deadline 준수 경량 스케줄러 – 소형 Foot Print – User Job 작성 편의 – 외부 모듈 사용 가능 |
나. RTOS 구조/구성요소
구조도 | ||
구성요소 | 경량 Kernel | – Deadline 준수, User Job 실행 |
H/W Abstract | – App과 H/W 간 추상화로 분리 | |
소형 FootPrint | – Task 단위 User Job 자료구조 분리 | |
외부 모듈 | – 기능 독립적 외부 모듈 |
– Task 크기에 따른 H/W 용량 변경, Task 스케줄링에 따른 우선순위 역전 현상 대책 마련
– RTOS 최적화 위해 디버깅용 Plug-in IDE 혹은 Logging 환경 구성하여 개발환경 구성