fbpx
Wikipedia

Darwin (operating system)

Darwin is the core Unix operating system of macOS (previously OS X and Mac OS X), iOS, watchOS, tvOS, iPadOS 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, BSD, Mach, and other free software projects' code, as well as code developed by Apple.

Darwin
DeveloperApple Inc.
Written inC, C++, Objective-C, assembly language
OS familyUnix,[1][2] BSD[3]
Working stateCurrent
Source modelcurrently proprietary (with open source components), previously open source
Initial releaseNovember 15, 2000; 22 years ago (2000-11-15)
Latest release22.3.0 / January 23, 2023; 2 months ago (2023-01-23)
Repositorygithub.com/apple/darwin-xnu
PlatformsCurrent: 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 typeHybrid (XNU)
Default
user interface
Command-line interface (Unix shell)
LicenseMostly Apple Public Source License (APSL), with closed-source drivers[4]
Official websiteopensource.apple.com

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).[5][6][7]

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.[8] At the time, interim CEO Steve Jobs alluded to British naturalist Charles Darwin by announcing "because it's about evolution".[9] 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, 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.[10] 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.

 
Simplified history of Unix-like operating systems

Design

 
Diagram of macOS architecture

Kernel

The kernel of Darwin is XNU, a hybrid kernel which uses OSFMK 7.3[11] (Open Software Foundation Mach Kernel) from the OSF, various elements of FreeBSD (including the process model, network stack, and virtual file system),[12] and an object-oriented device driver API called I/O Kit.[13] The hybrid kernel design provides the flexibility of a microkernel[14][failed verificationsee discussion] and the performance of a monolithic kernel.[15]

Hardware and software support

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) and 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) classifies as a free software license incompatible with the GNU General Public License.[20] 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.[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
  • Initial release
  • 0.1 is contrived (for sorting and identification) as this identified itself simply as Rhapsody 5.3
0.2 April 14, 1999 Mac OS X Server 1.0.1
0.3 August 5, 1999 Based on Rhapsody 5.5
  • ISO image is available on archive.org
  • After this point the kernel changed from the NeXTSTEP/OPENSTEP/Rhapsody to the newer XNU for Mac OS X
1.0 April 12, 2000 Developer preview 3
  • ISO image is available on archive.org
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")
  • First commercial release of Darwin
  • All releases of Cheetah (v10.0.0–4) had the same version of Darwin.
1.4.1 October 2, 2001 Mac OS X v10.1 (code-named "Puma")
  • Performance improvements to "boot time, real-time threads, thread management, cache flushing, and preemption handling"
  • Support for SMB network file system
  • Wget replaced with cURL.[23]
5.1 November 12, 2001 Mac OS X v10.1.1
  • Change in numbering scheme to match the Mac OS X build numbering scheme
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).[27]

Darwin 9; iPhone OS introduced

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

Darwin 10-11; iPhone OS rebranded to iOS

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
  • XNU no longer supports PPC binaries (fat binary only for i386, x86_64).
  • XNU requires an x86_64 processor, except for iOS which is ARM based.
  • Improved sandboxing of applications
  • Complete support for Automatic Reference Counting
11.4.2 October 4, 2012 Mac OS X v10.7.5 (supplemental)

Darwin 12–15; Mac OS X rebranded into OS X

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
  • System Integrity Protection. Protects certain system parts from being modified or tampered with by a process even if run by root or by a user with root privileges.
  • sudo is configured with the "tty_tickets" flag by default, restricting the session timeout to the terminal session (such as a window or tab) in which the user authenticated the program.
  • LibreSSL replaces OpenSSL
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 macOS v10.12.0 and iOS 10.0.1 (initial release version)
  • OS X was rebranded into macOS.
  • Writing to /Volumes directory is now restricted to root user or any user with root privileges
  • System Integrity Protection now covers /Library/Application Support/com.apple.TCC directory that contains a list of applications that are allowed to "control the computer"
  • Objective-C garbage collector removed and replaced by Automatic Reference Counting that was introduced with Darwin v12.0 (OS X v10.8). Objective-C applications that use garbage collection will no longer work.
  • Native support for PPTP was removed.
