나노 큐플러스(NanoQplus)는 한국전자통신연구원(ETRI)에서 만든 센서 네트워크 노드용 초소형 운영체제이다. 나노 큐플러스는 손쉬운 응용 개발에 초점을 맞췄으며, 기본적인 C 문법을 알고 있다면 누구나 손쉽게 프로그래밍이 가능한 특징을 갖고 있다. 한국전자통신연구원은 2007년 9월 16일 나노 큐플러스 2.3 버전의 소스 코드를 일반에 공개하였다.
== 구성 및 특징 ==
=== 플랫폼 ===
나노 큐플러스는 공개 버전으로 ATmega128과 MSP430 등 2 가지 프로세서를 지원한다. 비공개 버전(상용 버전)으로 TI의 CC2430, Radiopulse의 MG2455-F48, ARM 프로세서인 S3FN41F(ARM Cortex-M0), ARM-TDMS-S, 그리고 MC9S12XDP512 프로세서도 지원한다. 지원하는 대표적인 무선 센서 노드 플랫폼은 다음과 같다.
휴인스의 UBee430
아이앤테크의 Kmote
Moteiv의 Tmote-Sky
하이버스의 HMote2420
MEMSIC의 MICAz
한백전자의 Zigbex, Ubi-msp430, Ubi-coin
옥타컴의 Nano24, OCX-Z
=== 커널 ===
나노 큐플러스는 멀티 스레드를 지원하며, 우선순위 기반 선점형 라운드-로빈 방식의 스케줄러를 사용한다. 커널이 제공하는 주요 기능들은 다음과 같다.
멀티 스레드
힙 영역 동적 메모리 관리
스레드간 동기화 및 크리티컬 섹션 보호를 위한 세마포어
타이머
태스크 큐
=== 네트워크 ===
나노 큐플러스는 센서 네트워크 노드용 운영체제로 IEEE 802.15.4 기반 무선 통신을 지원하는 CC2420 드라이버와 MAC 프로토콜 및 라우팅 프로토콜을 제공한다.
==== MAC 프로토콜 ====
NanoMAC: 단일 홉 통신을 위한 간결한 MAC 프로토콜로 저전력을 위하여 IEEE 802.15.4 중 최소한의 필수 기능들만으로 구현되어 있음.
==== 라우팅 프로토콜 ====
RENO: 멀티 홉 통신을 위한 동적 온-디멘드 라우팅 프로토콜
TENO: 멀티 홉 통신을 위한 트리기반 라우팅 프로토콜
==== 인터넷 프로토콜 ====
나노 큐플러스는 상호운용성(interoperability)을 위하여 인터넷 프로토콜을 지원한다.
6LoWPAN: RFC 4944를 기반으로 LoWPAN 환경에 적합한 이웃탐색 프로토콜인 draft-ietf-6lowpan-nd-18과 RFC 6282를 지원하고 있다.
RPL: IETF ROLL WG에서 표준화를 진행 중인 IPv6 라우팅 프로토콜이다.
CoAP: IETF CoRE WG에서 표준화한 응용 계층 REST 프로토콜로 RFC 7252에 따라 구현되었다.
== 참조 ==
== 같이 보기 ==
큐플러스-에어(Qplus-Air): 무인항공기용 운영체제(OS)