| Darwin | |
GNOME running on OpenDarwin |
|
| Company/developer | Apple Inc. |
|---|---|
| OS family | NEXTSTEP |
| Source model | free / open-source software |
| Stable release | 9.1.0 (November 15, 2007) [+/-] |
| Preview release | 9.4 (November 11, 2006) [+/-] |
| Kernel type | Hybrid kernel |
| License | Apple Public Source License |
| Working state | Current |
| Website | Apple - Open Source |
Darwin is a Unix computer operating system released by Apple Inc. in 2000. Darwin 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 was developed. It can also be run as a standalone operating system. Released under the Apple Public Source License, Darwin is free software / open-source software.
Contents |
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 FreeBSD 5 (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 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 can run a large number of programs written for various other Unix-like systems. Darwin and 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 binary-only (closed-source) 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 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.[1]
| 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.1 | Mac OS X v10.4.10 | |
| November 14 2007 | Darwin 8.11.1 | Mac OS X v10.4.11 |
| October 26 2007 | Darwin 9.0 | Mac OS X v10.5 |
| November 15, 2007 | Darwin 9.1 | Mac OS X v10.5.1 |
Notice that the version number jumps from Darwin 1.4 to 5. The two versioning systems have different stories. Initially, Apple established the 1.x designation, in order for Darwin version numbers to correspond to the Mac OS X Server 1.x version numbers. However, the Mac OS Server 1.x saw limited use and that versioning practice was discontinued even before Mac OS X was widely introduced. The Darwin 5.x designations, on the other hand, continue the NEXTSTEP versioning (which left off at NEXTSTEP 3.3, followed by OPENSTEP (which later became Darwin), at 4.2). Since the prepackaged "Darwin 1.x" distribution was actually created based on the Darwin 4 code underlying the Mac OS X, Apple decided to ease confusion and to continue with the version numbers it inherited when it bought NEXTSTEP. 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 releases a Darwin installer ISO image after each major Mac OS X release. Minor updates are released as packages that must be installed separately. It is likely that the final binary release was Darwin 8.0.[2]
Darwin projects
Due to the free software nature of Darwin, there are many projects that aim to modify or enhance the operating system:
- OpenDarwin was a community-led operating system based on the Darwin platform, founded in April 2002 by the Internet Software Consortium and Apple. In July 2006, the OpenDarwin Core Team and Administrators announced that all development on OpenDarwin would cease, citing concerns over lack of interest from the community [3].
- MacPorts (formerly DarwinPorts) and Fink are both well known projects to port Unix programs to the Darwin operating system and provide package management.
- GNU-Darwin is a project that ports packages of free software to Darwin.
- The Darbat project is an experimental port of Darwin to the L4 microkernel family. It aims to be binary compatible with existing Darwin binaries. [4]
- There are various projects that focus on driver support (e.g., wireless drivers, such as a port of prism/prism2 or a port of ipw2200; wired NICs, such as a port of the tulip drivers, a driver for the ADMtek 985 clone and the PNIC 82c169 chipsets, or a port of the rlt8139 driver and the rtl8150lm driver, drivers for some Realtek cards; and even ports of modem drivers, such as for ZyXEL modems, and a project for adding support to card readers). Darwin also has support for ext2/ext3 file systems [5].
- Others focus on software for running Microsoft Windows software on Darwin (e.g., the Darwine project, a port of Wine [6]) or for running Mac OS X/Darwin software on other Unix platforms such as FreeBSD (e.g., the softpear project).
- In addition, several standard Unix package manager projects are working on Darwin ports, such as RPM for Darwin [7], pkgsrc (the NetBSD package manager), and Gentoo. Some of these operate in their own namespace so as not to interfere with the base system.
- There is a port of SELinux to Darwin [8].
See also
- A/UX
- mkLinux
- Étoilé, a GNUstep-based free software desktop environment.
References
External links
| Free software Portal |
|
|
|
|---|---|
| Classic Mac OS (History) | System 6 · System 7 · Mac OS 8 · Mac OS 9 |
| Mac OS X (History) | Public Beta · v10.0 · v10.1 · v10.2 · v10.3 · v10.4 · v10.5 |
| Mac OS X Server | Rhapsody · Mac OS X Server 1.0 · Mac OS X Server |
| Other OS projects | A/UX · Taligent · Copland · MkLinux · Darwin |
|
|
|---|
| A/UX · AIX · BSD · BKUNIX · DEMOS · DragonFly BSD · FreeBSD · GNU · HP-UX · IRIX · Linux · Mac OS X · MNOS · NetBSD · NEXTSTEP · OpenBSD · Plan 9 · QNX · Research Unix · SCO OpenServer · SINIX · Solaris · System V · Tru64 · USIX · VxWorks · Xenix · more |