16.5.0 March 27, 2017 macOS v10.12.4 and iOS 10.3
  • Changed filesystem from HFS+ to APFS on iOS devices. APFS is already available on macOS since 10.12.0 but can't be used on boot partition.
16.6.0 July 19, 2017 macOS v10.12.6 and iOS 10.3.3
17.0.0 September 19, 2017
  • APFS replaces HFS+ as the default filesystem for boot partition in macOS on Macs with flash storage. On Macs with HDDs, the boot partition must be reformatted to use APFS.
  • ntpd replaced by timed as a time synchronization service
  • FTP and telnet commands are removed.
  • Kernel extensions ("kexts") will require explicit approval by the user before being able to run.
17.5.0 March 29, 2018 macOS 10.13.4
  • Support for external graphics processors using Thunderbolt 3, and removes support for external graphics processors using Thunderbolt 1 and 2.
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
  • Added support for the new Radeon Vega 20 GPUs in the new MacBooks
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
  • System Extensions replace Kexts and runs in userspace, outside of the kernel.[31]
  • DriverKit replaces I/O Kit. It Introduces "Dexts" (Driver Extensions) which are built using DriverKit. Driverkit is a new SDK with all new frameworks based on IOKit, but is updated and modernized. Device Drivers run in userspace, outside of the kernel.[32][33][34]
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 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

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").

Derived projects

Due to the free software nature of Darwin, there have been projects that aim to modify or enhance the operating system.

OpenDarwin

 
GNOME running on OpenDarwin

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.[35]

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.[36] 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."[37] The last stable release was version 7.2.1, released on July 16, 2004.[38]

PureDarwin

PureDarwin was a project to create a bootable operating system image from Apple's released source code for Darwin.[39] 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 become closed source. In 2015 the project created a preview release based on Darwin 9 with an X11 GUI,[40] followed by a command-line only 17.4 Beta based on Darwin 17.[41]

Other derived projects

DarwinBSD Project is a Darwin Project using pkgsrc for packages and is a Open Source Project http://darwinbsd.tk

See also

