PureDarwin
PureDarwin은 Apple의 공개 소스 운영체제 기반인 Darwin을 독립적으로 부팅해 사용할 수 있는 운영체제로 구성하려는 공동체 프로젝트다. XNU 커널과 Darwin 사용자 공간, 툴체인 및 부팅 도구를 결합하며 실제 하드웨어와 가상 머신용 이미지를 연구한다. 공개된 Darw...
| 분류 | Darwin 기반 공개 소스 운영체제 프로젝트 |
|---|---|
| 기반 운영체제 | Darwin |
| 커널 | XNU |
| 커널 계보 | Mach, BSD UNIX |
| 개발 방식 | 공개 소스 공동체 |
| 핵심 목표 | 독립 부팅 가능한 Darwin 구성 |
| 사용자 공간 | 공개 Darwin 라이브러리와 도구 |
| 실행 환경 | 가상 머신 및 개발용 하드웨어 |
| 관련 프로젝트 | OpenDarwin |
| macOS 호환성 | 일부 공통 API, macOS 전체와 구별 |
| 개발 상태 | 독립적인 공개 소스 프로젝트 |
| 저장소 | PureDarwin |
PureDarwin은 Apple의 공개 소스 운영체제 기반인 Darwin을 독립적으로 부팅해 사용할 수 있는 운영체제로 구성하려는 공동체 프로젝트다. XNU 커널과 Darwin 사용자 공간, 툴체인 및 부팅 도구를 결합하며 실제 하드웨어와 가상 머신용 이미지를 연구한다. 공개된 Darwin 기술로부터 운영체제를 재구성하는 프로젝트로서 macOS의 비공개 응용 프로그램을 모두 포함하는 배포판과는 다르다.[1]
PureDarwin은 Apple이 공개하는 Darwin 커널·사용자 공간 소스에서 실행 가능한 운영체제를 조립하는 문제에 집중한다. XNU가 실행 자원과 메모리, BSD 계열 시스템 인터페이스를 제공하고 사용자 공간의 라이브러리·셸·시스템 서비스와 빌드 도구가 그 위에 결합된다. 커널만 컴파일하는 것으로 일반적인 운영체제 환경이 완성되지는 않으므로 부팅 이미지, 사용자 공간 초기화, 동적 링커와 파일 시스템 구성이 중요한 개발 대상이다.[2]
Darwin은 Mach 기술을 포함한 XNU와 BSD에서 발전한 UNIX 시스템 기반으로, Linux나 FreeBSD의 바이너리 환경과 그대로 동일하지 않다. PureDarwin은 이 Apple 계열 구조를 일반 컴퓨터나 가상 머신에서 연구할 수 있게 하려는 접근을 취하며, 공개되지 않은 macOS 그래픽 환경과 각종 독점 서비스를 포함하지 않는다. 역사적으로 OpenDarwin 등 선행 프로젝트의 목표와 유사하지만 별도의 소스 구성과 커뮤니티 활동을 갖춘 시도로 구별된다.
PureDarwin의 중요한 과제는 Apple이 공개하는 커널과 사용자 공간 소스 코드가 그 자체로 완성된 macOS 설치 이미지와 동일하지 않다는 점에서 출발한다. XNU를 부팅시키는 과정뿐 아니라 동적 링커와 시스템 라이브러리, 셸 및 도구, 서비스 초기화 기능을 통합해야 실행 가능한 운영체제가 된다. 따라서 PureDarwin은 단순한 테마 변경판이 아니라 Darwin을 독립적인 시스템으로 구성하기 위한 프로젝트다.[3]
macOS와는 Mach·BSD 커널 기술과 Mach-O 형식 등 저수준의 일부 기술을 공유하지만, Finder나 Cocoa를 비롯한 비공개 구성 요소 전체를 제공하는 운영체제는 아니다. PureDarwin의 빌드·실행 경험은 Apple의 커널 아키텍처, 시스템 호출·라이브러리 및 드라이버 의존성을 살펴보는 연구에 활용할 수 있다. OpenDarwin은 비슷한 목표를 가진 역사적 공동 개발 활동으로, PureDarwin과는 별개로 구분된다.