Step-by-Step

[OS] 개요 - Zephyr란 무엇인가 본문

OS/Zephyr

[OS] 개요 - Zephyr란 무엇인가

희주(KHJ) 2026. 6. 18. 21:51

Zephyr

Zephyr는 임베디드 시스템 및 IoT 기기를 위한 오픈소스 실시간 운영체제(RTOS, Real-Time Operating System)이다.

2016년부터 The Linux Foundation 산하 프로젝트로 운영되고 있으며, 다양한 MCU(Microcontroller Unit)과 SoC(System on Chip)을 지원한다.

Zephyr는 적은 메모리와 저장 공간에서도 동작할 수 있도록 설계되어 있으며, 실시간성이 중요한 임베디드 환경에서 사용된다.

 

 

개발 배경

기존 임베디드 시스템에서는 FreeRTOS, VxWorks, ThreadX 등 RTOS가 널리 사용되어 왔다.

IoT 시장이 확대되면서 다음과 같은 요구사항이 증가하게 되었으며, Zephyr 프로젝트를 시작하게 되었다.

  • 다양한 MCU 지원
  • 오픈소스 기반 개발 환경
  • 네트워크 기능 내장
  • 보안 기능 제공
  • 장기적인 유지보수

Zephyr는 단순한 RTOS 기능 뿐 아니라 다음 요소들을 하나의 프레임워크로 제공한다.

Kernel
Device Driver Framework
Device Tree
Kconfig
Networking Stack
Bluetooth Stack
Security Framework

특히 Linux에서 사용되는 Device Tree와 Kconfig를 도입하여 Linux 개발 경험을 가진 개발자가 쉽게 적응할 수 있도록 설계되었다.

 

 

주요 특징

1. 경량 운영체제

Zephyr는 매우 작은 메모리 환경에서도 동작할 수 있다. 가령,

RAM : 수 KB ~ 수백 KB
Flash : 수십 KB ~ 수 MB

따라서 메모리 자원이 제한적인 MCU에서도 사용이 가능하다.

 

2. 실시간 운영체제

Zephyr는 실시간 응답성을 보장하도록 설계되었다.

Thread / Scheduler / Mutex / Semaphore / Interrupt Handling / Timer

위 기능을 통해 정해진 시간 내에 작업을 수행해야 하는 시스템에 적합하다.

 

3. Device Tree 지원

Zephyr는 Linux와 유사한 Device Tree 기반 하드웨어 기술 방식을 사용한다.

temp0: temp0 {
    compatible = "vendor,temp";
    reg = <0x10000000 0x1000>;
    temp-id = <0>;
};

하드웨어 정보와 드라이버 코드를 분리할 수 있다.

 

4. Kconfig 기반 설정

Zephyr는 Linux와 동일한 Kconfig 시스템을 사용한다.

temp0: temp0 {
    compatible = "vendor,temp";
    reg = <0x10000000 0x1000>;
    temp-id = <0>;
};

필요한 기능만 선택하여 펌웨어 크기를 최소화할 수 있다.

 

5. 다양한 아키텍처 지원

하나의 소스 코드를 다양한 플랫폼에서 사용할 수 있다.

 

  • ARM Cortex-M
  • ARM Cortex-R
  • ARM Cortex-A
  • RISC-V
  • x86
  • ARC

 

 

Linux와의 차이점

항목 Zephyr Linux
목적 MCU 기반 RTOS 고성능 범용 OS
실시간성 높음 제한적
MMU 필요 여부 불필요 필요
메모리 요구량 KB~MB 수십~수백 MB
프로세스 지원 없음 있음
사용자 공간 없음 있음
부팅 시간 수 ms 수 초
Device Tree 지원 지원
Kconfig 지원 지원

위 특징을 살펴보면, Zephyr 가 Linux에 훨씬 가벼운 OS라는 점을 알 수 있다.

 

 

Comments