Darwin (operating system): Difference between revisions
imported>Dujo →Other derived projects: Dead URL use internet archive |
imported>Graham11 No edit summary |
||
| Line 4: | Line 4: | ||
{{Infobox OS | {{Infobox OS | ||
| name = Darwin | | name = Darwin | ||
| developer = [[Apple Inc.]] | | developer = [[Apple Inc.|Apple]] | ||
| family = [[Unix-like]],<ref>{{cite web|url=https://developer.apple.com/library/archive/documentation/Darwin/Conceptual/KernelProgramming/Architecture/Architecture.html|title=Kernel Architecture Overview|work=Kernel Programming Guide|access-date=May 27, 2019|archive-date=May 9, 2019|archive-url=https://web.archive.org/web/20190509231018/https://developer.apple.com/library/archive/documentation/Darwin/Conceptual/KernelProgramming/Architecture/Architecture.html|url-status=live}}</ref><ref>{{Cite web |url=https://github.com/apple/darwin-xnu/blob/master/README.md |title=darwin-xnu/README.md at master |website=[[GitHub]] |access-date=November 21, 2019 |archive-url=https://web.archive.org/web/20190331153214/https://github.com/apple/darwin-xnu/blob/master/README.md |archive-date=March 31, 2019 |url-status=live }}</ref> [[FreeBSD]],<ref name="apple_bsd_overview">{{Cite web |year=2002 |title=Apple BSD Overview |url=https://developer.apple.com/library/archive/documentation/Darwin/Conceptual/KernelProgramming/BSD/BSD.html |access-date=January 1, 2002 |publisher=Apple |archive-date=November 7, 2018 |archive-url=https://web.archive.org/web/20181107021823/https://developer.apple.com/library/archive/documentation/Darwin/Conceptual/KernelProgramming/BSD/BSD.html |url-status=live }}</ref> [[BSD]]<ref>{{cite web |url=http://developer.apple.com/darwin/projects/darwin/faq.html |title=Apple - Public Source - Darwin FAQ |archive-url=https://web.archive.org/web/20041119063203/http://developer.apple.com/darwin/projects/darwin/faq.html |archive-date=November 19, 2004 |access-date=August 9, 2021 |url-status=dead}}</ref> | | family = [[Unix-like]],<ref>{{cite web|url=https://developer.apple.com/library/archive/documentation/Darwin/Conceptual/KernelProgramming/Architecture/Architecture.html|title=Kernel Architecture Overview|work=Kernel Programming Guide|access-date=May 27, 2019|archive-date=May 9, 2019|archive-url=https://web.archive.org/web/20190509231018/https://developer.apple.com/library/archive/documentation/Darwin/Conceptual/KernelProgramming/Architecture/Architecture.html|url-status=live}}</ref><ref>{{Cite web |url=https://github.com/apple/darwin-xnu/blob/master/README.md |title=darwin-xnu/README.md at master |website=[[GitHub]] |access-date=November 21, 2019 |archive-url=https://web.archive.org/web/20190331153214/https://github.com/apple/darwin-xnu/blob/master/README.md |archive-date=March 31, 2019 |url-status=live }}</ref> [[FreeBSD]],<ref name="apple_bsd_overview">{{Cite web |year=2002 |title=Apple BSD Overview |url=https://developer.apple.com/library/archive/documentation/Darwin/Conceptual/KernelProgramming/BSD/BSD.html |access-date=January 1, 2002 |publisher=Apple |archive-date=November 7, 2018 |archive-url=https://web.archive.org/web/20181107021823/https://developer.apple.com/library/archive/documentation/Darwin/Conceptual/KernelProgramming/BSD/BSD.html |url-status=live }}</ref> [[BSD]]<ref>{{cite web |url=http://developer.apple.com/darwin/projects/darwin/faq.html |title=Apple - Public Source - Darwin FAQ |archive-url=https://web.archive.org/web/20041119063203/http://developer.apple.com/darwin/projects/darwin/faq.html |archive-date=November 19, 2004 |access-date=August 9, 2021 |url-status=dead}}</ref> | ||
| source_model = currently [[open source software|open source]] with [[Proprietary software|proprietary]] components,{{cn|date=July 2023}} previously [[Open-source software|open source]] | | source_model = currently [[open source software|open source]] with [[Proprietary software|proprietary]] components,{{cn|date=July 2023}} previously [[Open-source software|open source]] | ||
| Line 15: | Line 15: | ||
| working_state = Current | | working_state = Current | ||
| website = {{URL|https://opensource.apple.com/releases/}} | | website = {{URL|https://opensource.apple.com/releases/}} | ||
| latest release version = | | latest release version = 25.0.0 | ||
| latest release date = {{start date and age| | | latest release date = {{start date and age|2025|09|15}} | ||
| repo = {{URL|https://github.com/apple-oss-distributions/distribution-macOS}} | | repo = {{URL|https://github.com/apple-oss-distributions/distribution-macOS}} | ||
| influenced by = [[NeXTSTEP]], [[FreeBSD]], [[BSD]] | | influenced by = [[NeXTSTEP]], [[FreeBSD]], [[BSD]] | ||
| Line 23: | Line 23: | ||
{{macOS topics}} | {{macOS topics}} | ||
'''Darwin''' is the core [[Unix-like]] [[operating system]] of [[macOS]], [[iOS]], [[watchOS]], [[tvOS]], [[iPadOS]], [[audioOS]], [[visionOS]], and [[bridgeOS]]. It previously existed as an independent [[open-source software|open-source]] operating system, first released by [[Apple Inc.]] in 2000. It is composed of code derived from [[NeXTSTEP]], [[FreeBSD]]<ref name="apple_bsd_overview" /> and other [[BSD]] operating systems,<ref>{{Cite book |title=NeXTstep Concepts |publisher=[[NeXT]] |chapter=1. System Overview |chapter-url=https://www.nextcomputers.org/NeXTfiles/Docs/NeXTStep/3.3/nd/Concepts/Pre3.0_Concepts/01_SysOver.htmld/index.html |access-date=March 26, 2021 |archive-date=November 21, 2021 |archive-url=https://web.archive.org/web/20211121155935/https://www.nextcomputers.org/NeXTfiles/Docs/NeXTStep/3.3/nd/Concepts/Pre3.0_Concepts/01_SysOver.htmld/index.html |url-status=live }}</ref> [[Mach (kernel)|Mach]], and other [[free software]] projects' code, as well as code developed by Apple. Darwin's unofficial mascot is Hexley the Platypus.<ref>{{cite web |url=http://www.hexley.com/ |title=Homepage of Hexley the DarwinOS Mascot}}</ref> | '''Darwin''' is the core [[Unix-like]] [[operating system]] of [[macOS]], [[iOS]], [[watchOS]], [[tvOS]], [[iPadOS]], [[audioOS]], [[visionOS]], and [[bridgeOS]]. It previously existed as an independent [[open-source software|open-source]] operating system, first released by [[Apple Inc.|Apple]] in 2000. It is composed of code derived from [[NeXTSTEP]], [[FreeBSD]]<ref name="apple_bsd_overview" /> and other [[BSD]] operating systems,<ref>{{Cite book |title=NeXTstep Concepts |publisher=[[NeXT]] |chapter=1. System Overview |chapter-url=https://www.nextcomputers.org/NeXTfiles/Docs/NeXTStep/3.3/nd/Concepts/Pre3.0_Concepts/01_SysOver.htmld/index.html |access-date=March 26, 2021 |archive-date=November 21, 2021 |archive-url=https://web.archive.org/web/20211121155935/https://www.nextcomputers.org/NeXTfiles/Docs/NeXTStep/3.3/nd/Concepts/Pre3.0_Concepts/01_SysOver.htmld/index.html |url-status=live }}</ref> [[Mach (kernel)|Mach]], and other [[free software]] projects' code, as well as code developed by Apple. Darwin's unofficial mascot is Hexley the Platypus.<ref>{{cite web |url=http://www.hexley.com/ |title=Homepage of Hexley the DarwinOS Mascot}}</ref> | ||
Darwin is mostly [[POSIX]]-compatible, but has never, by itself, been certified as compatible with any version of POSIX. Starting with [[Mac OS X Leopard|Leopard]], macOS has been certified as compatible with the [[Single UNIX Specification]] version 3 (SUSv3).<ref>{{cite web |title=Mac OS X Leopard - Technology - UNIX|url=https://www.apple.com/macosx/leopard/technology/unix.html|work=Leopard Technology Overview|publisher=[[Apple Inc.]]| archive-url=https://web.archive.org/web/20081227000710/http://www.apple.com/macosx/technology/unix.html|archive-date=December 27, 2008|quote=Leopard is now an Open Brand UNIX 03 Registered Product, conforming to the SUSv3 and POSIX 1003.1 specifications for the C API, Shell Utilities, and Threads.}}</ref><ref>{{cite web|author=The Open Group|title=Mac OS X Version 10.5 Leopard on Intel-based Macintosh computers certification|url=http://www.opengroup.org/openbrand/register/brand3555.htm|date=May 18, 2007|access-date=February 11, 2013|archive-date=October 25, 2019|archive-url=https://web.archive.org/web/20191025142525/https://www.opengroup.org/openbrand/register/brand3555.htm|url-status=live}}</ref><ref>{{cite web| url=https://www.opengroup.org/openbrand/register/brand3632.htm| title=macOS version 10.13 High Sierra on Intel-based Mac computers| publisher=The Open Group| access-date=November 19, 2017| archive-date=September 28, 2017| archive-url=https://web.archive.org/web/20170928150433/https://www.opengroup.org/openbrand/register/brand3632.htm| url-status=live}}</ref> | Darwin is mostly [[POSIX]]-compatible, but has never, by itself, been certified as compatible with any version of POSIX. Starting with [[Mac OS X Leopard|Leopard]], macOS has been certified as compatible with the [[Single UNIX Specification]] version 3 (SUSv3).<ref>{{cite web |title=Mac OS X Leopard - Technology - UNIX|url=https://www.apple.com/macosx/leopard/technology/unix.html|work=Leopard Technology Overview|publisher=[[Apple Inc.|Apple]]| archive-url=https://web.archive.org/web/20081227000710/http://www.apple.com/macosx/technology/unix.html|archive-date=December 27, 2008|quote=Leopard is now an Open Brand UNIX 03 Registered Product, conforming to the SUSv3 and POSIX 1003.1 specifications for the C API, Shell Utilities, and Threads.}}</ref><ref>{{cite web|author=The Open Group|title=Mac OS X Version 10.5 Leopard on Intel-based Macintosh computers certification|url=http://www.opengroup.org/openbrand/register/brand3555.htm|date=May 18, 2007|access-date=February 11, 2013|archive-date=October 25, 2019|archive-url=https://web.archive.org/web/20191025142525/https://www.opengroup.org/openbrand/register/brand3555.htm|url-status=live}}</ref><ref>{{cite web| url=https://www.opengroup.org/openbrand/register/brand3632.htm| title=macOS version 10.13 High Sierra on Intel-based Mac computers| publisher=The Open Group| access-date=November 19, 2017| archive-date=September 28, 2017| archive-url=https://web.archive.org/web/20170928150433/https://www.opengroup.org/openbrand/register/brand3632.htm| url-status=live}}</ref> | ||
==History== | ==History== | ||
| Line 40: | Line 40: | ||
===Kernel=== | ===Kernel=== | ||
{{main|XNU|Mach (kernel)}} | {{main|XNU|Mach (kernel)}} | ||
The kernel of Darwin is [[XNU]], a [[hybrid kernel]] which uses OSFMK 7.3<ref name="wwdc-2000-session-106">{{cite AV media|url=https://www.youtube.com/watch?v=ggnFoDqzGMU| archive-url=https://ghostarchive.org/varchive/youtube/20211211/ggnFoDqzGMU| archive-date=2021-12-11 | url-status=live|author=Jim Magee|title=WWDC 2000 Session 106 - Mac OS X: Kernel|minutes=14}}{{cbignore}}</ref> | The kernel of Darwin is [[XNU]], a [[hybrid kernel]] which uses Open Software Foundation [[Mach (kernel)|Mach Kernel]] (OSFMK) 7.3<ref name="wwdc-2000-session-106">{{cite AV media|url=https://www.youtube.com/watch?v=ggnFoDqzGMU| archive-url=https://ghostarchive.org/varchive/youtube/20211211/ggnFoDqzGMU| archive-date=2021-12-11 | url-status=live|author=Jim Magee|title=WWDC 2000 Session 106 - Mac OS X: Kernel|minutes=14}}{{cbignore}}</ref> from the [[Open Software Foundation|OSF]], various elements of [[FreeBSD]] (including the process model, [[protocol stack|network stack]], and [[virtual file system]]),<ref>{{cite web|url=https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/OSX_Technology_Overview/SystemTechnology/SystemTechnology.html#//apple_ref/doc/uid/TP40001067-CH207-BCICAIFJ|title=Mac Technology Overview: Kernel and Device Drivers Layer|publisher=[[Apple Developer|Apple Developer Connection]]|access-date=February 11, 2013|archive-date=March 9, 2014|archive-url=https://web.archive.org/web/20140309084505/https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/OSX_Technology_Overview/SystemTechnology/SystemTechnology.html#//apple_ref/doc/uid/TP40001067-CH207-BCICAIFJ|url-status=live}}</ref> and an object-oriented [[device driver]] [[application programming interface|API]] called [[XNU#I/O Kit|I/O Kit]].<ref>{{cite web|last=Singh|first=Amit|date=January 7, 2004|url=http://osxbook.com/book/bonus/ancient/whatismacosx/arch_xnu.html|title=XNU: The Kernel|access-date=February 11, 2013|archive-date=June 2, 2020|archive-url=https://web.archive.org/web/20200602233536/http://osxbook.com/book/bonus/ancient/whatismacosx/arch_xnu.html|url-status=dead}}</ref> The hybrid kernel design provides the flexibility of a [[microkernel]]<ref>{{Cite CiteSeerX |title=Monolithic kernel vs. Microkernel|last=Roch|first=Benjamin|citeseerx = 10.1.1.89.9877}}</ref>{{Failed verification|talk="flexibility of a microkernel"|reason=It supports "microkernels are flexible" but not "hybrid kernels are as flexible as microkernels".|date=October 2018}} and the performance of a [[monolithic kernel]].<ref>{{cite web|url=https://developer.apple.com/library/content/documentation/Porting/Conceptual/PortingUnix/additionalfeatures/additionalfeatures.html|title=Additional Features|work=Porting UNIX/Linux Applications to OS X|publisher=[[Apple Inc.|Apple]]|access-date=November 13, 2017|archive-date=November 14, 2017|archive-url=https://web.archive.org/web/20171114093407/https://developer.apple.com/library/content/documentation/Porting/Conceptual/PortingUnix/additionalfeatures/additionalfeatures.html|url-status=live}}</ref> | ||
===Hardware and software support=== | ===Hardware and software support=== | ||
The last bootable full release of Darwin supported 32-bit and 64-bit Apple PowerPC systems and 32-bit Intel PCs.<ref>{{cite web |url=https://opensource.apple.com/static/iso/release-notes-8.0.1.txt |title=Darwin 8.0.1 Release Notes |date=April 29, 2005 |access-date=August 16, 2023 |archive-date=October 28, 2023 |archive-url=https://web.archive.org/web/20231028121525/https://opensource.apple.com/static/iso/release-notes-8.0.1.txt |url-status=live }}</ref> | The last bootable full release of Darwin supported 32-bit and 64-bit Apple PowerPC systems and 32-bit Intel PCs.<ref>{{cite web |url=https://opensource.apple.com/static/iso/release-notes-8.0.1.txt |title=Darwin 8.0.1 Release Notes |date=April 29, 2005 |access-date=August 16, 2023 |archive-date=October 28, 2023 |archive-url=https://web.archive.org/web/20231028121525/https://opensource.apple.com/static/iso/release-notes-8.0.1.txt |url-status=live }}</ref> | ||
Darwin currently includes support for the [[64-bit]] [[x86-64]] variant of the [[X86|Intel x86]] [[microprocessor|processors]] used in Intel-based [[Mac (computer)|Mac]]s and the 64-bit [[ARM architecture|ARM]] processors used in the [[iPhone 5S]] and later, the [[iPod Touch (6th generation)|6th generation iPod Touch]], the [[iPad (2017)|5th generation iPad]] and later, the [[iPad Air]] family, the [[iPad Mini 2]] and later, the [[iPad Pro]] family, the fourth generation and later [[Apple TV]]s, the [[HomePod]] family, and [[Mac (computer)|Mac]]s with [[Apple silicon]] such as the 2020 [[Apple M1]] Macs, as well as the Raspberry Pi 3B.<ref>{{cite web|url=https://github.com/apple/darwin-xnu/blob/2ff845c2e033bd0ff64b5b6aa6063a1f8f65aa32/pexpert/pexpert/arm64/board_config.h#L223|title=XNU board config for BCM2837|website=[[GitHub]]|date=December 16, 2021|access-date=December 5, 2021|archive-date=December 5, 2021|archive-url=https://web.archive.org/web/20211205110901/https://github.com/apple/darwin-xnu/blob/2ff845c2e033bd0ff64b5b6aa6063a1f8f65aa32/pexpert/pexpert/arm64/board_config.h#L223|url-status=live}}</ref><ref>{{cite web|url=https://www.raspberrypi.com/products/raspberry-pi-3-model-b|title=Raspberry Pi 3 Model B|quote="Quad Core 1.2GHz Broadcom BCM2837"|access-date=December 5, 2021|archive-date=December 5, 2021|archive-url=https://web.archive.org/web/20211205212422/https://www.raspberrypi.com/products/raspberry-pi-3-model-b/|url-status=live}}</ref> An open-source port of the [[XNU]] kernel exists that supports Darwin on Intel and [[AMD]] x86 platforms not officially supported by Apple, though it does not appear to have been updated since 2009.<ref>{{cite web |url=https://code.google.com/p/voodoo-kernel/source/checkout |title=Voodoo XNU Kernel Source |access-date=April 25, 2014 |archive-date=September 30, 2015 |archive-url=https://web.archive.org/web/20150930225819/https://code.google.com/p/voodoo-kernel/source/checkout |url-status=live }} Requires an Apache SVN client.</ref> An open-source port of the [[XNU]] kernel also exists for ARM platforms, though it has not been updated since 2016.<ref>{{cite web|url=https://github.com/winocm/xnu|title=XNU on ARMv7|website=[[GitHub]]|date=January 25, 2022}}</ref> Older versions supported some or all of 32-bit [[PowerPC]], 64-bit PowerPC, 32-bit x86, and 32-bit ARM. | Darwin currently includes support for the [[64-bit]] [[x86-64]] variant of the [[X86|Intel x86]] [[microprocessor|processors]] used in Intel-based [[Mac (computer)|Mac]]s and the 64-bit [[ARM architecture|ARM]] processors used in the [[iPhone 5S]] and later, the [[iPod Touch (6th generation)|6th generation iPod Touch]], the [[iPad (2017)|5th generation iPad]] and later, the [[iPad Air]] family, the [[iPad Mini 2]] and later, the [[iPad Pro]] family, the fourth generation and later [[Apple TV (device)|Apple TV]]s, the [[HomePod]] family, and [[Mac (computer)|Mac]]s with [[Apple silicon]] such as the 2020 [[Apple M1]] Macs, as well as the Raspberry Pi 3B.<ref>{{cite web|url=https://github.com/apple/darwin-xnu/blob/2ff845c2e033bd0ff64b5b6aa6063a1f8f65aa32/pexpert/pexpert/arm64/board_config.h#L223|title=XNU board config for BCM2837|website=[[GitHub]]|date=December 16, 2021|access-date=December 5, 2021|archive-date=December 5, 2021|archive-url=https://web.archive.org/web/20211205110901/https://github.com/apple/darwin-xnu/blob/2ff845c2e033bd0ff64b5b6aa6063a1f8f65aa32/pexpert/pexpert/arm64/board_config.h#L223|url-status=live}}</ref><ref>{{cite web|url=https://www.raspberrypi.com/products/raspberry-pi-3-model-b|title=Raspberry Pi 3 Model B|quote="Quad Core 1.2GHz Broadcom BCM2837"|access-date=December 5, 2021|archive-date=December 5, 2021|archive-url=https://web.archive.org/web/20211205212422/https://www.raspberrypi.com/products/raspberry-pi-3-model-b/|url-status=live}}</ref> An open-source port of the [[XNU]] kernel exists that supports Darwin on Intel and [[AMD]] x86 platforms not officially supported by Apple, though it does not appear to have been updated since 2009.<ref>{{cite web |url=https://code.google.com/p/voodoo-kernel/source/checkout |title=Voodoo XNU Kernel Source |access-date=April 25, 2014 |archive-date=September 30, 2015 |archive-url=https://web.archive.org/web/20150930225819/https://code.google.com/p/voodoo-kernel/source/checkout |url-status=live }} Requires an Apache SVN client.</ref> An open-source port of the [[XNU]] kernel also exists for ARM platforms, though it has not been updated since 2016.<ref>{{cite web|url=https://github.com/winocm/xnu|title=XNU on ARMv7|website=[[GitHub]]|date=January 25, 2022}}</ref> Older versions supported some or all of 32-bit [[PowerPC]], 64-bit PowerPC, 32-bit x86, and 32-bit ARM. | ||
It supports the [[POSIX]] API by way of its [[Berkeley Software Distribution|BSD]] lineage (largely [[FreeBSD]] [[User space|userland]]), so a large number of programs written for various other [[UNIX-like]] systems can be [[compiler|compiled]] on Darwin with no changes to the [[source code]]. | It supports the [[POSIX]] API by way of its [[Berkeley Software Distribution|BSD]] lineage (largely [[FreeBSD]] [[User space|userland]]), so a large number of programs written for various other [[UNIX-like]] systems can be [[compiler|compiled]] on Darwin with no changes to the [[source code]]. | ||
| Line 52: | Line 52: | ||
==License== | ==License== | ||
In July 2003, Apple released Darwin under version 2.0 of the [[Apple Public Source License]] (APSL), which the [[Free Software Foundation]] (FSF) | In July 2003, Apple released Darwin under version 2.0 of the [[Apple Public Source License]] (APSL), which the [[Free Software Foundation]] (FSF) qualifies as a [[free software license]].<ref name=":0" /> The APSL is similar to [[GNU Affero General Public License|AGPL]], including in being incompatible with the [[GNU General Public License]].<ref name=":0">{{cite web |url=https://www.gnu.org/philosophy/apsl.html |title=FSF's Opinion of the Apple Public Source License (APSL) 2.0 |access-date=July 22, 2016 |archive-date=May 4, 2020 |archive-url=https://web.archive.org/web/20200504151500/http://www.gnu.org/philosophy/apsl.html |url-status=live}}</ref> | ||
Previous versions of the APSL license did not meet the FSF definition of free software, although they did meet the requirements of the [[Open Source Definition]].<ref>{{cite web|url=https://www.gnu.org/philosophy/historical-apsl.html|title=The Problems with older versions of the Apple Public Source License (APSL)|access-date=July 22, 2016|archive-date=April 19, 2020|archive-url=https://web.archive.org/web/20200419054305/http://www.gnu.org/philosophy/historical-apsl.html|url-status=live}}</ref> | |||
==Release history== | ==Release history== | ||
| Line 154: | Line 156: | ||
| rowspan="2" | {{ubl | | rowspan="2" | {{ubl | ||
| [[Mac OS X Tiger]] | | [[Mac OS X Tiger]] | ||
| Mac OS X for [[Apple TV]] | | Mac OS X for [[Apple TV (device)|Apple TV]] | ||
}} | }} | ||
| Mac OS X v10.4.0 | | Mac OS X v10.4.0 | ||
| Line 243: | Line 245: | ||
===Darwin 12–15; Mac OS X rebranded into OS X=== | ===Darwin 12–15; Mac OS X rebranded into OS X=== | ||
{{Anchor|Darwin_12}} | |||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
|- | |- | ||
| Line 284: | Line 287: | ||
| [[OS X Yosemite]] | | [[OS X Yosemite]] | ||
| [[iOS 7]], [[iOS 8]] | | [[iOS 7]], [[iOS 8]] | ||
| [[watchOS]] | | [[watchOS 1]] | ||
}} | }} | ||
| OS X v10.10.0 | | OS X v10.10.0 | ||
| Line 297: | Line 300: | ||
| [[OS X El Capitan]] | | [[OS X El Capitan]] | ||
| [[iOS 9]] | | [[iOS 9]] | ||
| [[watchOS]] | | [[watchOS 2]] | ||
| [[tvOS]] | | [[tvOS 9]] | ||
}} | }} | ||
| OS X v10.11.0 and iOS 9.0 | | OS X v10.11.0 and iOS 9.0 | ||
| Line 324: | Line 327: | ||
| [[macOS Sierra]] | | [[macOS Sierra]] | ||
| [[iOS 10]] | | [[iOS 10]] | ||
| [[watchOS]] | | [[watchOS 3]] | ||
| [[tvOS]] | | [[tvOS 10]] | ||
| [[bridgeOS]] 1 | | [[bridgeOS]] 1 | ||
}} | }} | ||
| Line 349: | Line 352: | ||
| [[macOS High Sierra]] | | [[macOS High Sierra]] | ||
| [[iOS 11]] | | [[iOS 11]] | ||
| [[watchOS]] | | [[watchOS 4]] | ||
| [[tvOS]] | | [[tvOS 11]] | ||
| [[bridgeOS]] 2 | | [[bridgeOS]] 2 | ||
}} | }} | ||
| Line 377: | Line 380: | ||
| [[macOS Mojave]] | | [[macOS Mojave]] | ||
| [[iOS 12]] | | [[iOS 12]] | ||
| [[watchOS]] | | [[watchOS 5]] | ||
| [[tvOS]] | | [[tvOS 12]] | ||
| [[bridgeOS]] 3 | | [[bridgeOS]] 3 | ||
}} | }} | ||
| Line 393: | Line 396: | ||
| [[macOS Catalina]] | | [[macOS Catalina]] | ||
| [[iOS 13]] | | [[iOS 13]] | ||
| [[watchOS]] | | [[watchOS 6]] | ||
| [[tvOS]] | | [[tvOS 13]] | ||
| [[bridgeOS]] 4 | | [[bridgeOS]] 4 | ||
}} | }} | ||
| Line 436: | Line 439: | ||
| [[macOS Big Sur]] | | [[macOS Big Sur]] | ||
| [[iOS 14]] | | [[iOS 14]] | ||
| [[watchOS]] | | [[watchOS 7]] | ||
| [[tvOS]] | | [[tvOS 14]] | ||
| [[bridgeOS]] 5 | | [[bridgeOS]] 5 | ||
}} | }} | ||
| Line 471: | Line 474: | ||
| [[macOS Monterey]] | | [[macOS Monterey]] | ||
| [[iOS 15]] | | [[iOS 15]] | ||
| [[watchOS]] | | [[watchOS 8]] | ||
| [[tvOS]] | | [[tvOS 15]] | ||
| [[bridgeOS]] 6 | | [[bridgeOS]] 6 | ||
}} | }} | ||
| Line 511: | Line 514: | ||
| [[iOS 16]] | | [[iOS 16]] | ||
| [[iPadOS 16]] | | [[iPadOS 16]] | ||
| [[ | | [[watchOS 9]] | ||
| [[ | | [[tvOS 16]] | ||
| [[bridgeOS|bridgeOS 7]] | | [[bridgeOS|bridgeOS 7]] | ||
}} | }} | ||
| Line 547: | Line 550: | ||
| [[iOS 17]] | | [[iOS 17]] | ||
| [[iPadOS 17]] | | [[iPadOS 17]] | ||
| [[ | | [[watchOS 10]] | ||
| [[ | | [[tvOS 17]] | ||
| [[bridgeOS|bridgeOS 8]] | | [[bridgeOS|bridgeOS 8]] | ||
}} | }} | ||
| Line 579: | Line 582: | ||
| [[iOS 18]] | | [[iOS 18]] | ||
| [[iPadOS 18]] | | [[iPadOS 18]] | ||
| [[ | | [[watchOS 11]] | ||
| [[ | | [[tvOS 18]] | ||
| [[bridgeOS|bridgeOS 9]] | | [[bridgeOS|bridgeOS 9]] | ||
}} | }} | ||
| Line 586: | Line 589: | ||
|- | |- | ||
!25.0.0 | !25.0.0 | ||
| | |September 15, 2025 | ||
| {{ubl | | {{ubl | ||
| [[macOS Tahoe]] | | [[macOS Tahoe]] | ||
| [[iOS 26]] | | [[iOS 26]] | ||
| [[iPadOS 26]] | | [[iPadOS 26]] | ||
| [[ | | [[watchOS 26]] | ||
| [[ | | [[tvOS 26]] | ||
| [[bridgeOS|bridgeOS 10]] | | [[bridgeOS|bridgeOS 10]] | ||
}} | }} | ||
|macOS, iOS, iPadOS, watchOS, and tvOS 26.0 | |macOS, iOS, iPadOS, watchOS, and tvOS 26.0 | ||
|} | |} | ||
| Line 604: | Line 607: | ||
==Derived projects== | ==Derived projects== | ||
Due to the free software nature of Darwin, there have been projects that aim to modify | Due to the free software nature of Darwin, there have been projects that aim to modify the operating system or take Darwin’s parts for their own purpose. | ||
Among these, DarwinBSD, OpenDarwin, and PureDarwin can be termed "alternative Darwin distributions" in a sense analogous to [[Linux distributions]]. | |||
===OpenDarwin=== | ===OpenDarwin=== | ||
[[File:GNOME 2 running on openDarwin (2004).png|thumb|[[GNOME]] running on GNU-Darwin]] | [[File:GNOME 2 running on openDarwin (2004).png|thumb|[[GNOME]] running on GNU-Darwin]] | ||
OpenDarwin was a community-led operating system based on the Darwin system. It was founded in April 2002 by [[Apple Inc.]] and [[Internet Systems Consortium]]. Its goal was to increase collaboration between Apple developers and the [[free software community]]. Apple benefited from the project because improvements to OpenDarwin would be incorporated into Darwin releases; and the free/open-source community benefited from being given complete control over its own operating system, which could then be used in free software distributions such as GNU-Darwin.<ref>{{cite web|url=http://www.opendarwin.org/|title=OpenDarwin|publisher=OpenDarwin Project|archive-url=https://web.archive.org/web/20060106092328/http://www.opendarwin.org/|archive-date=January 6, 2006}}</ref> | OpenDarwin was a community-led operating system based on the Darwin system. It was founded in April 2002 by [[Apple Inc.|Apple]] and [[Internet Systems Consortium]]. Its goal was to increase collaboration between Apple developers and the [[free software community]]. Apple benefited from the project because improvements to OpenDarwin would be incorporated into Darwin releases; and the free/open-source community benefited from being given complete control over its own operating system, which could then be used in free software distributions such as GNU-Darwin.<ref>{{cite web|url=http://www.opendarwin.org/|title=OpenDarwin|publisher=OpenDarwin Project|archive-url=https://web.archive.org/web/20060106092328/http://www.opendarwin.org/|archive-date=January 6, 2006}}</ref> | ||
On July 25, 2006, the OpenDarwin team announced that the project was shutting down, as they felt OpenDarwin had "become a mere hosting facility for Mac OS X related projects", and that the efforts to create a standalone Darwin operating system had failed.<ref>{{cite web|url=https://www.theguardian.com/technology/blog/2006/jul/26/opendarwinshut|title=OpenDarwin Shutting Down|work=[[The Guardian]]|first=Jack|last=Schofield|date=2006-07-26|access-date=2023-03-18}}</ref> They also state: "Availability of sources, interaction with Apple representatives, difficulty building and tracking sources, and a lack of interest from the community have all contributed to this."<ref>{{cite web|author=OpenDarwin Core Team and Administrators|date=July 25, 2006|url=http://www.opendarwin.org/en/news/shutdown.html|title=OpenDarwin Shutting Down|publisher=OpenDarwin Project|archive-url=https://web.archive.org/web/20060804104416/http://opendarwin.org/|archive-date=August 4, 2006}}</ref> The last stable release was version 7.2.1, released on July 16, 2004.<ref>{{Cite web|url=http://www.opendarwin.org/en/news/opendarwin721.html|archive-url=https://web.archive.org/web/20040805095039/http://www.opendarwin.org/en/news/opendarwin721.html|archive-date=2004-08-05|url-status=dead|title=OpenDarwin 7.2.1 Released|date=2004-08-05|access-date=2019-10-07}}</ref> | On July 25, 2006, the OpenDarwin team announced that the project was shutting down, as they felt OpenDarwin had "become a mere hosting facility for Mac OS X related projects", and that the efforts to create a standalone Darwin operating system had failed.<ref>{{cite web|url=https://www.theguardian.com/technology/blog/2006/jul/26/opendarwinshut|title=OpenDarwin Shutting Down|work=[[The Guardian]]|first=Jack|last=Schofield|date=2006-07-26|access-date=2023-03-18}}</ref> They also state: "Availability of sources, interaction with Apple representatives, difficulty building and tracking sources, and a lack of interest from the community have all contributed to this."<ref>{{cite web|author=OpenDarwin Core Team and Administrators|date=July 25, 2006|url=http://www.opendarwin.org/en/news/shutdown.html|title=OpenDarwin Shutting Down|publisher=OpenDarwin Project|archive-url=https://web.archive.org/web/20060804104416/http://opendarwin.org/|archive-date=August 4, 2006}}</ref> The last stable release was version 7.2.1, released on July 16, 2004.<ref>{{Cite web|url=http://www.opendarwin.org/en/news/opendarwin721.html|archive-url=https://web.archive.org/web/20040805095039/http://www.opendarwin.org/en/news/opendarwin721.html|archive-date=2004-08-05|url-status=dead|title=OpenDarwin 7.2.1 Released|date=2004-08-05|access-date=2019-10-07}}</ref> | ||
===PureDarwin=== | ===PureDarwin=== | ||
PureDarwin is a project to create a bootable operating system image from Apple's released source code for Darwin.<ref>{{cite web |title=PureDarwin |url=https://www.puredarwin.org/ |access-date=April 1, 2024 |archive-date=April 1, 2024 |archive-url=https://web.archive.org/web/20240401234001/https://www.puredarwin.org/ |url-status=live }}</ref> Since the halt of OpenDarwin and the release of bootable images since Darwin 8.x, it has been increasingly difficult to create a full operating system as many components became closed source. In 2015 the project created a preview release based on Darwin 9 with an X11 GUI,<ref>[https://github.com/PureDarwin/PureDarwin/wiki/Xmas PureDarwin Xmas] {{Webarchive|url=https://web.archive.org/web/20191203095014/https://github.com/PureDarwin/PureDarwin/wiki/Xmas |date=December 3, 2019 }} (2015)</ref> followed by a command-line only 17.4 Beta based on Darwin 17.<ref>{{cite web |title=PureDarwin 17.4 Beta |url=https://github.com/PureDarwin/PD-17.4-Beta |website=GitHub |publisher=PureDarwin |access-date=11 January 2020 |date=30 November 2019 |archive-date=December 13, 2019 |archive-url=https://web.archive.org/web/20191213013037/https://github.com/PureDarwin/PD-17.4-Beta |url-status=live }}</ref> | PureDarwin is a project to create a bootable operating system image from Apple's released source code for Darwin.<ref>{{cite web |title=PureDarwin |url=https://www.puredarwin.org/ |access-date=April 1, 2024 |archive-date=April 1, 2024 |archive-url=https://web.archive.org/web/20240401234001/https://www.puredarwin.org/ |url-status=live }}</ref> Since the halt of OpenDarwin and the release of bootable images since Darwin 8.x, it has been increasingly difficult to create a full operating system as many components became closed source. In 2015 the project created a preview release based on Darwin 9 with an X11 GUI,<ref>[https://github.com/PureDarwin/PureDarwin/wiki/Xmas PureDarwin Xmas] {{Webarchive|url=https://web.archive.org/web/20191203095014/https://github.com/PureDarwin/PureDarwin/wiki/Xmas |date=December 3, 2019 }} (2015)</ref> followed by a command-line only 17.4 Beta based on Darwin 17 in 2019.<ref>{{cite web |title=PureDarwin 17.4 Beta |url=https://github.com/PureDarwin/PD-17.4-Beta |website=GitHub |publisher=PureDarwin |access-date=11 January 2020 |date=30 November 2019 |archive-date=December 13, 2019 |archive-url=https://web.archive.org/web/20191213013037/https://github.com/PureDarwin/PD-17.4-Beta |url-status=live }}</ref> | ||
===Other derived projects=== | ===Other derived projects=== | ||
"Darwin distributions" (see also the other package managers below): | |||
* GNU-Darwin was a project that ports packages of free software to Darwin. They package OS images in a way similar to a [[Linux distribution]]. | |||
* DarwinBSD Project was a Darwin distribution using FreeBSD's pkgsrc package management.<ref>{{cite web |title=DarwinBSD |url=http://darwinbsd.tk/ |website=darwinbsd.tk |access-date=7 April 2023 |archive-date=March 23, 2023 |archive-url=https://web.archive.org/web/20230323004704/http://darwinbsd.tk/ |url-status=dead }}</ref> | |||
Other types of derivatives: | |||
* The Darbat project was an experimental port of Darwin to the [[L4 microkernel family]]. It aims to be [[binary compatible]] with existing Darwin binaries.<ref>{{cite web|url=http://www.ertos.nicta.com.au/software/darbat/ |title=L4/Darwin (aka Darbat) |publisher=Ertos.nicta.com.au |date=May 9, 2007 |archive-url=https://web.archive.org/web/20131219064814/http://www.ertos.nicta.com.au/software/darbat/ |archive-date=December 19, 2013}}</ref> | |||
* The [[Darling (software)|Darling]] project is a compatibility layer for running macOS binaries on Linux systems. It uses some Darwin source code.<ref>{{cite web |title=Darling: macOS translation layer for Linux |url=https://www.darlinghq.org/ |website=www.darlinghq.org |access-date=11 January 2020 |archive-date=April 21, 2020 |archive-url=https://web.archive.org/web/20200421131450/https://www.darlinghq.org/ |url-status=live }}</ref> | |||
== Related open-source projects == | |||
=== Projects intended to work with Darwin === | |||
[[File:WindowmakerFS Xdarwin.jpg|thumb|upright=0.5|Window Maker in [[XDarwin]]]] | [[File:WindowmakerFS Xdarwin.jpg|thumb|upright=0.5|Window Maker in [[XDarwin]]]] | ||
The following are not Darwin derivatives, at least not beyond the extent that any program written for an operating system is partly derived from its [[application programming interface]] and other constraints. | |||
* [[XQuartz]] is a component of the [[X Window System]] that runs on [[macOS]] (Darwin). [[XDarwin]], before the introduction of Apple's X11.app. | * [[XQuartz]] is a component of the [[X Window System]] that runs on [[macOS]] (Darwin). [[XDarwin]], before the introduction of Apple's X11.app. | ||
* [[WebKit]] is a [[browser engine]] primarily used in [[Apple Inc.|Apple's]] [[Safari (web browser)|Safari]] web browser, as well as all web browsers on [[iOS]] and [[iPadOS]]. | * [[WebKit]] is a [[browser engine]] primarily used in [[Apple Inc.|Apple's]] [[Safari (web browser)|Safari]] web browser, as well as all web browsers on [[iOS]] and [[iPadOS]]. | ||
* [[MacPorts]] (formerly DarwinPorts), [[Fink (software)|Fink]], and [[Homebrew (package management software)|Homebrew]] are projects to port UNIX programs to the Darwin operating system and provide [[package management]]. In addition, several standard UNIX package managers—such as [[RPM Package Manager|RPM]], [[pkgsrc]], and [[Portage (software)|Portage]]—have Darwin ports. Some of these operate in their own namespace so as not to interfere with the base system. | * [[MacPorts]] (formerly DarwinPorts), [[Fink (software)|Fink]], and [[Homebrew (package management software)|Homebrew]] are projects to port UNIX programs to the Darwin operating system and provide [[package management]]. In addition, several standard UNIX package managers—such as [[RPM Package Manager|RPM]], [[pkgsrc]], and [[Portage (software)|Portage]]—have Darwin ports. Some of these operate in their own namespace so as not to interfere with the base system. | ||
* The [[Darwine]] project was a [[porting|port]] of [[Wine (software)|Wine]] that allows one to run [[Microsoft Windows]] software on Darwin. | * The [[Darwine]] project was a [[porting|port]] of [[Wine (software)|Wine]] that allows one to run [[Microsoft Windows]] software on Darwin. | ||
* SEDarwin was a port of [[TrustedBSD]] [[mandatory access control]] framework and portions of the [[SELinux]] framework to Darwin.<ref>{{cite web|url=http://www.sedarwin.org/ |title=Security Enhanced Darwin |publisher=SEDarwin |date=January 22, 2007 |archive-url=https://web.archive.org/web/20111005174023/http://www.sedarwin.org/|archive-date=October 5, 2011}}</ref> It was incorporated into Mac OS X 10.5.<ref>{{cite web |title=What's New In Mac OS X: Mac OS X v10.5 |work=Mac OS X Reference Library |publisher=Apple | * SEDarwin was a port of [[TrustedBSD]] [[mandatory access control]] framework and portions of the [[SELinux]] framework to Darwin.<ref>{{cite web|url=http://www.sedarwin.org/ |title=Security Enhanced Darwin |publisher=SEDarwin |date=January 22, 2007 |archive-url=https://web.archive.org/web/20111005174023/http://www.sedarwin.org/|archive-date=October 5, 2011}}</ref> It was incorporated into Mac OS X 10.5.<ref>{{cite web |title=What's New In Mac OS X: Mac OS X v10.5 |work=Mac OS X Reference Library |publisher=Apple |date=November 13, 2009 |url= https://developer.apple.com/mac/library/releasenotes/MacOSX/WhatsNewInOSX/Articles/MacOSX10_5.html |archive-url=https://web.archive.org/web/20091208233045/http://developer.apple.com/Mac/library/releasenotes/MacOSX/WhatsNewInOSX/Articles/MacOSX10_5.html| archive-date=December 8, 2009}}</ref> | ||
* There are various projects that focus on driver support: e.g., wireless drivers,<ref>{{cite web |author=yuriwho |url=https://wirelessdriver.sourceforge.net/ |title=WirelessDriver Home Page |publisher=Wirelessdriver.sourceforge.net |date=May 5, 2002 |access-date=July 12, 2010 |archive-date=July 28, 2020 |archive-url=https://web.archive.org/web/20200728200428/http://wirelessdriver.sourceforge.net/ |url-status=live }}</ref><ref>{{cite web |title=iwi2200 Darwin |publisher=[[SourceForge]] |date=March 27, 2009 |url=https://sourceforge.net/projects/iwi2200/ |access-date=June 13, 2010 |archive-date=August 18, 2009 |archive-url=https://web.archive.org/web/20090818023423/http://sourceforge.net/projects/iwi2200/ |url-status=live }}</ref> wired [[network interface card|NIC]] drivers<ref>{{cite web |url=https://sourceforge.net/projects/darwin-tulip/ |title=Port BSD tulip driver(s) to Darwin OS | Download Port BSD tulip driver(s) to Darwin OS software for free at |publisher=SourceForge.net |access-date=July 12, 2010 |archive-date=July 16, 2010 |archive-url=https://web.archive.org/web/20100716175829/http://sourceforge.net/projects/darwin-tulip/ |url-status=live }}</ref><ref>{{cite web |title=RealTek network driver for Mac OS X/Darwin |publisher=[[SourceForge]] |date=March 15, 2006 |url=https://sourceforge.net/projects/darwin-rtl8139 |access-date=June 3, 2010 |archive-date=July 24, 2010 |archive-url=https://web.archive.org/web/20100724204411/http://sourceforge.net/projects/darwin-rtl8139/ |url-status=live }} ''Project inactive since March 15, 2006.''</ref><ref>{{cite web |author=fansui |title=RTL8150LMEthernet |publisher=SourceForge |date=August 1, 2007 |url=https://sourceforge.net/projects/rtl8150lm |access-date=June 13, 2010 |display-authors=etal |archive-date=September 7, 2008 |archive-url=https://web.archive.org/web/20080907032303/http://sourceforge.net/projects/rtl8150lm |url-status=live }}</ref> modem drivers,<ref>{{cite web |url=https://sourceforge.net/projects/darwinmodems |title=ZyXEL Modem Drivers for OS X/Darwin | Download ZyXEL Modem Drivers for OS X/Darwin software for free at |publisher=SourceForge.net |date=May 14, 2002 |access-date=July 12, 2010 |archive-date=January 7, 2009 |archive-url=https://web.archive.org/web/20090107024501/http://sourceforge.net/projects/darwinmodems/ |url-status=live }}</ref> card readers,<ref>{{cite web |url=http://pccardata.sourceforge.net/ |title=Mac OS X PC Card ATA Driver |publisher=Pccardata.sourceforge.net |date=December 20, 2001 |access-date=July 12, 2010 |archive-date=August 5, 2020 |archive-url=https://web.archive.org/web/20200805235201/http://pccardata.sourceforge.net/ |url-status=live }}</ref> and the [[ext2]] and [[ext3]] file systems.<ref>{{cite web |url=https://sourceforge.net/projects/ext2fsx/ |title=Mac OS X Ext2 Filesystem | Download Mac OS X Ext2 Filesystem software for free at |publisher=SourceForge.net |date=October 14, 2002 |access-date=July 12, 2010 |archive-date=July 22, 2010 |archive-url=https://web.archive.org/web/20100722030450/http://sourceforge.net/projects/ext2fsx/ |url-status=live }}</ref><ref>{{cite web |title=ext2 filesystem in user space |publisher=[[SourceForge]] |date=July 14, 2008 |url=https://sourceforge.net/projects/ext2fuse |access-date=June 13, 2010 |archive-date=July 26, 2010 |archive-url=https://web.archive.org/web/20100726001114/http://sourceforge.net/projects/ext2fuse/ |url-status=live }}</ref> | |||
* There are various projects that focus on driver support: e.g., wireless drivers,<ref>{{cite web |author=yuriwho |url= | === Neither substantially based on Darwin nor mainly intended to work on it === | ||
The following projects re-implements parts of macOS API that are above the level of Darwin. | |||
* [[GNUstep]] is a [[free software]] implementation of the [[Cocoa (API)|Cocoa]] (formerly [[OpenStep]]) [[Objective-C]] [[Software framework|frameworks]], [[widget toolkit]], and application development tools for [[Unix-like]] [[operating system]]s. | |||
** [[Window Maker]], a window manager designed to emulate the [[NeXTSTEP|NeXT]] GUI as part of the wider GNUstep project. | |||
==See also== | ==See also== | ||
| Line 659: | Line 677: | ||
[[Category:Apple Inc. operating systems]] | [[Category:Apple Inc. operating systems]] | ||
[[Category:Berkeley Software Distribution]] | [[Category:Berkeley Software Distribution]] | ||
[[Category:Free software operating systems]] | [[Category:Free software operating systems]] | ||
[[Category:Mach (kernel)]] | [[Category:Mach (kernel)]] | ||
[[Category:MacOS]] | [[Category:MacOS]] | ||
[[Category:Unix variants]] | [[Category:Unix variants]] | ||
[[Category:IA-32 operating systems]] | [[Category:IA-32 operating systems]] | ||
[[Category:X86-64 operating systems]] | [[Category:X86-64 operating systems]] | ||
[[Category:PowerPC operating systems]] | |||
Latest revision as of 03:03, 12 November 2025
Template:Short description Script error: No such module "redirect hatnote". Template:Use mdy dates Script error: No such module "Unsubst".Script error: No such module "Check for unknown parameters". Template:MacOS topics
Darwin is the core Unix-like operating system of macOS, iOS, watchOS, tvOS, iPadOS, audioOS, visionOS, and bridgeOS. It previously existed as an independent open-source operating system, first released by Apple in 2000. It is composed of code derived from NeXTSTEP, FreeBSD[1] and other BSD operating systems,[2] Mach, and other free software projects' code, as well as code developed by Apple. Darwin's unofficial mascot is Hexley the Platypus.[3]
Darwin is mostly POSIX-compatible, but has never, by itself, been certified as compatible with any version of POSIX. Starting with Leopard, macOS has been certified as compatible with the Single UNIX Specification version 3 (SUSv3).[4][5][6]
History
The heritage of Darwin began with Unix derivatives supplemented by aspects of NeXT's NeXTSTEP operating system (later, since version 4.0, known as OPENSTEP), first released in 1989. After Apple bought NeXT in 1996, it announced it would base its next operating system on OPENSTEP. This was developed into Rhapsody in 1997, Mac OS X Server 1.0 in 1999, Mac OS X Public Beta in 2000, and Mac OS X 10.0 in 2001.
In 1999, Apple announced it would release the source code for the Mach 2.5 microkernel, BSD Unix 4.4 OS, and the Apache Web server components of Mac OS X Server.[7] At the time, interim CEO Steve Jobs alluded to British naturalist Charles Darwin by announcing "because it's about evolution".[8] In 2000, the core operating system components of Mac OS X were released as open-source software under the Apple Public Source License (APSL) as Darwin; the higher-level components, such as the Cocoa and Carbon frameworks, remained closed-source.
Up to Darwin 8.0.1, released in April 2005, Apple released a binary installer (as an ISO image) after each major Mac OS X release that allowed one to install Darwin on PowerPC and Intel x86 systems as a standalone operating system.[9] Minor updates were released as packages that were installed separately. Darwin is now only available as source code. As of January 2023, Apple no longer mentions Darwin by name on its Open Source website and only publishes an incomplete collection of open-source projects relating to macOS and iOS.
Design
Kernel
Script error: No such module "Labelled list hatnote". The kernel of Darwin is XNU, a hybrid kernel which uses Open Software Foundation Mach Kernel (OSFMK) 7.3[10] from the OSF, various elements of FreeBSD (including the process model, network stack, and virtual file system),[11] and an object-oriented device driver API called I/O Kit.[12] The hybrid kernel design provides the flexibility of a microkernel[13]Script error: No such module "Unsubst". and the performance of a monolithic kernel.[14]
Hardware and software support
The last bootable full release of Darwin supported 32-bit and 64-bit Apple PowerPC systems and 32-bit Intel PCs.[15]
Darwin currently includes support for the 64-bit x86-64 variant of the Intel x86 processors used in Intel-based Macs and the 64-bit ARM processors used in the iPhone 5S and later, the 6th generation iPod Touch, the 5th generation iPad and later, the iPad Air family, the iPad Mini 2 and later, the iPad Pro family, the fourth generation and later Apple TVs, the HomePod family, and Macs with Apple silicon such as the 2020 Apple M1 Macs, as well as the Raspberry Pi 3B.[16][17] An open-source port of the XNU kernel exists that supports Darwin on Intel and AMD x86 platforms not officially supported by Apple, though it does not appear to have been updated since 2009.[18] An open-source port of the XNU kernel also exists for ARM platforms, though it has not been updated since 2016.[19] Older versions supported some or all of 32-bit PowerPC, 64-bit PowerPC, 32-bit x86, and 32-bit ARM.
It supports the POSIX API by way of its BSD lineage (largely FreeBSD userland), so a large number of programs written for various other UNIX-like systems can be compiled on Darwin with no changes to the source code.
Darwin does not include many of the defining elements of macOS, such as the Carbon and Cocoa APIs or the Quartz Compositor and Aqua user interface, and thus cannot run Mac applications. It does, however, support a number of lesser-known features of macOS, such as mDNSResponder, which is the multicast DNS responder and a core component of the Bonjour networking technology, and launchd, an advanced service management framework.
License
In July 2003, Apple released Darwin under version 2.0 of the Apple Public Source License (APSL), which the Free Software Foundation (FSF) qualifies as a free software license.[20] The APSL is similar to AGPL, including in being incompatible with the GNU General Public License.[20]
Previous versions of the APSL license did not meet the FSF definition of free software, although they did meet the requirements of the Open Source Definition.[21]
Release history
The following is a table of major Darwin releases with their dates of release and their derivative operating system releases.[22] Note that the corresponding releases may have been released on a different date.
Darwin 0–8 and corresponding Mac OS X releases
| Version | Date | Corresponding releases | Notes |
|---|---|---|---|
| 0.1 | March 16, 1999 | Mac OS X Server 1.0 releases |
|
| 0.2 | April 14, 1999 | Mac OS X Server 1.0.1 | |
| 0.3 | August 5, 1999 | Based on Rhapsody 5.5
| |
| 1.0 | April 12, 2000 | Developer preview 3
| |
| 1.1 | April 5, 2000 | Developer preview 4 | |
| 1.2.1 | November 15, 2000 | Mac OS X Public Beta (code-named "Kodiak") | |
| 1.3.1 | April 13, 2001 | Mac OS X v10.0 (code-named "Cheetah") |
|
| 1.4.1 | October 2, 2001 | Mac OS X v10.1 (code-named "Puma") | |
| 5.1 | November 12, 2001 | Mac OS X v10.1.1
| |
| 5.5 | June 5, 2002 | Mac OS X v10.1.5 | |
| 6.0.1 | September 23, 2002 | Mac OS X v10.2 (code-named "Jaguar") |
|
| 6.8 | October 3, 2003 | Mac OS X v10.2.8 | |
| 7.0 | October 24, 2003 | Mac OS X Panther | Mac OS X v10.3.0
|
| 7.9 | April 15, 2005 | Mac OS X v10.3.9 | |
| 8.0 | April 29, 2005 | Template:Ubl | Mac OS X v10.4.0
|
| 8.11 | November 14, 2007 | Mac OS X v10.4.11 |
The jump in version numbers from Darwin 1.4.1 to 5.1 with the release of Mac OS X v10.1.1 was designed to tie Darwin to the Mac OS X version and build numbering system, which in turn is inherited from NeXTSTEP. In the build numbering system of macOS, every version has a unique beginning build number, which identifies what whole version of macOS it is part of. Mac OS X v10.0 had build numbers starting with 4, 10.1 had build numbers starting with 5, and so forth (earlier build numbers represented developer releases).[27]
Darwin 9; iPhone OS introduced
| Version | Date | Corresponding releases | Notes |
|---|---|---|---|
| 9.0 | October 26, 2007 | Template:Ubl | Mac OS X v10.5.0
|
| 9.8 | August 5, 2009 | Mac OS X v.10.5.8 |
Darwin 10-11; iPhone OS rebranded to iOS
| Version | Date | Corresponding releases | Notes |
|---|---|---|---|
| 10.0 | August 28, 2009 | Template:Ubl | Mac OS X v10.6.0
|
| 10.8 | June 23, 2011 | Mac OS X v10.6.8 | |
| 11.0.0 | July 20, 2011 | Template:Ubl | Mac OS X v10.7.0
|
| 11.4.2 | October 4, 2012 | Mac OS X v10.7.5 (supplemental) |
Darwin 12–15; Mac OS X rebranded into OS X
Script error: No such module "anchor".
| Version | Date | Corresponding releases | Notes |
|---|---|---|---|
| 12.0.0 | February 16, 2012 | OS X Mountain Lion | OS X v10.8.0
|
| 12.6.0 | January 27, 2015 | OS X v10.8.5 (with Security Update 2015-001) | |
| 13.0.0 | June 11, 2013 | Template:Ubl | OS X v10.9.0
|
| 13.4.0 | September 17, 2014 | OS X v10.9.5 | |
| 14.0.0 | September 18, 2014 | Template:Ubl | OS X v10.10.0 |
| 14.5.0 | August 13, 2015 | OS X v10.10.5 | |
| 15.0.0 | September 16, 2015 | Template:Ubl | OS X v10.11.0 and iOS 9.0
|
| 15.6.0 | July 18, 2016 | OS X v10.11.6 and iOS 9.3.3 |
Darwin 16–19; OS X rebranded into macOS
| Version | Date | Corresponding releases | Notes |
|---|---|---|---|
| 16.0.0 | September 13, 2016 | Template:Ubl | macOS v10.12.0 and iOS 10.0.1 (initial release version)
|
| 16.5.0 | March 27, 2017 | macOS v10.12.4 and iOS 10.3 | |
| 16.6.0 | July 19, 2017 | macOS v10.12.6 and iOS 10.3.3 | |
| 17.0.0 | September 19, 2017 | Template:Ubl |
|
| 17.5.0 | March 29, 2018 | macOS 10.13.4
| |
| 17.6.0 | June 1, 2018 | macOS v10.13.5 | |
| 17.7.0 | July 9, 2018 | macOS v10.13.6 and iOS 11.4.1 | |
| 18.0.0 | September 24, 2018 | Template:Ubl | |
| 18.2.0 | October 30, 2018 | macOS v10.14.1 and iOS 12.1
| |
| 19.0.0 | September 19, 2019 | Template:Ubl | |
| 19.2.0 | December 10, 2019 | macOS 10.15.2 and iOS 13.3 | |
| 19.3.0 | January 28, 2020 | macOS 10.15.3 and iOS 13.3.1
| |
| 19.4.0 | March 24, 2020 | ||
| 19.5.0 | April 30, 2020 | macOS 10.15.5 and iOS 13.5 | |
| 19.6.0 | June 1, 2020 | macOS 10.15.6 beta 2 and iOS 13.6.0 beta 2 |
Darwin 20 onwards
| Version | Date | Corresponding releases | Notes |
|---|---|---|---|
| 20.0.0 | June 22, 2020 | Template:Ubl | macOS 11.0 beta 1 and iOS 14.0 beta 1 |
| 20.1.0 | September 3, 2020 | macOS 11.0 and iOS 14.0 | |
| 20.2.0 | November 12, 2020 | macOS 11.1 and iOS 14.3 | |
| 20.3.0 | February 1, 2021 | macOS 11.2, iOS 14.4, iPadOS 14.4, watchOS 7.3 and tvOS 14.4. | |
| 20.4.0 | April 20, 2021 | macOS 11.3, iOS 14.5, iPadOS 14.5, watchOS 7.4 and tvOS 14.5. | |
| 20.5.0 | May 24, 2021 | macOS 11.4 and iOS 14.6 | |
| 20.6.0 | June 2, 2021 | macOS 11.5 beta 2 and iOS 14.7 beta 2 | |
| 21.0.0 | June 7, 2021 | Template:Ubl | macOS 12.0 beta 1 and iOS 15.0 beta 1 |
| 21.0.1 | October 25, 2021 | macOS 12.0 | |
| 21.1.0 | October 25, 2021 | macOS 12.0.1 and iOS 15.0 | |
| 21.2.0 | December 7, 2021 | macOS 12.1 and iOS 15.2 | |
| 21.3.0 | January 26, 2022 | macOS 12.2 and iOS 15.3 | |
| 21.4.0 | March 14, 2022 | macOS 12.3 and iOS 15.4 | |
| 21.5.0 | June 24, 2022 | macOS 12.4 and iOS 15.5 | |
| 21.6.0 | July 20, 2022 | macOS 12.5 and iOS 15.6 | |
| 22.0 | June 6, 2022 | Template:Ubl | macOS 13.0 beta 1, iOS 16.0, watchOS 9.0 and tvOS 16.0 |
| 22.1.0 | October 24, 2022 | macOS 13.0, iOS 16.1, iPadOS 16.1, watchOS 9.1 and tvOS 16.1 | |
| 22.2.0 | December 13, 2022 | macOS 13.1, iOS 16.2, iPadOS 16.2, watchOS 9.2 and tvOS 16.2 | |
| 22.3.0 | January 23, 2023 | macOS 13.2, iOS 16.3, iPadOS 16.3, watchOS 9.3 and tvOS 16.3 | |
| 22.4.0 | March 27, 2023 | macOS 13.3, iOS 16.4, iPadOS 16.4, watchOS 9.4 and tvOS 16.4 | |
| 22.5.0 | May 18, 2023 | macOS 13.4, iOS 16.5, iPadOS 16.5, watchOS 9.5 and tvOS 16.5 | |
| 22.6.0 | July 24, 2023 | macOS 13.5, iOS 16.6, iPadOS 16.6, watchOS 9.6 and tvOS 16.6 | |
| 23.0.0 | September 18, 2023 | Template:Ubl | macOS 14.0, iOS 17.0, iPadOS 17.0, watchOS 10.0 and tvOS 17.0 |
| 23.1.0 | October 25, 2023 | macOS 14.1, iOS 17.1, iPadOS 17.1, watchOS 10.1 and tvOS 17.1 | |
| 23.2.0 | November 15, 2023 | macOS 14.2, iOS 17.2, iPadOS 17.2, watchOS 10.2 and tvOS 17.2 | |
| 23.3.0 | January 22, 2024 | macOS 14.3, iOS 17.3, iPadOS 17.3, watchOS 10.3 and tvOS 17.3 | |
| 23.4.0 | March 5, 2024 | macOS 14.4, iOS 17.4, iPadOS 17.4, watchOS 10.4 and tvOS 17.4 | |
| 23.5.0 | May 13, 2024 | macOS 14.5, iOS 17.5, iPadOS 17.5, watchOS 10.5 and tvOS 17.5 | |
| 24.0.0 | September 16, 2024 | Template:Ubl | macOS 15.0, iOS 18.0, iPadOS 18.0, watchOS 11.0, and tvOS 18.0 |
| 25.0.0 | September 15, 2025 | Template:Ubl | macOS, iOS, iPadOS, watchOS, and tvOS 26.0 |
Note: the tables above contain the release dates of the corresponding OS releases. Build dates for Darwin versions are not publicly available; the commands below only give the build date for the XNU kernel.
The command Template:Mono in Terminal will show the Darwin version number ("20.3.0"), and the command Template:Mono will show the XNU build version string, which includes the Darwin version number. The command Template:Mono will show the corresponding ProductName ("macOS"), the ProductVersion number ("11.2.3") and the BuildVersion string ("20D91").
Derived projects
Due to the free software nature of Darwin, there have been projects that aim to modify the operating system or take Darwin’s parts for their own purpose.
Among these, DarwinBSD, OpenDarwin, and PureDarwin can be termed "alternative Darwin distributions" in a sense analogous to Linux distributions.
OpenDarwin
OpenDarwin was a community-led operating system based on the Darwin system. It was founded in April 2002 by Apple and Internet Systems Consortium. Its goal was to increase collaboration between Apple developers and the free software community. Apple benefited from the project because improvements to OpenDarwin would be incorporated into Darwin releases; and the free/open-source community benefited from being given complete control over its own operating system, which could then be used in free software distributions such as GNU-Darwin.[34]
On July 25, 2006, the OpenDarwin team announced that the project was shutting down, as they felt OpenDarwin had "become a mere hosting facility for Mac OS X related projects", and that the efforts to create a standalone Darwin operating system had failed.[35] They also state: "Availability of sources, interaction with Apple representatives, difficulty building and tracking sources, and a lack of interest from the community have all contributed to this."[36] The last stable release was version 7.2.1, released on July 16, 2004.[37]
PureDarwin
PureDarwin is a project to create a bootable operating system image from Apple's released source code for Darwin.[38] Since the halt of OpenDarwin and the release of bootable images since Darwin 8.x, it has been increasingly difficult to create a full operating system as many components became closed source. In 2015 the project created a preview release based on Darwin 9 with an X11 GUI,[39] followed by a command-line only 17.4 Beta based on Darwin 17 in 2019.[40]
Other derived projects
"Darwin distributions" (see also the other package managers below):
- GNU-Darwin was a project that ports packages of free software to Darwin. They package OS images in a way similar to a Linux distribution.
- DarwinBSD Project was a Darwin distribution using FreeBSD's pkgsrc package management.[41]
Other types of derivatives:
- The Darbat project was an experimental port of Darwin to the L4 microkernel family. It aims to be binary compatible with existing Darwin binaries.[42]
- The Darling project is a compatibility layer for running macOS binaries on Linux systems. It uses some Darwin source code.[43]
Related open-source projects
Projects intended to work with Darwin
The following are not Darwin derivatives, at least not beyond the extent that any program written for an operating system is partly derived from its application programming interface and other constraints.
- XQuartz is a component of the X Window System that runs on macOS (Darwin). XDarwin, before the introduction of Apple's X11.app.
- WebKit is a browser engine primarily used in Apple's Safari web browser, as well as all web browsers on iOS and iPadOS.
- MacPorts (formerly DarwinPorts), Fink, and Homebrew are projects to port UNIX programs to the Darwin operating system and provide package management. In addition, several standard UNIX package managers—such as RPM, pkgsrc, and Portage—have Darwin ports. Some of these operate in their own namespace so as not to interfere with the base system.
- The Darwine project was a port of Wine that allows one to run Microsoft Windows software on Darwin.
- SEDarwin was a port of TrustedBSD mandatory access control framework and portions of the SELinux framework to Darwin.[44] It was incorporated into Mac OS X 10.5.[45]
- There are various projects that focus on driver support: e.g., wireless drivers,[46][47] wired NIC drivers[48][49][50] modem drivers,[51] card readers,[52] and the ext2 and ext3 file systems.[53][54]
Neither substantially based on Darwin nor mainly intended to work on it
The following projects re-implements parts of macOS API that are above the level of Darwin.
- GNUstep is a free software implementation of the Cocoa (formerly OpenStep) Objective-C frameworks, widget toolkit, and application development tools for Unix-like operating systems.
- Window Maker, a window manager designed to emulate the NeXT GUI as part of the wider GNUstep project.
See also
Script error: No such module "Portal".
References
External links
- Darwin Releases at Apple Developer Connection
- source code of individual packages
- Hexley, the Darwin mascot
- PureDarwin.org
- Template:Webarchive
Template:Darwin derivations Script error: No such module "Navbox". Template:Apple Inc. operating systems Template:Unix-like Template:FOSS
- ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedapple_bsd_overview - ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Template:Cite magazine
- ↑ Template:Cite magazine
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "Citation/CS1".Template:Cbignore
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Template:Cite CiteSeerX
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1". Requires an Apache SVN client.
- ↑ Script error: No such module "citation/CS1".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Template:Cite mailing list
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ PureDarwin Xmas Template:Webarchive (2015)
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1". Project inactive since March 15, 2006.
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- Pages with script errors
- Pages with broken file links
- 2000 software
- Mascots introduced in 2000
- Animal mascots
- Apple Inc. operating systems
- Berkeley Software Distribution
- Free software operating systems
- Mach (kernel)
- MacOS
- Unix variants
- IA-32 operating systems
- X86-64 operating systems
- PowerPC operating systems
- Pages with reference errors