NuttX

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

NuttX는 표준을 준수하는 C 언어로 작성된 실시간 운영체제(RTOS) 커널이다. GNU/Linux 빌드 방식을 사용하며, 모듈형 설계, BSD 소켓 인터페이스, 대칭 멀티 프로세싱(SMP), 쓰레드 로컬 저장소(TLS)를 지원한다. 또한, IPv4, IPv6, TCP/IP, UDP, ARP, ICMP, ICMPv6, IGMPv2, MLDv1/v2 등 유닉스 및 다양한 표준 네트워크 프로토콜을 지원하며, 네트워크 파일 시스템(NFS)과 Nutt Shell을 제공한다. NuttX는 3DR의 픽스호크 프로젝트 및 플라이트 컨트롤러에 사용되며, MP3 플레이어 등 여러 소형 장치 운영체제로도 활용된다. PX4 오토파일럿 드론, 픽스호크, OsmocomBB, Haltian의 Thingsee IoT 게이트웨이 장치, 모토로라 Moto Z, 소니의 오디오 프로세서 및 Spresense 개발 보드, 삼성전자 타이젠 RT, 샤오미 Vela 등 다양한 프로젝트에서 사용된다.

NuttX - [IT 관련 정보]에 관한 문서
기본 정보
이름NuttX
개발자아파치 소프트웨어 재단
소스 모델오픈 소스
지원 플랫폼ARM
AVR
AVR32
HCS12
LM32
MIPS
RISC-V
OpenRISC
SuperH
Xtensa
x86
x86-64
Z80
계열POSIX
최초 출시2007년
최신 버전12.7.0
최신 출시일2024년 10월 30일
마케팅 대상임베디드 시스템
프로그래밍 언어C
C++
어셈블리
작업 상태현재
커널 종류실시간 마이크로커널
라이선스아파치 라이선스 2.0
웹사이트NuttX 공식 웹사이트
📚 더 읽어볼만한 페이지
  • 마이크로커널 - QNX
    QNX는 고든 벨과 댄 도지가 개발한 마이크로커널 기반의 실시간 운영 체제로, 산업용 기계 제어 분야에서 신뢰성을 인정받아 현재는 블랙베리가 소유하며 자동차 인포테인먼트 시스템, 자율 주행 시스템 등 다양한 임베디드 시스템에 활용되고, POSIX 표준 준수로 유닉스 계열 소프트웨어와 호환된다.
  • 마이크로커널 - Mach (커널)
    Mach 커널은 1980년대 DARPA에서 개발한 멀티프로세서 운영 체제로, 멀티프로세서 지원, 거대한 메모리 공간 활용, 분산 시스템 지원을 목표로 개발되었으며, 마이크로커널 구조를 채택하여 다양한 운영체제의 기반 기술로 활용되었다.
  • 임베디드 운영체제 - 블랙베리 10
    블랙베리 10은 2013년에 출시된 블랙베리 리미티드의 모바일 운영 체제로, 터치스크린 및 물리 키보드 스마트폰을 지원하며 제스처 기반 인터페이스, 블랙베리 허브 등의 기능을 제공했으나 2022년에 공식 지원이 종료되었다.
  • 임베디드 운영체제 - QNX
    QNX는 고든 벨과 댄 도지가 개발한 마이크로커널 기반의 실시간 운영 체제로, 산업용 기계 제어 분야에서 신뢰성을 인정받아 현재는 블랙베리가 소유하며 자동차 인포테인먼트 시스템, 자율 주행 시스템 등 다양한 임베디드 시스템에 활용되고, POSIX 표준 준수로 유닉스 계열 소프트웨어와 호환된다.
  • 실시간 운영체제 - Nucleus RTOS
    Nucleus RTOS는 1993년 Accelerated Technology에서 출시된 실시간 운영 체제로, 다양한 아키텍처와 구성 요소를 지원하며 안전 인증을 받아 여러 제품에 사용되었다.
  • 실시간 운영체제 - 블랙베리 10
    블랙베리 10은 2013년에 출시된 블랙베리 리미티드의 모바일 운영 체제로, 터치스크린 및 물리 키보드 스마트폰을 지원하며 제스처 기반 인터페이스, 블랙베리 허브 등의 기능을 제공했으나 2022년에 공식 지원이 종료되었다.

2. 핵심 기술

* 표준을 준수하는 C로 작성된 커널 (GNU/Linux 빌드 방식)을 사용한다.
* 모듈형 설계로 되어 있다.
* BSD 소켓 인터페이스를 제공한다.
* 대칭 멀티 프로세싱(SMP)을 지원한다.
* 쓰레드 로컬 저장소(TLS)를 지원한다.
* 네트워크 파일 시스템(NFS)을 지원한다.
* 유닉스 및 다양한 표준 네트워크 프로토콜을 지원한다.

