Developer | Apple Inc. |
---|---|
Written in | C, C++, Objective-C, assembly language |
OS family | Unix-like, [1] [2] FreeBSD, [3] BSD [4] |
Working state | Current |
Source model | currently open source with proprietary components[ citation needed ], previously open source |
Initial release | November 15, 2000 |
Latest release | 24.0.0 / September 16, 2024 |
Repository | github |
Platforms | Current: x86-64, 64-bit ARM, 32-bit ARM (32-bit ARM support is closed-source) Historical: PowerPC (32-bit and 64-bit), IA-32 |
Kernel type | Hybrid (XNU) |
Influenced by | NeXTSTEP, FreeBSD, BSD |
Default user interface | Command-line interface (Unix shell) |
License | Mostly Apple Public Source License (APSL), with closed-source drivers [5] |
Official website | opensource |
Part of a series on |
macOS |
---|
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 Inc. in 2000. It is composed of code derived from NeXTSTEP, FreeBSD, [3] other BSD operating systems, [6] Mach, and other free software projects' code, as well as code developed by Apple. Darwin's official mascot is Hexley the Platypus. [7]
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). [8] [9] [10]
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. [11] At the time, interim CEO Steve Jobs alluded to British naturalist Charles Darwin by announcing "because it's about evolution". [12] 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. [13] 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.
The kernel of Darwin is XNU, a hybrid kernel which uses OSFMK 7.3 [14] (Open Software Foundation Mach Kernel) from the OSF, various elements of FreeBSD (including the process model, network stack, and virtual file system), [15] and an object-oriented device driver API called I/O Kit. [16] The hybrid kernel design provides the flexibility of a microkernel [17] [ failed verification – see discussion ] and the performance of a monolithic kernel. [18]
The last bootable full release of Darwin supported 32-bit and 64-bit Apple PowerPC systems and 32-bit Intel PCs. [19]
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. [20] [21] 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. [22] An open-source port of the XNU kernel also exists for ARM platforms, though it has not been updated since 2016. [23] 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.
In July 2003, Apple released Darwin under version 2.0 of the Apple Public Source License (APSL), which the Free Software Foundation (FSF) classifies as a free software license incompatible with the GNU General Public License. [24] Previous versions were released under an earlier version of the APSL license, which did not meet the FSF definition of free software, although it did meet the requirements of the Open Source Definition. [25]
The following is a table of major Darwin releases with their dates of release and their derivative operating system releases. [26] Note that the corresponding releases may have been released on a different date.
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 |
| 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). [31]
Version | Date | Corresponding releases | Notes |
---|---|---|---|
9.0 | October 26, 2007 | Mac OS X v10.5.0
| |
9.8 | August 5, 2009 | Mac OS X v.10.5.8 | |
Version | Date | Corresponding releases | Notes |
---|---|---|---|
10.0 | August 28, 2009 | Mac OS X v10.6.0
| |
10.8 | June 23, 2011 | Mac OS X v10.6.8 | |
11.0.0 | July 20, 2011 | Mac OS X v10.7.0
| |
11.4.2 | October 4, 2012 | Mac OS X v10.7.5 (supplemental) | |
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 | OS X v10.9.0
| |
13.4.0 | September 17, 2014 | OS X v10.9.5 | |
14.0.0 | September 18, 2014 | OS X v10.10.0 | |
14.5.0 | August 13, 2015 | OS X v10.10.5 | |
15.0.0 | September 16, 2015 | 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 | |
Version | Date | Corresponding releases | Notes |
---|---|---|---|
16.0.0 | September 13, 2016 |
| 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 |
|
|
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 |
| |
18.2.0 | October 30, 2018 | macOS v10.14.1 and iOS 12.1
| |
19.0.0 | September 19, 2019 |
| |
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 | |
Version | Date | Corresponding releases | Notes |
---|---|---|---|
20.0.0 | June 22, 2020 |
| 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 |
| 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 | 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 | 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 | macOS 15.0, iOS 18.0, iPadOS 18.0, watchOS 11.0, and tvOS 18.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 uname -r in Terminal will show the Darwin version number ("20.3.0"), and the command uname -v will show the XNU build version string, which includes the Darwin version number. The command sw_vers will show the corresponding ProductName ("macOS"), the ProductVersion number ("11.2.3") and the BuildVersion string ("20D91").
Due to the free software nature of Darwin, there have been projects that aim to modify or enhance the operating system.
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. [39]
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. [40] 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." [41] The last stable release was version 7.2.1, released on July 16, 2004. [42]
PureDarwin is a project to create a bootable operating system image from Apple's released source code for Darwin. [43] 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, [44] followed by a command-line only 17.4 Beta based on Darwin 17. [45]
Mach is a kernel developed at Carnegie Mellon University by Richard Rashid and Avie Tevanian to support operating system research, primarily distributed and parallel computing. Mach is often considered one of the earliest examples of a microkernel. However, not all versions of Mach are microkernels. Mach's derivatives are the basis of the operating system kernel in GNU Hurd and of Apple's XNU kernel used in macOS, iOS, iPadOS, tvOS, and watchOS.
uname is a computer program in Unix and Unix-like computer operating systems that prints the name, version and other details about the current machine and the operating system running on it.
PF is a BSD licensed stateful packet filter, a central piece of software for firewalling. It is comparable to netfilter (iptables), ipfw, and ipfilter.
Mac OS X 10.0 is the first major release of macOS, Apple's desktop and server operating system. It was released on March 24, 2001, for a price of $129 after a public beta.
MkLinux is an open-source software computer operating system begun by the Open Software Foundation Research Institute and Apple Computer in February 1996, to port Linux to the PowerPC platform, and Macintosh computers. The name refers to the Linux kernel being adapted to run as a server hosted on the Mach microkernel, version 3.0.
XNU is the computer operating system (OS) kernel developed at Apple Inc. since December 1996 for use in the Mac OS X operating system and released as free and open-source software as part of the Darwin OS, which, in addition to being the basis for macOS, is also the basis for Apple TV Software, iOS, iPadOS, watchOS, visionOS, and tvOS.
A hybrid kernel is an operating system kernel whose architecture attempts to combine aspects and benefits of microkernel and monolithic kernel architectures used in operating systems.
FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD) which currently runs on IA-32, x86-64, ARM, PowerPC and RISC-V based computers. The first version was released in 1993 developed from 386BSD — the first free Unix system — and has since continously been the most commonly used BSD-derived operating system.
Operating system Wi-Fi support is defined as the facilities an operating system may include for Wi-Fi networking. It usually consists of two pieces of software: device drivers, and applications for configuration and management.
The Berkeley Software Distribution or Berkeley Standard Distribution (BSD) is a discontinued operating system based on Research Unix, developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berkeley. Since the original has become obsolete, the term "BSD" is commonly used for its open-source descendants, including FreeBSD, OpenBSD, NetBSD, and DragonFly BSD.
A Unix-like operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-like application is one that behaves like the corresponding Unix command or shell. Although there are general philosophies for Unix design, there is no technical standard defining the term, and opinions can differ about the degree to which a particular operating system or application is Unix-like.
Mac operating systems were developed by Apple Inc. in a succession of two major series.
NetBSD is a free and open-source Unix-like operating system based on the Berkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after 386BSD was forked. It continues to be actively developed and is available for many platforms, including servers, desktops, handheld devices, and embedded systems.
Darling is a free and open-source macOS compatibility layer for Linux. It duplicates functions of macOS by providing alternative implementations of the libraries and frameworks that macOS programs call. This method of duplication differs from other methods that might also be considered emulation, where macOS programs run in a virtual machine. Darling has been called the counterpart to WINE for running macOS apps.
NextBSD was an operating system initially based on the trunk version of FreeBSD as of August 2015. It was a fork of FreeBSD which implemented new features developed on branches, but not yet implemented in FreeBSD. As of 2019, the website is defunct, with the last commits on GitHub dating to October 2019. The Wayback Machine captures of the website after December 15, 2017 are domain squatter pages, and as of March 17, 2021, the site is redirects to a fake "Apple Support" page.
The history of the Berkeley Software Distribution began in the 1970s when University of California, Berkeley received a copy of Unix. Professors and students at the university began adding software to the operating system and released it as BSD to select universities. Since it contained proprietary Unix code, it originally had to be distributed subject to AT&T licenses. The bundled software from AT&T was then rewritten and released as free software under the BSD license. However, this resulted in a lawsuit with Unix System Laboratories, the AT&T subsidiary responsible for Unix. Eventually, in the 1990s, the final versions of BSD were publicly released without any proprietary licenses, which led to many descendants of the operating system that are still maintained today.
Comparison of user features of operating systems refers to a comparison of the general user features of major operating systems in a narrative format. It does not encompass a full exhaustive comparison or description of all technical details of all operating systems. It is a comparison of basic roles and the most prominent features. It also includes the most important features of the operating system's origins, historical development, and role.
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.
Quad Core 1.2GHz Broadcom BCM2837