kids encyclopedia robot

Darwin (operating system) facts for kids

Kids Encyclopedia Facts
Quick facts for kids
Darwin
Company / developer Apple Inc.
Programmed in C, C++, Objective-C, assembly language
OS family Unix-like, FreeBSD, BSD
Working state Current
Source model currently open source with proprietary components, previously open source
Initial release November 15, 2000; 24 years ago (2000-11-15)
Latest stable release 24.0.0 / September 16, 2024; 10 months ago (2024-09-16)
Supported 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


Darwin is the main operating system that powers many of Apple's devices. It's like the hidden engine behind macOS (for Macs), iOS (for iPhones), watchOS (for Apple Watches), tvOS (for Apple TVs), iPadOS (for iPads), audioOS, visionOS, and bridgeOS.

Darwin used to be a separate, open-source operating system. Apple first released it in 2000. It's built from different parts, including code from NeXTSTEP, FreeBSD, and other BSD operating systems. It also uses parts of Mach and other free software projects, plus code made by Apple itself. Darwin's unofficial mascot is a platypus named Hexley.

Darwin is mostly compatible with POSIX standards. This means it works similarly to other Unix-like systems. However, Darwin itself has never been officially certified as POSIX compatible. Starting with Leopard, macOS (which uses Darwin) has been certified to meet the Single UNIX Specification version 3 (SUSv3).

History of Darwin

Unix timeline.en
Simplified history of Unix-like operating systems

Darwin's story began with Unix systems. It also includes ideas from NeXT's NeXTSTEP operating system, first released in 1989. Apple bought NeXT in 1996. After that, Apple decided to build its next operating system on OPENSTEP (the newer name for NeXTSTEP).

This led to the creation of Rhapsody in 1997. Then came Mac OS X Server 1.0 in 1999, followed by the Mac OS X Public Beta in 2000. Finally, Mac OS X 10.0 was released in 2001.

In 1999, Apple announced it would release the code for parts of Mac OS X Server. These parts included the Mach 2.5 microkernel, BSD Unix 4.4 OS, and the Apache Web server. In 2000, the main parts of Mac OS X were released as open-source software under the Apple Public Source License (APSL). This open-source core was named Darwin. Other parts, like the Cocoa and Carbon tools, remained closed-source.

Until Darwin 8.0.1, released in April 2005, Apple provided a way to install Darwin as a separate operating system. You could install it on PowerPC and Intel x86 computers. Now, Darwin is only available as source code. Apple no longer highlights Darwin by name on its Open Source website. It only publishes some open-source projects related to macOS and iOS.

How Darwin Works

Diagram of Mac OS X architecture
Diagram of macOS architecture

The XNU Kernel

The heart of Darwin is its XNU kernel. A kernel is the main part of an operating system that manages the computer's hardware and software. XNU is a hybrid kernel. This means it combines features from two types of kernels: a microkernel and a monolithic kernel.

  • A microkernel is small and flexible.
  • A monolithic kernel is larger and usually faster.

XNU uses parts from the OSF Mach Kernel and various elements from FreeBSD. It also has a special way for device drivers to talk to the hardware, called I/O Kit. This hybrid design gives Darwin both flexibility and good performance.

Hardware and Software Support

The last full version of Darwin that you could install supported 32-bit and 64-bit Apple PowerPC systems, and 32-bit Intel PCs.

Today, Darwin supports 64-bit x86-64 Intel processors (found in Intel-based Macs). It also supports 64-bit ARM processors. These ARM processors are used in newer iPhones, iPads, Apple TVs, HomePods, and Macs with Apple silicon chips (like the Apple M1).

Because Darwin is based on BSD (especially FreeBSD), it supports the POSIX API. This means many programs written for other UNIX-like systems can be used on Darwin with few changes.

Darwin itself doesn't include the graphical parts of macOS, like the Carbon and Cocoa tools or the Aqua user interface. So, you can't run regular Mac applications directly on Darwin. However, it does support some important macOS features. For example, it includes mDNSResponder, which helps with Bonjour networking, and launchd, which manages system services.

Darwin's License

In July 2003, Apple released Darwin under version 2.0 of the Apple Public Source License (APSL). The Free Software Foundation (FSF) considers this a free software license. However, it's not compatible with the GNU General Public License. Earlier versions of the APSL were also open source but didn't fully meet the FSF's definition of free software.

Darwin Release History

Darwin's version numbers are linked to the Mac OS X (now macOS) releases. The jump from Darwin 1.4.1 to 5.1 happened to match the Mac OS X build numbering system. Each major macOS version has a unique starting build number.

