최근 수정 시각 : 2024-09-20 23:43:11

XNU

UNIX
{{{#!wiki style="margin:0 -10px -5px"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin:-6px -1px -11px"
BSD FreeBSD DragonFly BSD · TrueOS · GhostBSD
NetBSD OpenBSD
XNU Darwin · NeXTSTEP · macOS · iOS· iPadOS · tvOS · watchOS · visionOS
System III/
System V
Solaris OpenSolaris Illumos SmartOS · OpenIndiana
IBM AIX · HP-UX
기타 Mach · Minix · Redox · VMware ESXi (vSphere · vCenter)
취소선 처리된 배포판은 개발 중단된 배포판.
}}}}}}}}} ||




파일:Apple 로고.svg

개발 Apple
기반 Mach, BSD
개발 언어 C , C++, 어셈블리어
라이선스 Apple Public Source License 2.0
지원 중인 플랫폼 AMD64, ARM, ARM64
지원 중단된 플랫폼 IA-32, PowerPC
커널 종류 하이브리드 커널
소스 코드 파일:GitHub 아이콘.svg파일:GitHub 아이콘 화이트.svg

1. 개요2. 커널 구성
2.1. Mach2.2. BSD

[clearfix]

1. 개요

XNUDarwin커널이다. XNU는 "X is Not Unix"라는 문장의 머릿글자이다. XNU 기반의 Darwin은 ApplemacOSiOS의 핵심 요소로 사용된다.

X is Not Unix(X는 Unix가 아니다)라는 이름에도 불구하고, XNU를 기반으로 하는 macOS는 UNIX 인증을 받았다. 그리고 UNIX 중에서도 AT&T 코드 베이스 시스템에 해당하는 "유전적 UNIX"로 분류된다. 이게 무슨 뜻이냐면, XNU는 UNIX 중에서도 정통 UNIX 시스템에 해당한다는 뜻이다(...).[1]

2. 커널 구성

파일:The_XNU_Kernel_Graphic.png

2.1. Mach

제일 밑바탕이 되는 것은 마이크로커널Mach이다. 여기서 Mach는 마하가 아니라 '먹'([mʌk])이라고 읽는다.

2.2. BSD

Mach 커널 위에 BSD 모놀리식(Monolithic) 커널의 구성 요소들이 올라간다. 이 부분은 POSIX API를 제공한다. 또한 Mach 커널 위에서의 유닉스 프로세스 모델, 보안 규칙, 사용자와 그룹 ID, 권한, 네트워크 프로토콜, 가상 파일 시스템(저널링 단에 독립적인 파일 시스템도 포함), HFS/HFS+, 네트워크 파일 시스템, 클라이언트/서버, 암호 프레임워크, 유닉스 시스템 V, 프로세스 간 통신(IPC), 유닉스 audit 시스템, 필수 접근 관리 등을 제공한다.[2]


[1] 사실 OS계열에서 OO is not UNIX라고 재귀약어로 이름 붙이는 경우가 종종 있다[2] #

분류