👆
좌우로 밀어서 보기
프로토콜내용
IPv4지원
IPv6지원
TCP/IP지원
UDP지원
ARP지원
ICMP지원
ICMPv6지원
IGMPv2지원
MLDv1/v2클라이언트 측 지원


* Nutt Shell을 제공한다.

2.1. 커널

표준을 준수하는 C로 작성된 커널 (GNU/Linux 빌드 방식)을 사용한다.

2.2. 모듈형 설계

NuttX는 표준을 준수하는 C로 작성된 커널을 사용하며, 모듈형 설계를 통해 시스템의 유연성과 확장성을 제공한다.

2.3. 인터페이스 및 프로토콜 지원

* BSD 소켓 인터페이스를 지원한다.
* 대칭 멀티 프로세싱(SMP)을 지원한다.
* 쓰레드 로컬 저장소(TLS)를 지원한다.
* 네트워크 파일 시스템(NFS)을 지원한다.
* 유닉스 및 다양한 표준 네트워크 프로토콜을 지원한다.

👆
좌우로 밀어서 보기
프로토콜내용
IPv4지원
IPv6지원
TCP/IP지원
UDP지원
ARP지원
ICMP지원
ICMPv6지원
IGMPv2지원
MLDv1/v2클라이언트 측 지원

2.4. Nutt Shell

Nutt Shell (NSH)을 제공하여 사용자 인터페이스를 제공한다.

3. 저수준 저전력 장치 운영체제

NuttX는 오픈소스 및 오픈 하드웨어로 유명한 드론 업체 3DR의 픽스호크 프로젝트 및 플라이트 컨트롤러(FC)에 사용되는 운영체제이다. 리눅스재단의 드론코드 프로젝트는 PX4를 채택하고 있다.

NuttX는 자원을 최소한으로 구성하여 최적의 성능을 얻기 위한 저수준에서 매우 효율적이며, MP3 플레이어 등 여러 소형 장치의 운영체제로 사용되고 있다.

3.1. 픽스호크 프로젝트

3DR의 픽스호크 프로젝트(Pixhawk project, PX4) 및 플라이트 컨트롤러(FC)에 NuttX가 사용되었다. 픽스호크 플라이트 컨트롤러는 32비트 ARM 아키텍처인 Cortex M4를 장착했다.

3.2. 드론코드 프로젝트

리눅스 재단의 드론코드 프로젝트는 PX4를 채택하고 있다.

3.3. 기타 소형 장치

NuttX는 자원을 최소한으로 구성하여 최고의 성능을 내도록 설계되어, 저수준에서 매우 효율적이다. 또한 MP3 플레이어 등 여러 소형 장치에서 운영체제로 사용되고 있다.

4. NuttX를 사용하는 프로젝트

NuttX는 MP3 플레이어 등 여러 소형 장치에서 운영체제로 사용될 정도로 리소스를 최소한으로 사용하면서도 최적의 성능을 낼 수 있도록 설계되어 저수준에서 매우 효율적이다.

👆
좌우로 밀어서 보기
분야프로젝트
드론 및 오토파일럿PX4 오토파일럿, 픽스호크
모바일 및 IoTOsmocomBB, ThingseeOS, 모토로라 Moto Z
오디오 프로세서소니 오디오 프로세서
개발 보드소니 Spresense 개발 보드
기타 플랫폼삼성전자 타이젠 RT, 샤오미 Vela

4.1. 드론 및 오토파일럿

NuttX는 오픈소스 및 오픈 하드웨어로 유명한 드론 업체 3DR의 픽스호크 프로젝트(PX4) 및 플라이트 컨트롤러(FC)에 사용되는 운영체제이다. 픽스호크 플라이트 컨트롤러는 32비트 ARM 아키텍처인 Cortex M4를 장착했다. 리눅스 재단의 드론 코드 프로젝트는 PX4를 채택하고 있다.

* PX4 오토파일럿 드론.
* 고급 사용자 친화적인 오토파일럿인 픽스호크.

4.2. 모바일 및 IoT

* OsmocomBB는 NuttX를 사용하여 휴대폰용 운영 체제를 개발한다.
* Haltian의 Thingsee IoT 게이트웨이 장치는 NuttX를 기반으로 하는 ThingseeOS 운영 체제를 사용한다.
* 모토로라 Moto Z.

4.3. 오디오 프로세서

소니는 오디오 프로세서에 NuttX를 사용하고 있다.

4.4. 개발 보드

소니는 Spresense 개발 보드에 NuttX를 사용하고 있다.

4.5. 기타 플랫폼

삼성전자의 타이젠 RT는 NuttX RTOS를 기반으로 한다. 샤오미의 Vela는 NuttX를 기반으로 하는 IoT 소프트웨어 플랫폼이다.