Darwin is an open source Unix-like computer
operating system released by Apple Inc. in
2000.
It is composed of code developed by Apple,
as well as code derived from NeXTSTEP, BSD,
and other free software projects.
Darwin forms the core set of components upon
which OS X and iOS are based.
It is mostly POSIX compatible, but has never,
by itself, been certified as being compatible
with any version of POSIX..)
History
Darwin's heritage began with NeXT's NeXTSTEP
operating system, first released in 1989.
After Apple bought NeXT in 1997, 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 2000, the core operating system components
of Mac OS X were released as open-source software
under the Apple Public Source License 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 after each major Mac OS X release
that allowed one to install Darwin on PowerPC
and Intel x86 computers as a standalone operating
system.
Minor updates were released as packages that
were installed separately.
Darwin is now only available as source code,
except for the ARM variant, which has not
been released in any form separately from
iOS.
However, the older versions of Darwin are
still available in binary form, and a hobbyist
developer winocm took the official Darwin
source code and ported it to ARM.
Design
Kernel
Darwin is built around XNU, a hybrid kernel
that combines the Mach 3 microkernel, various
elements of BSD, and an object-oriented device
driver API called I/O Kit.
The hybrid kernel design compromises between
the flexibility of a microkernel and the performance
of a monolithic kernel.
Hardware and software support
Darwin currently includes support for the
64-bit x86-64 variant of the Intel x86 processors
used in Macs and the 64-bit ARM processors
used in the iPhone 5S, as well as the 32-bit
ARM processors used in the iPhone, iPod Touch,
iPad and the second and third generation Apple
TV.
An open-source port of the XNU kernel exists
which supports Darwin on Intel and AMD x86
platforms not officially supported by Apple,
although it does not appear to have been updated
since 2009.
An open-source port of the XNU kernel also
exists for ARM platforms.
Older versions supported some or all of 32-bit
PowerPC, 64-bit PowerPC, and 32-bit x86.
It supports the POSIX API by way of its BSD
lineage 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 Mac OS X, 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 Mac OS X, 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,
which is approved as a free software license
by the Free Software Foundation.
Previous versions had been released under
an earlier version of the APSL license, which
did not meet the FSF's definition of free
software, although it met the requirements
of the Open Source Definition.
Mascot
The Darwin developers decided to adopt a mascot
in 2000, and chose Hexley the Platypus, over
other contenders, such as an Aqua Darwin fish,
Clarus the Dogcow, and an orca.
Hexley is a cartoon platypus who – mimicking
the BSD Daemon – usually wears a cap resembling
a demon's horns and carries a trident which
symbolizes the forking of processes.
Hexley was designed by Jon Hooper.
Apple does not sanction Hexley as a logo for
Darwin.
The name Hexley is an accidental misspelling
of the last name of Thomas Henry Huxley, a
19th-century English biologist who was a well-known
champion of Charles Darwin's theory of evolution.
The name was chosen under the misunderstanding
that he was an assistant of Darwin, rather
than a prominent biologist in his own right.
By the time the spelling mistake had been
discovered, it was deemed too late to change,
and the erroneous name was kept.
Release history
This is a table of major Darwin releases with
their dates of release and their corresponding
Mac OS X releases.
Note that the corresponding Mac OS X release
may have been released on a different date;
refer to the Mac OS X pages for those dates.
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 Mac OS X,
every version has a unique beginning build
number, which identifies what whole version
of Mac OS X 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.
The point release number in the Darwin version
is always the same as the second point number
in the Mac OS X version.
In the case of Mac OS X v10.1.1, this was
build 5M28 and the 10.1.1 release, from which
a version number of 5.1 was derived.
The command uname -r in Terminal will show
the Darwin version number, and the command
uname -v will show the XNU build version string,
which includes the Darwin version number.
Derived projects
Due to the free software nature of Darwin,
there are many projects that aim to modify
or enhance the operating system.
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
supposedly benefited from being given complete
control over its own operating system, which
could then be used in free software distributions
such as GNU-Darwin.
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.
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."
The last stable release was version 7.2.1,
released on July 16, 2004.
PureDarwin
In 2007, the PureDarwin project was launched
to continue where OpenDarwin left off, and
is currently working to produce a release
based on Darwin 11.
There is a version available based on Darwin
10.5.8.
This release has X11, DTrace, and ZFS.
PureDarwin nano is another release of PureDarwin
that is supposed to be minimalistic.
Other
MacPorts, Fink, and Homebrew are well known
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.
The Darwine project is 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.
It was incorporated into Mac OS X 10.5.
The Darbat project is an experimental port
of Darwin to the L4 microkernel family.
It aims to be binary compatible with existing
Darwin binaries.
There are various projects that focus on driver
support: e.g., wireless drivers, wired NIC
drivers modem drivers, card readers, and the
ext2 and ext3 file systems.
See also
A/UX
mkLinux
References
External links
Darwin Releases at Apple Developer Connection
Darwin Build Number List
Darwin Source Repository at SourceForge
Hexley, the Darwin mascot
PureDarwin.org