Key Darwin Releases and Corresponding Apple OS Versions

  • Darwin 0.1 (March 1999): This was an early version, part of Mac OS X Server 1.0.
  • Darwin 1.0 (April 2000): An early developer preview.
  • Darwin 1.2.1 (November 2000): Used in the Mac OS X Public Beta.
  • Darwin 1.3.1 (April 2001): The first commercial release, part of Mac OS X v10.0 ("Cheetah").
  • Darwin 5.1 (November 2001): Part of Mac OS X v10.1.1 ("Puma"). The numbering changed to match Mac OS X.
  • Darwin 6.0.1 (September 2002): Used in Mac OS X v10.2 ("Jaguar"). This version added IPv6 support and the mDNSResponder service (for Bonjour).
  • Darwin 7.0 (October 2003): Part of Mac OS X Panther. Its BSD layer was updated to match FreeBSD 5.
  • Darwin 8.0 (April 2005): Used in Mac OS X Tiger. This was the last version Apple released as a standalone installer. It introduced the launchd service management framework.
  • Darwin 9.0 (October 2007): Part of Mac OS X Leopard and the first iPhone OS 1. It brought full POSIX compliance and improved process management.
  • Darwin 10.0 (August 2009): Used in Mac OS X Snow Leopard and iPhone OS 3. This version ended official support for PowerPC computers. It also introduced a 64-bit kernel.
  • Darwin 11.0.0 (July 2011): Part of Mac OS X Lion and iOS 4.3. The XNU kernel now required an x86_64 processor for Macs, but remained ARM-based for iOS.
  • Darwin 12.0.0 (February 2012): Used in OS X Mountain Lion. Mac OS X was renamed to OS X.
  • Darwin 13.0.0 (June 2013): Part of OS X Mavericks and iOS 6. It introduced Virtual memory compression and made Server Message Block version 2 (SMB2) the default for file sharing.
  • Darwin 14.0.0 (September 2014): Used in OS X Yosemite, iOS 7, iOS 8, and watchOS 1.
  • Darwin 15.0.0 (September 2015): Part of OS X El Capitan, iOS 9, watchOS 2, and tvOS 9. This version introduced System Integrity Protection, which helps protect important system files.
  • Darwin 16.0.0 (September 2016): Used in macOS Sierra, iOS 10, watchOS 3, tvOS 10, and bridgeOS 1. OS X was rebranded to macOS.
  • Darwin 17.0.0 (September 2017): Part of macOS High Sierra, iOS 11, watchOS 4, tvOS 11, and bridgeOS 2. APFS replaced HFS+ as the default file system for Macs with flash storage.
  • Darwin 18.0.0 (September 2018): Used in macOS Mojave, iOS 12, watchOS 5, tvOS 12, and bridgeOS 3.
  • Darwin 19.0.0 (September 2019): Part of macOS Catalina, iOS 13, watchOS 6, tvOS 13, and bridgeOS 4. This version introduced System Extensions and DriverKit, which allow drivers to run outside the kernel for better security.
  • Darwin 20.0.0 (June 2020): Used in macOS Big Sur, iOS 14, watchOS 7, tvOS 14, and bridgeOS 5.
  • Darwin 21.0.0 (June 2021): Part of macOS Monterey, iOS 15, watchOS 8, tvOS 15, and bridgeOS 6.
  • Darwin 22.0 (June 2022): Used in macOS Ventura, iOS 16, iPadOS 16, watchOS 9, tvOS 16, and bridgeOS 7.
  • Darwin 23.0.0 (September 2023): Part of macOS Sonoma, iOS 17, iPadOS 17, watchOS 10, tvOS 17, and bridgeOS 8.
  • Darwin 24.0.0 (September 2024): Used in macOS Sequoia, iOS 18, iPadOS 18, watchOS 11, tvOS 18, and bridgeOS 9.

You can find out your Darwin version by typing uname -r in Terminal. For example, it might show "20.3.0". The command uname -v shows more details about the XNU kernel build. To see your macOS product name and version, use sw_vers.

Projects Based on Darwin

Because Darwin is open source, other projects have used or changed it.

OpenDarwin Project

GNOME 2 running on openDarwin (2004)
GNOME running on GNU-Darwin

OpenDarwin was a community project based on Darwin. It started in April 2002, with help from Apple and the Internet Systems Consortium. The goal was to help Apple developers and the free software community work together. Apple could use improvements from OpenDarwin in its own Darwin releases. The open-source community could use it to create their own operating systems, like GNU-Darwin.

However, OpenDarwin shut down on July 25, 2006. The team felt it had become just a place for Mac OS X projects, and efforts to make a standalone Darwin operating system hadn't worked out.

PureDarwin Project

PureDarwin is a project that aims to create a full, bootable operating system from Apple's open-source Darwin code. After OpenDarwin stopped and Apple stopped releasing bootable Darwin images, it became harder to build a complete system. In 2015, PureDarwin released a preview based on Darwin 9 with a graphical interface. Later, they released a command-line only version based on Darwin 17.

Other Related Projects

WindowmakerFS Xdarwin
Window Maker in XDarwin
  • XQuartz: This allows the X Window System to run on macOS (Darwin).
  • GNUstep: This is a free software version of Apple's Cocoa tools for Unix-like systems.
  • Window Maker: A window manager that looks like the NeXT graphical interface.
  • WebKit: This is the engine used in Apple's Safari web browser and all web browsers on iOS and iPadOS.
  • MacPorts, Fink, and Homebrew: These projects help bring UNIX programs to Darwin and manage software packages.
  • GNU-Darwin: A project that packaged free software for Darwin, similar to how Linux distributions work.
  • Darwine: A project that allowed Microsoft Windows software to run on Darwin.
  • SEDarwin: This project added security features to Darwin and was later included in Mac OS X 10.5.
  • Darling: This project lets you run macOS programs on Linux systems. It uses some Darwin code.

See also

Kids robot.svg In Spanish: Darwin (sistema operativo) para niños

  • A/UX
  • mkLinux
  • OSF/1
kids search engine
Darwin (operating system) Facts for Kids. Kiddle Encyclopedia.