References

  1. ^ "Kernel Architecture Overview". Kernel Programming Guide.
  2. ^ "darwin-xnu/README.md at master". GitHub. from the original on March 31, 2019. Retrieved November 21, 2019.
  3. ^ . Archived from the original on November 19, 2004. Retrieved August 9, 2021.
  4. ^ . Archived from the original on November 18, 2009. Retrieved July 20, 2009.
  5. ^ . Leopard Technology Overview. Apple Inc. Archived from the original on December 27, 2008. 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.
  6. ^ The Open Group (May 18, 2007). "Mac OS X Version 10.5 Leopard on Intel-based Macintosh computers certification". Retrieved February 11, 2013.
  7. ^ "macOS version 10.13 High Sierra on Intel-based Mac computers". The Open Group. Retrieved November 19, 2017.
  8. ^ Walsh, Jeff (March 22, 1999). "Apple goes open source with key OS components". InfoWorld. Vol. 21, no. 12. IDG InfoWorld. p. 40. Retrieved February 17, 2020.
  9. ^ Kahney, Leander. "Apple Opens OS Code". Wired. Condé Nast. Retrieved February 17, 2020.
  10. ^ . Archived from the original on October 7, 2016.
  11. ^ Jim Magee. WWDC 2000 Session 106 - Mac OS X: Kernel. 14 minutes in. Archived from the original on December 11, 2021.
  12. ^ "Mac Technology Overview: Kernel and Device Drivers Layer". Apple Developer Connection. Retrieved February 11, 2013.
  13. ^ Singh, Amit (January 7, 2004). . Archived from the original on June 2, 2020. Retrieved February 11, 2013.
  14. ^ Roch, Benjamin. "Monolithic kernel vs. Microkernel". CiteSeerX 10.1.1.89.9877. {{cite journal}}: Cite journal requires |journal= (help)
  15. ^ "Additional Features". Porting UNIX/Linux Applications to OS X. Apple Inc.
  16. ^ "XNU board config for BCM2837". GitHub. December 16, 2021.
  17. ^ "Raspberry Pi 3 Model B". Quad Core 1.2GHz Broadcom BCM2837
  18. ^ "Voodoo XNU Kernel Source". Requires an Apache SVN client.
  19. ^ "XNU on ARMv7". GitHub. January 25, 2022.
  20. ^ "FSF's Opinion of the Apple Public Source License (APSL) 2.0".
  21. ^ "The Problems with older versions of the Apple Public Source License (APSL)".
  22. ^ "Open Source Releases". Apple Developer Connection. Retrieved February 11, 2013.
  23. ^ . Apple Developer Connection. Archived from the original on November 14, 2001.
  24. ^ Siracusa, John (September 5, 2002). "Mac OS X 10.2 Jaguar". Ars Technica. Retrieved May 31, 2008.
  25. ^ Siracusa, John (November 9, 2003). "Mac OS X 10.3 Panther". Ars Technica. Retrieved May 31, 2008.
  26. ^ Siracusa, John (April 28, 2005). "Mac OS X 10.4 Tiger". Ars Technica. Retrieved May 30, 2008.
  27. ^ Prabhakar, Ernie (November 9, 2001). . darwin-development (Mailing list). Archived from the original on January 14, 2009. Retrieved June 2, 2008.
  28. ^ Siracusa, John (October 28, 2007). "Mac OS X 10.5 Leopard: the Ars Technica review". Ars Technica. Retrieved May 30, 2008.
  29. ^ Siracusa, John (August 31, 2009). "Mac OS X 10.6 Snow Leopard: the Ars Technica review". Ars Technica. Retrieved November 29, 2009.
  30. ^ As found on a jailbroken iPhone 4S
  31. ^ "System Extensions and DriverKit - WWDC19 - Videos".
  32. ^ "SystemExtensions". Apple Developer Documentation.
  33. ^ "DriverKit". Apple Developer Documentation.
  34. ^ System Extensions and DriverKit. Apple Developer Documentation.
  35. ^ . OpenDarwin Project. Archived from the original on January 6, 2006.
  36. ^ Schofield, Jack (July 26, 2006). "OpenDarwin Shutting Down". The Guardian. Retrieved March 18, 2023.
  37. ^ OpenDarwin Core Team and Administrators (July 25, 2006). . OpenDarwin Project. Archived from the original on August 4, 2006.
  38. ^ . August 5, 2004. Archived from the original on August 5, 2004. Retrieved October 7, 2019.
  39. ^ "PureDarwin".
  40. ^ PureDarwin Xmas (2015)
  41. ^ "PureDarwin 17.4 Beta". GitHub. PureDarwin. November 30, 2019. Retrieved January 11, 2020.
  42. ^ . SEDarwin. January 22, 2007. Archived from the original on October 5, 2011.
  43. ^ . Mac OS X Reference Library. Apple Inc. November 13, 2009. Archived from the original on December 8, 2009.
  44. ^ . Ertos.nicta.com.au. May 9, 2007. Archived from the original on December 19, 2013.
  45. ^ "Darling: macOS translation layer for Linux". www.darlinghq.org. Retrieved January 11, 2020.
  46. ^ yuriwho (May 5, 2002). "WirelessDriver Home Page". Wirelessdriver.sourceforge.net. Retrieved July 12, 2010.
  47. ^ "iwi2200 Darwin". SourceForge. March 27, 2009. Retrieved June 13, 2010.
  48. ^ "Port BSD tulip driver(s) to Darwin OS | Download Port BSD tulip driver(s) to Darwin OS software for free at". SourceForge.net. Retrieved July 12, 2010.
  49. ^ "RealTek network driver for Mac OS X/Darwin". SourceForge. March 15, 2006. Retrieved June 3, 2010. Project inactive since March 15, 2006.
  50. ^ fansui; et al. (August 1, 2007). "RTL8150LMEthernet". SourceForge. Retrieved June 13, 2010.
  51. ^ "ZyXEL Modem Drivers for OS X/Darwin | Download ZyXEL Modem Drivers for OS X/Darwin software for free at". SourceForge.net. May 14, 2002. Retrieved July 12, 2010.
  52. ^ "Mac OS X PC Card ATA Driver". Pccardata.sourceforge.net. December 20, 2001. Retrieved July 12, 2010.
  53. ^ "Mac OS X Ext2 Filesystem | Download Mac OS X Ext2 Filesystem software for free at". SourceForge.net. October 14, 2002. Retrieved July 12, 2010.
  54. ^ "ext2 filesystem in user space". SourceForge. July 14, 2008. Retrieved June 13, 2010.

