Darwin
[image]
1. 개요
Apple이 Apple 제품에 써먹기 위해 만들고 있는 운영 체제이다. 별로 들어본 적이 없을 수도 있겠지만, 현재 Apple에서 쓰이고 있는 macOS, iOS, watchOS, iPadOS, tvOS 등의 운영체제들은 전부 Darwin을 기반으로 한다. macOS에서 터미널에 uname을 입력하면 macOS가 아닌 Darwin이 뜬다.[1] 정확하진 않지만 우분투, 레드햇 등의 운영 체제에 공통으로 쓰이는 리눅스 커널 같은 존재라고 하면 이해하기 쉽다. 다른 점이라면 리눅스 자체는 커널뿐이라 완전한 운영 체제는 아니지만, Darwin은 XNU 커널을 기반으로 혼자서도 돌아가는 완전한 운영 체제라는 것이다. XNU 커널은 Mach 커널과 BSD 커널로 구성된다.
Apple이 지금도 활발히 제작하고 있는데, Darwin이 새 버전을 업데이트하면 그것 위에 코코아 프레임워크 등을 올려서 macOS, iOS의 새 버전을 만드는 식이다.
1985년, 카네기 멜런 대학교에서 Mach라는 이름의 마이크로 커널을 개발하였다. 1986년, "Mach: A New Kernel Foundation for UNIX Development"라는 논문을 USENIX 컨퍼런스에서 발표하여 널리 알려진다. 스티브 잡스가 이끄는 NeXT는 Mach 3.0 커널을 기반으로 4.3 BSD의 POSIX API를 접목하여 NeXTSTEP이라는 OS를 개발하였으며, 이 OS는 스티브 잡스의 Apple 복귀 이후 '랩소디' 프로젝트를 통해 Apple의 컴퓨터에 적용되었다. 이렇게 하여 OS X과 iOS도 같은 역사를 공유하게 된 것이다. OS X은 서버 버전이 1999년에 출시되었으나 그 뿌리는 BSD가 출시된 1977년도까지 이어진다. 일반 사용자들을 대상으로 우리가 알고 있는 모습의 OS X이 공개된 것은 2001년의 OS X 10.0부터이다.
2021년 2월 기준으로 최신 버전인 macOS Big Sur의 Darwin 커널 버전은 20.3.0이다.
2. 기타
여담으로, Darwin은 오픈 소스다. 그래서 수많은 프로젝트가 존재하는데, OpenDarwin, MacPorts, GNU-Darwin, Darbat 프로젝트 등이 있으며 SELinux를 Darwin으로 포팅하는 경우도 있다. 하지만 ARM용은 아직 공개를 안 했는데, 그래서 iOS의 기반이 되는 ARM용 Darwin은 어떻게 만들어졌는지 현재로서는 알 수가 없다.
이 문서를 확인해보면 버전별 Darwin의 출시일을 알 수 있다.