Jump to content

Darwin (operating system)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Elsendero (talk | contribs) at 12:49, 4 May 2008 (→‎Kernel: better ref for the sentence). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Darwin
File:Hexley.png
DeveloperApple Inc.
OS familyNEXTSTEP
Working stateCurrent
Source modelFree and open source software
Repository
PlatformsPowerPC, Intel x86
Kernel typeHybrid kernel
LicenseApple Public Source License
Official websiteApple - Open Source

Darwin is an open source UNIX computer operating system released by Apple Inc. in 2000. It is composed of code developed by Apple along with code derived from NEXTSTEP, as well as from FreeBSD and other free software projects.

Darwin forms the core set of components upon which Mac OS X and iPhone OS are based. It can also be run as a standalone operating system. It is compatible with the Single UNIX Specification version 3 (SUSv3) and POSIX UNIX applications and utilities.

History

Darwin can trace its heritage back to NeXT's NEXTSTEP operating system (later known as OPENSTEP), originally released in 1989. After Apple's 1997 acquisition of NeXT, the company announced it would use OPENSTEP as the basis for its next operating system. This was developed into Rhapsody in 1997 and the Rhapsody-based Mac OS X Server 1.0 in 1999. In 2000, Rhapsody was forked into Darwin and released as open-source software under the Apple Public Source License (APSL), and components from Darwin are present in Mac OS X today.

Design

Kernel

Darwin is built around XNU, a hybrid kernel that combines the Mach 3 microkernel, various elements of 4.4BSD (including the process model, network stack, and virtual file system), and an object-oriented device driver API called I/O Kit.[1]

Some of the benefits of this choice of kernel are the Mach-O binary format, which allows a single executable file (including the kernel itself) to support multiple CPU architectures, and the mature support for symmetric multiprocessing in Mach. 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 both 32-bit and 64-bit variants of the PowerPC and Intel x86 processors used in Macs as well as the ARM processor used in the iPhone and iPod Touch (although this version of Darwin has not been released as a standalone operating system).

It supports the POSIX API by way of its FreeBSD 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 and Mac OS X both use I/O Kit for their drivers and therefore support the same hardware, file systems, and so forth. Apple's distribution of Darwin includes proprietary (binary-only) drivers for their AirPort wireless cards.

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 (APSL), which the Free Software Foundation (FSF) approved as a free software license. Previous releases had taken place under an earlier version of the APSL that did not meet the FSF's definition of free software, although it met the requirements of the Open Source Definition. The APSL is not compatible with the GNU General Public License.

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. Apple does not sanction Hexley as a logo for Darwin.

Releases

This is a table of Darwin releases with their dates of release and their corresponding Mac OS X releases.[2]

Date Darwin release Mac OS X release
March 16 1999 Darwin 0.1 Mac OS X Server 1.0
April 5 2000 Darwin 1.0
April 13 2000 Darwin 1.0.2 Mac OS X DP4
Darwin 1.2.1 Mac OS X public beta
April 13 2001 Darwin 1.3.1 Mac OS X v10.0 to 10.0.4
October 2 2001 Darwin 1.4.1 Mac OS X v10.1
Darwin 5.1 Mac OS X v10.1.1
Darwin 5.2 Mac OS X v10.1.2
Darwin 5.3 Mac OS X v10.1.3
Darwin 5.4 Mac OS X v10.1.4
Darwin 5.5 Mac OS X v10.1.5
September 23 2002 Darwin 6.0.1 Mac OS X v10.2
October 28 2002 Darwin 6.0.2 Mac OS X v10.2
Darwin 6.1 Mac OS X v10.2.1
Darwin 6.2 Mac OS X v10.2.2
Darwin 6.3 Mac OS X v10.2.3
Darwin 6.4 Mac OS X v10.2.4
Darwin 6.5 Mac OS X v10.2.5
Darwin 6.6 Mac OS X v10.2.6
Darwin 6.7 Mac OS X v10.2.7
Darwin 6.8 Mac OS X v10.2.8
October 24 2003 Darwin 7.0 Mac OS X v10.3
Darwin 7.1 Mac OS X v10.3.1
Darwin 7.2 Mac OS X v10.3.2
Darwin 7.3 Mac OS X v10.3.3
Darwin 7.4 Mac OS X v10.3.4
Darwin 7.5 Mac OS X v10.3.5
Darwin 7.6 Mac OS X v10.3.6
Darwin 7.7 Mac OS X v10.3.7
Darwin 7.8 Mac OS X v10.3.8
April 15 2005 Darwin 7.9 Mac OS X v10.3.9
April 29 2005 Darwin 8.0 Mac OS X v10.4
May 16 2005 Darwin 8.1 Mac OS X v10.4.1
July 12 2005 Darwin 8.2 Mac OS X v10.4.2
October 31 2005 Darwin 8.3 Mac OS X v10.4.3
January 10 2006 Darwin 8.4 Mac OS X v10.4.4
February 14 2006 Darwin 8.5 Mac OS X v10.4.5
April 3 2006 Darwin 8.6 Mac OS X v10.4.6
August 7 2006 Darwin 8.7 Mac OS X v10.4.7
November 8 2006 Darwin 8.8.1 Mac OS X v10.4.8
Darwin 8.8.2 Mac OS X v10.4.7 for Apple TV
April 18 2007 Darwin 8.9 Mac OS X v10.4.9
Darwin 8.10.0 Mac OS X v10.4.10
Darwin 8.10.1 Mac OS X v10.4.10 (Intel/Server Universal)
November 14 2007 Darwin 8.11.0 Mac OS X v10.4.11
November 14 2007 Darwin 8.11.1 Mac OS X v10.4.11 (Intel/Server Universal)
October 26 2007 Darwin 9.0 Mac OS X v10.5
November 15, 2007 Darwin 9.1 Mac OS X v10.5.1
February 11, 2008 Darwin 9.2 Mac OS X v10.5.2
March 19, 2008 Darwin 9.2.2 Time Machine and AirPort Updates v 1.0 (Mac OS X v10.5.2)

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. Apple wrote a letter and sent it to everyone on their developer lists explaining the reasons behind the change in Darwin version numbers and what they stood for. 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, 10.2 had build numbers starting with 6, 10.3 had build numbers starting with 7, 10.4 had build numbers starting with 8, and 10.5 has build numbers starting with 9. 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 (the version where the jump in version numbers was made), this was build 5M28 and the 10.1.1 release, which is how the 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.

Apple used to release a Darwin installer ISO image after each major Mac OS X release. Minor updates were released as packages that must be installed separately. Binary releases were stopped at Darwin 8.0. [1]

Darwin projects

Due to the free software nature of Darwin, there are many projects that aim to modify or enhance the operating system:

See also

References

  1. ^ "XNU: The Kernel".
  2. ^ Details: 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.