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 환경 구성하여 개발환경 구성

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^