XNU

위키백과, 우리 모두의 백과사전.

XNU 커널
개발자애플
저장소
운영 체제다윈, iOS & 맥 OS X
종류커널
라이선스애플 공공 소스 라이선스 2.0
웹사이트opensource.apple.com/source/xnu

XNU맥 OS X 운영 체제에 사용할 목적으로 애플이 인수하고 개발한 컴퓨터 운영 체제 커널이다. 다윈 운영 체제의 일부로서 자유 및 오픈 소스 소프트웨어로 공개되었다. XNU는 X is Not Unix(X는 유닉스가 아니다)를 가리킨다.[1]

원래 NeXTNeXTSTEP 운영 체제에 사용할 목적으로 개발된 XNU는 카네기 멜론 대학교4.3BSD의 구성요소를 포함하여 개발한 마하 커널의 버전 2.5와, 드라이버 키트(Driver Kit)라는 이름의 객체 지향 API를 합친 하이브리드 커널이다.

애플이 NeXT를 인수한 뒤 마하 구성 요소는 3.0으로 업그레이드되었으며 BSD 구성 요소들은 FreeBSD 프로젝트의 코드 업그레이드와 더불어 업그레이드되었고 드라이버 키트는 입출력 키트로 불리는 드라이버를 기록하기 위해 C++ API로 대체되었다.

커널 디자인[편집]

XNU는 하이브리드 커널로, 모놀리식 커널마이크로 커널의 특징을 모두 갖고 있다.

Mach[편집]

XNU 커널의 기본인 Mach는 간단한 마이크로 커널이다. 그렇기 때문에 OS의 코어 부분을 분리된 프로세스에서 실행할 수 있고, 높은 유연성을 보인다(Mach 코어 상에서 여러 OS를 병렬로 실행할 수 있다). 그러나 커널 모드와 유저모드의 전환과 마이크로커널과 서비스 데몬의 주소 공간 사이의 맵핑과 복사때문에 오버헤드가 발생해, 퍼포먼스가 저하될 수 있다. macOS의 디자이너들은 속도를 올리기 위해 BSD의 기능을 마하 커널에 집어넣었다. 그 결과 마하 커널과 클래식 BSD 커널의 몇몇 장단점을 모두 가지게 되었다.

BSD[편집]

커널의 BSD 부분은 POSIX API과 마하 커널 위에서의 유닉스 프로세스 모델, 보안 규칙, 사용자와 그룹id, 권한, 네트워크 프로토콜, 가상 파일 시스템(저널링 단에 독립적인 파일시스템도 포함), HFS/HFS+, 네트워크 파일 시스템 클라이언트와 서버, 암호 프레임워크, 유닉스 시스템 V 프로세스 간 통신(IPC), 유닉스 audit 시스템, 필수 접근 관리 등을 제공한다.[2] XNU의 BSD 코드는 FreeBSD 커널에서 가져왔다. 많은 부분이 상당히 바뀌었지만 애플과 FreeBSD 프로젝트 사이에서의 코드 공유는 계속 일어나고 있다.[3]

K32/K64[편집]

맥 OS X 10.6 스노 레퍼드(다윈 버전 10) 이후 버전에 들어간 XNU의 경우 32비트의 K32와 64비트의 K64로 나뉜다.[4] K32는 64비트 애플리케이션을 사용자 공간에서 구동할 수 있다. 맥 OS X 10.6에서 추가된 것은 XNU를 64비트 커널 공간에서 구동할 수 있게 된 것이다. K64는 K32와 비교해서 많은 장점을 갖는다.[5]

  • 32GB 이상의 램을 관리할 수 있다.
  • 캐시 버퍼 사이즈가 32비트 커널이 허용하는 것보다 큰 사이즈를 가질 수 있어 I/O 성능을 향상시킬 수 있다.
  • 높은 성능의 네트워크 기기나 여러 GPU를 사용할 때의 성능이 증가한다. 이는 주변기기들이 아주 큰 직접 메모리 접근 버퍼를 가진다 해도 커널이 모두 64비트 공간에 할당할 수 있기 때문이다.

각주[편집]

  1. “Porting UNIX/Linux Applications to Mac OS X: Glossary”. Apple Computer. 2005. 2012년 8월 13일에 원본 문서에서 보존된 문서. 2016년 4월 20일에 확인함. 
  2. Watson, Robert (2008년 8월 2일). “Re: freebsd-advocacy Digest, Vol 248, Issue 1”. 《freebsd-advocacy》 (메일링 리스트). 2013년 10월 24일에 확인함. 
  3. “FreeBSD Quarterly Status Report (Grand Central Dispatch - FreeBSD port)”. April 2009. 2013년 10월 24일에 확인함. 
  4. Mac OS X 10.6 Snow Leopard: the Ars Technica review, page 5
  5. What's New in Mac OS X: Mac OS X v10.6

외부 링크[편집]