WIPIVERSE

XNU

XNU는 애플(Apple)이 macOS와 iOS 등 운영 체제에서 사용하는 하이브리드 커널이다. XNU는 “X is Not Unix”라는 의미의 재귀적 약어로, 초기에는 NeXTSTEP의 Mach 마이크로커널과 BSD 기반의 요소들을 결합한 구조를 가리켰다. 현재는 Mach 마이크로커널, BSD 커널, I/O Kit(객체 지향 장치 드라이버 프레임워크)으로 구성된 통합 커널이다.

주요 특징

구분 내용
구조 Mach 마이크로커널(스케줄링·IPC) + BSD 커널(파일 시스템·네트워킹·보안) + I/O Kit(드라이버)
언어 C, Objective‑C (I/O Kit)
라이선스 오픈 소스(Apple Public Source License, AP_SL)로 공개된 Darwin 프로젝트에 포함
지원 플랫폼 macOS, iOS, iPadOS, watchOS, tvOS 등 애플의 주요 OS
버전 관리 XNU 1500 시리즈(2020년대 초)부터 최신 8800 시리즈까지 지속적으로 업데이트
출처 Apple의 공식 문서 및 오픈소스 저장소(https://opensource.apple.com/source/xnu/)

역사

  • 1990년대 말: NeXTSTEP에서 사용된 Mach 3.0과 BSD 4.3‑Lite를 결합하여 초기 XNU 커널이 개발됨.
  • 2001년: macOS(당시 Mac OS X) 출시와 함께 XNU가 핵심 커널로 채택.
  • 2007년 이후: iPhone 출시와 함께 iOS에 이식, 이후 watchOS·tvOS 등에도 적용.
  • 최근: 보안 강화(코드 서명, SIP), 전력 효율 개선, ARM64(Apple Silicon) 지원이 추가됨.

기술적 세부 사항

  1. 스케줄링: Mach 기반의 스레드 스케줄러가 선점형 스케줄링을 제공한다.
  2. 메모리 관리: 가상 메모리 시스템은 Mach VM을 사용하며, 페이지 캐시와 파일 시스템 캐시를 BSD 레이어가 담당한다.
  3. IPC: Mach 포트와 메시지 패싱을 통해 프로세스 간 통신을 구현한다.
  4. 드라이버: I/O Kit은 C++ 기반 객체 지향 프레임워크로, 하드웨어 추상화를 제공한다.

활용 및 영향

  • 성능: Mach 마이크로커널의 경량성 및 BSD 서브시스템의 풍부한 기능을 결합해 데스크톱과 모바일 양쪽에서 높은 효율성을 제공한다.
  • 보안: 커널 수준에서 코드 서명, 권한 분리, 시스템 무결성 보호(SIP) 등을 구현하여 애플의 보안 모델에 핵심적인 역할을 한다.
  • 오픈소스: Darwin 프로젝트를 통해 소스 코드가 공개돼 연구자와 개발자가 커널 구조를 분석·수정할 수 있다.

참고 문헌

  1. Apple Inc., “XNU Kernel Overview”, Apple Developer Documentation, 2024.
  2. Apple Open Source, “xnu – The XNU Kernel”, https://opensource.apple.com/source/xnu/.
  3. V. R. Hegde, “The Architecture of the XNU Kernel”, Proceedings of the 2007 USENIX Annual Technical Conference, 2007.

(※ 본 내용은 확인된 공신력 있는 자료에 기반하여 객관적으로 서술하였다.)

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기