External links

darwin, operating, system, darwin, kernel, redirects, here, article, about, kernel, darwin, core, unix, operating, system, macos, previously, watchos, tvos, ipados, bridgeos, previously, existed, independent, open, source, operating, system, first, released, a. Darwin kernel redirects here For the article about the kernel see XNU Darwin is the core Unix operating system of macOS previously OS X and Mac OS X iOS watchOS tvOS iPadOS 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 BSD Mach and other free software projects code as well as code developed by Apple DarwinDeveloperApple Inc Written inC C Objective C assembly languageOS familyUnix 1 2 BSD 3 Working stateCurrentSource modelcurrently proprietary with open source components previously open sourceInitial releaseNovember 15 2000 22 years ago 2000 11 15 Latest release22 3 0 January 23 2023 2 months ago 2023 01 23 Repositorygithub wbr com wbr apple wbr darwin xnuPlatformsCurrent x86 64 64 bit ARM 32 bit ARM 32 bit ARM support is closed source Historical PowerPC 32 bit and 64 bit IA 32Kernel typeHybrid XNU Defaultuser interfaceCommand line interface Unix shell LicenseMostly Apple Public Source License APSL with closed source drivers 4 Official websiteopensource wbr apple wbr comDarwin 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 5 6 7 Contents 1 History 2 Design 2 1 Kernel 2 2 Hardware and software support 3 License 4 Release history 4 1 Darwin 0 8 and corresponding Mac OS X releases 4 2 Darwin 9 iPhone OS introduced 4 3 Darwin 10 11 iPhone OS rebranded to iOS 4 4 Darwin 12 15 Mac OS X rebranded into OS X 4 5 Darwin 16 19 OS X rebranded into macOS 4 6 Darwin 20 onwards 5 Derived projects 5 1 OpenDarwin 5 2 PureDarwin 5 3 Other derived projects 6 See also 7 References 8 External linksHistory EditThe 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 8 At the time interim CEO Steve Jobs alluded to British naturalist Charles Darwin by announcing because it s about evolution 9 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 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 10 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 Simplified history of Unix like operating systemsDesign Edit Diagram of macOS architecture Kernel Edit Main article XNU The kernel of Darwin is XNU a hybrid kernel which uses OSFMK 7 3 11 Open Software Foundation Mach Kernel from the OSF various elements of FreeBSD including the process model network stack and virtual file system 12 and an object oriented device driver API called I O Kit 13 The hybrid kernel design provides the flexibility of a microkernel 14 failed verification see discussion and the performance of a monolithic kernel 15 Hardware and software support Edit 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 and 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 EditIn 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 20 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 21 Release history EditThe 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 Edit Version Date Corresponding releases Notes0 1 March 16 1999 Mac OS X Server 1 0 releases Initial release 0 1 is contrived for sorting and identification as this identified itself simply as Rhapsody 5 30 2 April 14 1999 Mac OS X Server 1 0 10 3 August 5 1999 Based on Rhapsody 5 5 ISO image is available on archive org After this point the kernel changed from the NeXTSTEP OPENSTEP Rhapsody to the newer XNU for Mac OS X1 0 April 12 2000 Developer preview 3 ISO image is available on archive org1 1 April 5 2000 Developer preview 41 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 First commercial release of Darwin All releases of Cheetah v10 0 0 4 had the same version of Darwin 1 4 1 October 2 2001 Mac OS X v10 1 code named Puma Performance improvements to boot time real time threads thread management cache flushing and preemption handling Support for SMB network file system Wget replaced with cURL 23 5 1 November 12 2001 Mac OS X v10 1 1 Change in numbering scheme to match the Mac OS X build numbering scheme5 5 June 5 2002 Mac OS X v10 1 56 0 1 September 23 2002 Mac OS X v10 2 code named Jaguar GCC upgraded from 2 to 3 1 IPv6 and IPSec support mDNSResponder service discovery daemon Rendezvous Addition of CUPS Ruby and Python Journaling support in HFS Darwin 6 2 Application profiles pre heat files for faster program launching 24 6 8 October 3 2003 Mac OS X v10 2 87 0 October 24 2003 Mac OS X Panther Mac OS X v10 3 0 BSD layer synchronized with FreeBSD 5 Automatic file defragmentation hot file clustering and optional case sensitivity in HFS Bash instead of tcsh as default shell Read only NTFS support Darwin 7 9 25 7 9 April 15 2005 Mac OS X v10 3 98 0 April 29 2005 Mac OS X TigerMac OS X for Apple TV Mac OS X v10 4 0 Download for Darwin 8 0 1 can be found here Mac OS X for Apple TV in Darwin 8 8 2 Stable kernel programming interface finer grained kernel locking 64 bit BSD layer launchd service management framework Extended file attributes access control lists Commands such as cp and mv updated to preserve extended attributes and resource forks 26 8 11 November 14 2007 Mac OS X v10 4 11The 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 Edit Version Date Corresponding releases Notes9 0 October 26 2007 Mac OS X LeopardiPhone OS 1 Mac OS X v10 5 0 iPhone OS 1 support in Darwin 9 0 0d1 Full POSIX compliance improved hierarchical process scheduling model dynamically allocated swap files dynamic resource limits for files and processes process sandboxing address space layout randomization DTrace tracing framework file system events daemon directory hard links Apache 1 3 and PHP 4 updated to Apache 2 2 and PHP 5 read only ZFS support 28 First Darwin core used for iPhone devices 9 8 August 5 2009 Mac OS X v 10 5 8Darwin 10 11 iPhone OS rebranded to iOS Edit Version Date Corresponding releases Notes10 0 August 28 2009 Mac OS X Snow LeopardiOS 4 Mac OS X v10 6 0 End of official support for PPC architecture although several fat binaries such as Kernel still contain PPC images 64 bit kernel and drivers libdispatch task parallelization framework OpenCL heterogeneous computing framework Initial support for Automatic Reference Counting Support for blocks in C Transparent file compression in HFS 29 10 8 June 23 2011 Mac OS X v10 6 811 0 0 July 20 2011 Mac OS X LioniOS 5 30 Mac OS X v10 7 0 XNU no longer supports PPC binaries fat binary only for i386 x86 64 XNU requires an x86 64 processor except for iOS which is ARM based Improved sandboxing of applications Complete support for Automatic Reference Counting11 4 2 October 4 2012 Mac OS X v10 7 5 supplemental Darwin 12 15 Mac OS X rebranded into OS X Edit Version Date Corresponding releases Notes12 0 0 February 16 2012 OS X Mountain Lion OS X v10 8 0 Mac OS X was rebranded into OS X Objective C garbage collection was deprecated in favor of Automatic Reference Counting12 6 0 January 27 2015 OS X v10 8 5 with Security Update 2015 001 13 0 0 June 11 2013 OS X MavericksiOS 6 OS X v10 9 0 Virtual memory compression Timer coalescing OpenGL 4 1 and OpenCL 1 2 Server Message Block version 2 SMB2 is now the default protocol for sharing files instead of AFP This is to increase performance and cross platform compatibility IPoTB Internet Protocol over Thunderbolt Bridge The Open Transport API has been removed13 4 0 September 17 2014 OS X v10 9 514 0 0 September 18 2014 OS X YosemiteiOS 7 iOS 8watchOS 1 OS X v10 10 014 5 0 August 13 2015 OS X v10 10 515 0 0 September 16 2015 OS X El CapitaniOS 9watchOS 2tvOS 9 OS X v10 11 0 and iOS 9 0 System Integrity Protection Protects certain system parts from being modified or tampered with by a process even if run by root or by a user with root privileges sudo is configured with the tty tickets flag by default restricting the session timeout to the terminal session such as a window or tab in which the user authenticated the program LibreSSL replaces OpenSSL15 6 0 July 18 2016 OS X v10 11 6 and iOS 9 3 3Darwin 16 19 OS X rebranded into macOS Edit Version Date Corresponding releases Notes16 0 0 September 13 2016 macOS SierraiOS 10watchOS 3tvOS 10bridgeOS 1 macOS v10 12 0 and iOS 10 0 1 initial release version OS X was rebranded into macOS Writing to Volumes directory is now restricted to root user or any user with root privileges System Integrity Protection now covers Library Application Support com apple TCC directory that contains a list of applications that are allowed to control the computer Objective C garbage collector removed and replaced by Automatic Reference Counting that was introduced with Darwin v12 0 OS X v10 8 Objective C applications that use garbage collection will no longer work Native support for PPTP was removed 16 5 0 March 27 2017 macOS v10 12 4 and iOS 10 3 Changed filesystem from HFS to APFS on iOS devices APFS is already available on macOS since 10 12 0 but can t be used on boot partition 16 6 0 July 19 2017 macOS v10 12 6 and iOS 10 3 317 0 0 September 19 2017 macOS High SierraiOS 11watchOS 4tvOS 11bridgeOS 2 APFS replaces HFS as the default filesystem for boot partition in macOS on Macs with flash storage On Macs with HDDs the boot partition must be reformatted to use APFS ntpd replaced by timed as a time synchronization service FTP and telnet commands are removed Kernel extensions kexts will require explicit approval by the user before being able to run 17 5 0 March 29 2018 macOS 10 13 4 Support for external graphics processors using Thunderbolt 3 and removes support for external graphics processors using Thunderbolt 1 and 2 17 6 0 June 1 2018 macOS v10 13 517 7 0 July 9 2018 macOS v10 13 6 and iOS 11 4 118 0 0 September 24 2018 macOS MojaveiOS 12watchOS 5tvOS 12bridgeOS 318 2 0 October 30 2018 macOS v10 14 1 and iOS 12 1 Added support for the new Radeon Vega 20 GPUs in the new MacBooks19 0 0 September 19 2019 macOS CatalinaiOS 13watchOS 6tvOS 13bridgeOS 419 2 0 December 10 2019 macOS 10 15 2 and iOS 13 319 3 0 January 28 2020 macOS 10 15 3 and iOS 13 3 1 System Extensions replace Kexts and runs in userspace outside of the kernel 31 DriverKit replaces I O Kit It Introduces Dexts Driver Extensions which are built using DriverKit Driverkit is a new SDK with all new frameworks based on IOKit but is updated and modernized Device Drivers run in userspace outside of the kernel 32 33 34 19 4 0 March 24 202019 5 0 April 30 2020 macOS 10 15 5 and iOS 13 519 6 0 June 1 2020 macOS 10 15 6 beta 2 and iOS 13 6 0 beta 2Darwin 20 onwards Edit Version Date Corresponding releases Notes20 0 0 June 22 2020 macOS Big SuriOS 14watchOS 7tvOS 14bridgeOS 5 macOS 11 0 beta 1 and iOS 14 0 beta 120 1 0 September 3 2020 macOS 11 0 and iOS 14 020 2 0 November 12 2020 macOS 11 1 and iOS 14 320 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 620 6 0 June 2 2021 macOS 11 5 beta 2 and iOS 14 7 beta 221 0 0 June 7 2021 macOS MontereyiOS 15watchOS 8tvOS 15bridgeOS 6 macOS 12 0 beta 1 and iOS 15 0 beta 121 0 1 October 25 2021 macOS 12 021 1 0 October 25 2021 macOS 12 0 1 and iOS 15 021 2 0 December 7 2021 macOS 12 1 and iOS 15 221 3 0 January 26 2022 macOS 12 2 and iOS 15 321 4 0 March 14 2022 macOS 12 3 and iOS 15 421 5 0 June 24 2022 macOS 12 4 and iOS 15 521 6 0 July 20 2022 macOS 12 5 and iOS 15 622 0 June 6 2022 macOS VenturaiOS 16iPadOS 16watchOS 9tvOS 16bridgeOS 7 macOS 13 0 beta 1 iOS 16 0 watchOS 9 0 and tvOS 16 022 1 0 October 24 2022 macOS 13 0 iOS 16 1 iPadOS 16 1 watchOS 9 1 and tvOS 16 122 2 0 December 13 2022 macOS 13 1 iOS 16 2 iPadOS 16 2 watchOS 9 2 and tvOS 16 222 3 0 January 23 2023 macOS 13 2 iOS 16 3 iPadOS 16 3 watchOS 9 3 and tvOS 16 3Note 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 Derived projects EditDue to the free software nature of Darwin there have been projects that aim to modify or enhance the operating system OpenDarwin Edit GNOME running on OpenDarwin 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 35 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 36 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 37 The last stable release was version 7 2 1 released on July 16 2004 38 PureDarwin Edit PureDarwin was a project to create a bootable operating system image from Apple s released source code for Darwin 39 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 become closed source In 2015 the project created a preview release based on Darwin 9 with an X11 GUI 40 followed by a command line only 17 4 Beta based on Darwin 17 41 Other derived projects Edit 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 GNU Darwin is a project that ports packages of free software to Darwin They package OS images in a way similar to a Linux distribution The Darwine project was a port of Wine that allows one to run Microsoft Windows software on Darwin SEDarwin is a port of TrustedBSD mandatory access control framework and portions of the SELinux framework to Darwin 42 It was incorporated into Mac OS X 10 5 43 The Darbat project is an experimental port of Darwin to the L4 microkernel family It aims to be binary compatible with existing Darwin binaries 44 The Darling project is a compatibility layer for running macOS binaries on Linux systems It uses some Darwin source code 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 DarwinBSD Project is a Darwin Project using pkgsrc for packages and is a Open Source Project http darwinbsd tkSee also Edit Free and open source software portalA UX mkLinux OSF 1References Edit Kernel Architecture Overview Kernel Programming Guide darwin xnu README md at master GitHub Archived from the original on March 31 2019 Retrieved November 21 2019 Apple Public Source Darwin FAQ Archived from the original on November 19 2004 Retrieved August 9 2021 Binary Drivers required for PureDarwin Archived from the original on November 18 2009 Retrieved July 20 2009 Mac OS X Leopard Technology UNIX Leopard Technology Overview Apple Inc Archived from the original on December 27 2008 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 The Open Group May 18 2007 Mac OS X Version 10 5 Leopard on Intel based Macintosh computers certification Retrieved February 11 2013 macOS version 10 13 High Sierra on Intel based Mac computers The Open Group Retrieved November 19 2017 Walsh Jeff March 22 1999 Apple goes open source with key OS components InfoWorld Vol 21 no 12 IDG InfoWorld p 40 Retrieved February 17 2020 Kahney Leander Apple Opens OS Code Wired Conde Nast Retrieved February 17 2020 Apple ISO download directory Archived from the original on October 7 2016 Jim Magee WWDC 2000 Session 106 Mac OS X Kernel 14 minutes in Archived from the original on December 11 2021 Mac Technology Overview Kernel and Device Drivers Layer Apple Developer Connection Retrieved February 11 2013 Singh Amit January 7 2004 XNU The Kernel Archived from the original on June 2 2020 Retrieved February 11 2013 Roch Benjamin Monolithic kernel vs Microkernel CiteSeerX 10 1 1 89 9877 a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help Additional Features Porting UNIX Linux Applications to OS X Apple Inc XNU board config for BCM2837 GitHub December 16 2021 Raspberry Pi 3 Model B Quad Core 1 2GHz Broadcom BCM2837 Voodoo XNU Kernel Source Requires an Apache SVN client XNU on ARMv7 GitHub January 25 2022 FSF s Opinion of the Apple Public Source License APSL 2 0 The Problems with older versions of the Apple Public Source License APSL Open Source Releases Apple Developer Connection Retrieved February 11 2013 Technical Note TN2029 Mac OS X v10 1 Apple Developer Connection Archived from the original on November 14 2001 Siracusa John September 5 2002 Mac OS X 10 2 Jaguar Ars Technica Retrieved May 31 2008 Siracusa John November 9 2003 Mac OS X 10 3 Panther Ars Technica Retrieved May 31 2008 Siracusa John April 28 2005 Mac OS X 10 4 Tiger Ars Technica Retrieved May 30 2008 Prabhakar Ernie November 9 2001 Darwin Version New Scheme in Software Update 1 darwin development Mailing list Archived from the original on January 14 2009 Retrieved June 2 2008 Siracusa John October 28 2007 Mac OS X 10 5 Leopard the Ars Technica review Ars Technica Retrieved May 30 2008 Siracusa John August 31 2009 Mac OS X 10 6 Snow Leopard the Ars Technica review Ars Technica Retrieved November 29 2009 As found on a jailbroken iPhone 4S System Extensions and DriverKit WWDC19 Videos SystemExtensions Apple Developer Documentation DriverKit Apple Developer Documentation System Extensions and DriverKit Apple Developer Documentation OpenDarwin OpenDarwin Project Archived from the original on January 6 2006 Schofield Jack July 26 2006 OpenDarwin Shutting Down The Guardian Retrieved March 18 2023 OpenDarwin Core Team and Administrators July 25 2006 OpenDarwin Shutting Down OpenDarwin Project Archived from the original on August 4 2006 OpenDarwin 7 2 1 Released August 5 2004 Archived from the original on August 5 2004 Retrieved October 7 2019 PureDarwin PureDarwin Xmas 2015 PureDarwin 17 4 Beta GitHub PureDarwin November 30 2019 Retrieved January 11 2020 Security Enhanced Darwin SEDarwin January 22 2007 Archived from the original on October 5 2011 What s New In Mac OS X Mac OS X v10 5 Mac OS X Reference Library Apple Inc November 13 2009 Archived from the original on December 8 2009 L4 Darwin aka Darbat Ertos nicta com au May 9 2007 Archived from the original on December 19 2013 Darling macOS translation layer for Linux www darlinghq org Retrieved January 11 2020 yuriwho May 5 2002 WirelessDriver Home Page Wirelessdriver sourceforge net Retrieved July 12 2010 iwi2200 Darwin SourceForge March 27 2009 Retrieved June 13 2010 Port BSD tulip driver s to Darwin OS Download Port BSD tulip driver s to Darwin OS software for free at SourceForge net Retrieved July 12 2010 RealTek network driver for Mac OS X Darwin SourceForge March 15 2006 Retrieved June 3 2010 Project inactive since March 15 2006 fansui et al August 1 2007 RTL8150LMEthernet SourceForge Retrieved June 13 2010 ZyXEL Modem Drivers for OS X Darwin Download ZyXEL Modem Drivers for OS X Darwin software for free at SourceForge net May 14 2002 Retrieved July 12 2010 Mac OS X PC Card ATA Driver Pccardata sourceforge net December 20 2001 Retrieved July 12 2010 Mac OS X Ext2 Filesystem Download Mac OS X Ext2 Filesystem software for free at SourceForge net October 14 2002 Retrieved July 12 2010 ext2 filesystem in user space SourceForge July 14 2008 Retrieved June 13 2010 External links EditDarwin Releases at Apple Developer Connection source code of individual packages Hexley the Darwin mascot PureDarwin org The Apple Museum MacOS X Build Numbers at the Wayback Machine archived December 25 2011 Retrieved from https en wikipedia org w index php title Darwin operating system amp oldid 1146833388, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.