Home      Discussion      Topics      Dictionary      Almanac
Signup       Login
Darwin (operating system)

Darwin (operating system)

Overview
Darwin is an open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 POSIX
POSIX
POSIX , an acronym for "Portable Operating System Interface", is a family of standards specified by the IEEE for maintaining compatibility between operating systems...

-compliant computer operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

 released by Apple Inc. in 2000. It is composed of code developed by Apple, as well as code derived from NeXTSTEP
NEXTSTEP
NeXTSTEP was the object-oriented, multitasking operating system developed by NeXT Computer to run on its range of proprietary workstation computers, such as the NeXTcube...

, BSD, and other free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 projects.
Discussion
Ask a question about 'Darwin (operating system)'
Start a new discussion about 'Darwin (operating system)'
Answer questions from other users
Full Discussion Forum
 
Unanswered Questions
Encyclopedia
Darwin is an open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 POSIX
POSIX
POSIX , an acronym for "Portable Operating System Interface", is a family of standards specified by the IEEE for maintaining compatibility between operating systems...

-compliant computer operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

 released by Apple Inc. in 2000. It is composed of code developed by Apple, as well as code derived from NeXTSTEP
NEXTSTEP
NeXTSTEP was the object-oriented, multitasking operating system developed by NeXT Computer to run on its range of proprietary workstation computers, such as the NeXTcube...

, BSD, and other free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 projects.

Darwin forms the core set of components upon which Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

, Apple TV, and iOS are based. It is compatible with the Single UNIX Specification
Single UNIX Specification
The Single UNIX Specification is the collective name of a family of standards for computer operating systems to qualify for the name "Unix"...

 version 3 (SUSv3) and POSIX
POSIX
POSIX , an acronym for "Portable Operating System Interface", is a family of standards specified by the IEEE for maintaining compatibility between operating systems...

 UNIX applications and utilities.

History


Darwin's heritage began with NeXT
NeXT
Next, Inc. was an American computer company headquartered in Redwood City, California, that developed and manufactured a series of computer workstations intended for the higher education and business markets...

's NeXTSTEP
NEXTSTEP
NeXTSTEP was the object-oriented, multitasking operating system developed by NeXT Computer to run on its range of proprietary workstation computers, such as the NeXTcube...

 operating system (later known as OPENSTEP
OpenStep
OpenStep was an object-oriented application programming interface specification for an object-oriented operating system that used a non-NeXTSTEP operating system as its core, principally developed by NeXT with Sun Microsystems. OPENSTEP was a specific implementation of the OpenStep API developed...

), 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 and the Rhapsody-based Mac OS X Server 1.0
Mac OS X Server 1.0
Mac OS X Server 1.0, released on March 16, 1999, is the first operating system released into the retail market by Apple Computer based on their acquisition of NeXT. It followed the Rhapsody series of developer releases of what was to be known as Mac OS X...

 in 1999. In 2000, Rhapsody was forked into Darwin and released as open-source software
Open-source software
Open-source software is computer software that is available in source code form: the source code and certain other rights normally reserved for copyright holders are provided under a software license that permits users to study, change, improve and at times also to distribute the software.Open...

 under the Apple Public Source License
Apple Public Source License
The Apple Public Source License is the open source and free software license under which Apple's Darwin operating system was released. A free software and open source license was voluntarily adopted to further involve the community from which much of Darwin originated.The first version of the Apple...

 (APSL), and components from Darwin are present in Mac OS X today.

Up to Darwin 8.0, Apple released a binary installer (as an ISO image
ISO image
An ISO image is an archive file of an optical disc, composed of the data contents of every written sector of an optical disc, including the optical disc file system...

) after each major Mac OS X release that allowed one to install Darwin on PowerPC
PowerPC
PowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...

 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
ARM architecture
ARM is a 32-bit reduced instruction set computer instruction set architecture developed by ARM Holdings. It was named the Advanced RISC Machine, and before that, the Acorn RISC Machine. The ARM architecture is the most widely used 32-bit ISA in numbers produced...

 variant, which has not been released in any form separately from iOS. However, the older versions of Darwin are still available in binary form.

Kernel


Darwin is built around XNU
XNU
XNU is the computer operating system kernel that Apple Inc. acquired and developed for use in the Mac OS X operating system and released as free and open source software as part of the Darwin operating system...

, a hybrid kernel
Hybrid kernel
A hybrid kernel is a kernel architecture based on combining aspects of microkernel and monolithic kernel architectures used in computer operating systems. The category is controversial due to the similarity to monolithic kernel; the term has been dismissed by Linus Torvalds as simple marketing...

 that combines the Mach
Mach (kernel)
Mach is an operating system kernel developed at Carnegie Mellon University to support operating system research, primarily distributed and parallel computation. Although Mach is often mentioned as one of the earliest examples of a microkernel, not all versions of Mach are microkernels...

 3 microkernel
Microkernel
In computer science, a microkernel is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system . These mechanisms include low-level address space management, thread management, and inter-process communication...

, various elements of BSD (including the process model, network stack, and virtual file system
Virtual file system
A virtual file system or virtual filesystem switch is an abstraction layer on top of a more concrete file system. The purpose of a VFS is to allow client applications to access different types of concrete file systems in a uniform way...

), and an object-oriented device driver
Device driver
In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....

 API
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

 called I/O Kit
I/O Kit
The I/O Kit is an open-source framework in the XNU kernel that helps developers code device drivers for Apple's Mac OS X and iOS operating systems...

.

Some of the benefits of this choice of kernel are the Mach-O
Mach-O
Mach-O, short for Mach object file format, is a file format for executables, object code, shared libraries, dynamically-loaded code, and core dumps. A replacement for the a.out format, Mach-O offered more extensibility and faster access to information in the symbol table.Mach-O was once used by...

 binary format, which allows a single executable file (including the kernel itself) to support multiple CPU
Central processing unit
The central processing unit is the portion of a computer system that carries out the instructions of a computer program, to perform the basic arithmetical, logical, and input/output operations of the system. The CPU plays a role somewhat analogous to the brain in the computer. The term has been in...

 architectures, and the mature support for symmetric multiprocessing
Symmetric multiprocessing
In computing, symmetric multiprocessing involves a multiprocessor computer hardware architecture where two or more identical processors are connected to a single shared main memory and are controlled by a single OS instance. Most common multiprocessor systems today use an SMP architecture...

 in Mach. The hybrid kernel design compromises between the flexibility of a microkernel and the performance of a monolithic kernel
Monolithic kernel
A monolithic kernel is an operating system architecture where the entire operating system is working in the kernel space and alone as supervisor mode...

.

Hardware and software support


Darwin currently includes support for both 32-bit
32-bit
The range of integer values that can be stored in 32 bits is 0 through 4,294,967,295. Hence, a processor with 32-bit memory addresses can directly access 4 GB of byte-addressable memory....

 and 64-bit
64-bit
64-bit is a word size that defines certain classes of computer architecture, buses, memory and CPUs, and by extension the software that runs on them. 64-bit CPUs have existed in supercomputers since the 1970s and in RISC-based workstations and servers since the early 1990s...

 variants of the Intel x86 processor
Microprocessor
A microprocessor incorporates the functions of a computer's central processing unit on a single integrated circuit, or at most a few integrated circuits. It is a multipurpose, programmable device that accepts digital data as input, processes it according to instructions stored in its memory, and...

 used in the Mac
Macintosh
The Macintosh , or Mac, is a series of several lines of personal computers designed, developed, and marketed by Apple Inc. The first Macintosh was introduced by Apple's then-chairman Steve Jobs on January 24, 1984; it was the first commercially successful personal computer to feature a mouse and a...

 and Apple TV as well as the 32-bit ARM
ARM architecture
ARM is a 32-bit reduced instruction set computer instruction set architecture developed by ARM Holdings. It was named the Advanced RISC Machine, and before that, the Acorn RISC Machine. The ARM architecture is the most widely used 32-bit ISA in numbers produced...

 processor used in the iPhone
IPhone
The iPhone is a line of Internet and multimedia-enabled smartphones marketed by Apple Inc. The first iPhone was unveiled by Steve Jobs, then CEO of Apple, on January 9, 2007, and released on June 29, 2007...

, iPod Touch
IPod Touch
The iPod Touch is a portable media player, personal digital assistant, handheld game console, and Wi-Fi mobile device designed and marketed by Apple Inc. The iPod Touch adds the multi-touch graphical user interface to the iPod line...

 and iPad
IPad
The iPad is a line of tablet computers designed, developed and marketed by Apple Inc., primarily as a platform for audio-visual media including books, periodicals, movies, music, games, and web content. The iPad was introduced on January 27, 2010 by Apple's then-CEO Steve Jobs. Its size and...

. An open-source port of the XNU
XNU
XNU is the computer operating system kernel that Apple Inc. acquired and developed for use in the Mac OS X operating system and released as free and open source software as part of the Darwin operating system...

 kernel exists which supports Darwin on Intel and AMD x86 platforms not officially supported by Apple.

It supports the POSIX
POSIX
POSIX , an acronym for "Portable Operating System Interface", is a family of standards specified by the IEEE for maintaining compatibility between operating systems...

 API by way of its BSD lineage and a large number of programs written for various other UNIX-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....

 systems can be compiled
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...

 on Darwin with no changes to the source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...

.

Darwin does not include many of the defining elements of Mac OS X, such as the Carbon
Carbon (API)
Carbon is one of Apple Inc.'s procedural application programming interfaces for the Macintosh operating system. It provides C programming language access to Macintosh system services...

 and Cocoa
Cocoa (API)
Cocoa is Apple's native object-oriented application programming interface for the Mac OS X operating system and—along with the Cocoa Touch extension for gesture recognition and animation—for applications for the iOS operating system, used on Apple devices such as the iPhone, the iPod Touch, and...

 APIs or the Quartz Compositor
Quartz Compositor
Quartz Compositor is the windowing system in Mac OS X. It is responsible for presenting and maintaining rasterized, rendered graphics from the rest of the Core Graphics framework and other renderers in the Quartz technologies family...

 and Aqua user interface
Aqua (user interface)
Aqua is the GUI and primary visual theme of Apple Inc.'s Mac OS X operating system. It is based around the theme of water, as its name suggests, with droplet-like elements and liberal use of translucency and reflection effects...

, 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
Multicast
In computer networking, multicast is the delivery of a message or information to a group of destination computers simultaneously in a single transmission from the source creating copies automatically in other network elements, such as routers, only when the topology of the network requires...

 DNS
Domain name system
The Domain Name System is a hierarchical distributed naming system for computers, services, or any resource connected to the Internet or a private network. It associates various information with domain names assigned to each of the participating entities...

 responder and a core component of the Bonjour
Bonjour (software)
In computing, Bonjour is Apple Inc.'s trade name for its implementation of Zeroconf, a group of technologies that includes service discovery, address assignment, and name resolution...

 networking technology, and launchd
Launchd
launchd is a unified, open-source service management framework for starting, stopping and managing daemons, applications, processes, and scripts...

, an advanced service management
Operating system service management
In computing, mechanisms and techniques for managing services often differ by operating system. Operating system service management can refer to the following:...

 framework
Software framework
In computer programming, a software framework is an abstraction in which software providing generic functionality can be selectively changed by user code, thus providing application specific software...

.

License


In July 2003, Apple released Darwin under version 2.0 of the Apple Public Source License
Apple Public Source License
The Apple Public Source License is the open source and free software license under which Apple's Darwin operating system was released. A free software and open source license was voluntarily adopted to further involve the community from which much of Darwin originated.The first version of the Apple...

 (APSL), which the Free Software Foundation
Free Software Foundation
The Free Software Foundation is a non-profit corporation founded by Richard Stallman on 4 October 1985 to support the free software movement, a copyleft-based movement which aims to promote the universal freedom to create, distribute and modify computer software...

 (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
Open Source Definition
The Open Source Definition is a document published by the Open Source Initiative, to determine whether or not a software license can be labeled with the open-source certification mark....

.

Mascot


The Darwin developers decided to adopt a mascot
Mascot
The term mascot – defined as a term for any person, animal, or object thought to bring luck – colloquially includes anything used to represent a group with a common public identity, such as a school, professional sports team, society, military unit, or brand name...

 in 2000, and chose Hexley the Platypus
Platypus
The platypus is a semi-aquatic mammal endemic to eastern Australia, including Tasmania. Together with the four species of echidna, it is one of the five extant species of monotremes, the only mammals that lay eggs instead of giving birth to live young...

, over other contenders, such as an Aqua Darwin fish
Parodies of the ichthys symbol
The ichthys symbol, or "Jesus fish", typically used to proclaim an affiliation with or affinity for Christianity, is sometimes a subject of satire, especially when adorning the bumpers or trunks of automobiles. Most such ornaments are adhesive badges made of chrome-colored plastic...

, Clarus the Dogcow, and an orca
Orca
The killer whale , commonly referred to as the orca, and less commonly as the blackfish, is a toothed whale belonging to the oceanic dolphin family. Killer whales are found in all oceans, from the frigid Arctic and Antarctic regions to tropical seas...

. Hexley is a cartoon
Cartoon
A cartoon is a form of two-dimensional illustrated visual art. While the specific definition has changed over time, modern usage refers to a typically non-realistic or semi-realistic drawing or painting intended for satire, caricature, or humor, or to the artistic style of such works...

 platypus who usually wears a cap resembling a demon
Demon
call - 1347 531 7769 for more infoIn Ancient Near Eastern religions as well as in the Abrahamic traditions, including ancient and medieval Christian demonology, a demon is considered an "unclean spirit" which may cause demonic possession, to be addressed with an act of exorcism...

's horns. He carries a trident, similar to the BSD Daemon
BSD Daemon
The BSD daemon, nicknamed Beastie, is the generic mascot of BSD operating systems.-Overview:The BSD daemon is named after a software daemon, a computer program found on Unix-like operating systems, which through a play on words takes the cartoon shape of a mythical demon. The BSD daemon's nickname...

, to symbolize the daemon's forking
Fork (operating system)
In computing, when a process forks, it creates a copy of itself. More generally, a fork in a multithreading environment means that a thread of execution is duplicated, creating a child thread from the parent thread....

 of processes
Process (computing)
In computing, a process is an instance of a computer program that is being executed. It contains the program code and its current activity. Depending on the operating system , a process may be made up of multiple threads of execution that execute instructions concurrently.A computer program is a...

. Hexley was designed by Jon Hooper. Apple does not sanction Hexley as a logo for Darwin.

Hexley's name was a mistake: it was originally supposed to be named after Thomas Henry Huxley, a 19th century English biologist
Biologist
A biologist is a scientist devoted to and producing results in biology through the study of life. Typically biologists study organisms and their relationship to their environment. Biologists involved in basic research attempt to discover underlying mechanisms that govern how organisms work...

 who was a well-known champion of Charles Darwin
Charles Darwin
Charles Robert Darwin FRS was an English naturalist. He established that all species of life have descended over time from common ancestry, and proposed the scientific theory that this branching pattern of evolution resulted from a process that he called natural selection.He published his theory...

's theory of evolution
Evolution
Evolution is any change across successive generations in the heritable characteristics of biological populations. Evolutionary processes give rise to diversity at every level of biological organisation, including species, individual organisms and molecules such as DNA and proteins.Life on Earth...

 (nicknamed "Darwin's bulldog"). However, ignorance led not only to a mistake in Huxley's name, but who he was thought to be. The developers apparently thought he was simply Darwin's assistant, when in fact he was a prominent biologist in his own right. By the time the mistake had been discovered, it was deemed too late to change, and the incorrect name "Hexley" was kept.

Release history


This is a table of major Darwin releases with their dates of release and their corresponding Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

 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.
Version Date Corresponding releases Notes
0.1 March 16, 1999 Mac OS X Server 1.0
Mac OS X Server 1.0
Mac OS X Server 1.0, released on March 16, 1999, is the first operating system released into the retail market by Apple Computer based on their acquisition of NeXT. It followed the Rhapsody series of developer releases of what was to be known as Mac OS X...

1.0.2 November 10, 1999 Mac OS X DP2
1.1 April 5, 2000 Mac OS X DP4
1.2.1 November 15, 2000 Mac OS X Public Beta
Mac OS X Public Beta
The Mac OS X Public Beta was an early beta version of Apple Computer's Mac OS X operating system Cheetah. It was released to the public on September 13, 2000 for US$29.95...

1.3.1 April 13, 2001 Mac OS X v10.0
Mac OS X v10.0
Mac OS X version 10.0, code named "Cheetah", is the first major release of Mac OS X, Apple’s desktop and server operating system. Mac OS X v10.0 was released on March 24, 2001 for a price of US$129...

1.4.1 October 2, 2001 Mac OS X v10.1
Mac OS X v10.1
Mac OS X version 10.1, code named "Puma", is the second major release of Mac OS X, Apple's desktop and server operating system. It superseded Mac OS X v10.0 and preceded Mac OS X v10.2. Version 10.1 was released on 25 September 2001 as a 'free update' to version 10.0...

Performance improvements to "boot time, real-time threads, thread management, cache flushing, and preemption handling," support for SMB
Server Message Block
In computer networking, Server Message Block , also known as Common Internet File System operates as an application-layer network protocol mainly used to provide shared access to files, printers, serial ports, and miscellaneous communications between nodes on a network. It also provides an...

 network file system
Network File System
Network File System is a network file system protocol originally developed by Sun Microsystems in 1984, allowing a user on a client computer to access files over a network in a manner similar to how local storage is accessed. NFS, like many other protocols, builds on the Open Network Computing...

, Wget
Wget
GNU Wget is a computer program that retrieves content from web servers, and is part of the GNU Project. Its name is derived from World Wide Web and get...

 replaced with cURL
CURL
cURL is a computer software project providing a library and command-line tool for transferring data using various protocols. The cURL project produces two products, libcurl and cURL...

.
6.0.1 September 23, 2002 Mac OS X v10.2
Mac OS X v10.2
Mac OS X version 10.2 "Jaguar" is the third major release of Mac OS X, Apple's desktop and server operating system. It superseded Mac OS X v10.1 code name Puma and preceded Mac OS X Panther...

 (Darwin 6.0.2)
GCC
GNU Compiler Collection
The GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain...

 upgraded from 2 to 3.1, IPv6
IPv6
Internet Protocol version 6 is a version of the Internet Protocol . It is designed to succeed the Internet Protocol version 4...

 and IPSec
IPsec
Internet Protocol Security is a protocol suite for securing Internet Protocol communications by authenticating and encrypting each IP packet of a communication session...

 support, mDNSResponder service discovery
Service discovery
Service discovery protocols are network protocols which allow automatic detection of devices and services offered by these devices on a computer network....

 daemon
Daemon (computer software)
In Unix and other multitasking computer operating systems, a daemon is a computer program that runs as a background process, rather than being under the direct control of an interactive user...

 (Rendezvous
Bonjour (software)
In computing, Bonjour is Apple Inc.'s trade name for its implementation of Zeroconf, a group of technologies that includes service discovery, address assignment, and name resolution...

), addition of CUPS, Ruby
Ruby (programming language)
Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...

, and Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

, journaling
Journaling file system
A journaling file system is a file system that keeps track of the changes that will be made in a journal before committing them to the main file system...

 support in HFS+ (Darwin 6.2), application profiles ("pre-heat files") for faster program launching.
7.0 October 24, 2003 Mac OS X v10.3
Mac OS X v10.3
Mac OS X Panther is the fourth major release of Mac OS X, Apple’s desktop and server operating system. It followed Mac OS X v10.2 "Jaguar" and preceded Mac OS X Tiger...

BSD layer synchronized with FreeBSD
FreeBSD
FreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...

 5, automatic file defragmentation
Defragmentation
In the maintenance of file systems, defragmentation is a process that reduces the amount of fragmentation. It does this by physically organizing the contents of the mass storage device used to store files into the smallest number of contiguous regions . It also attempts to create larger regions of...

, hot-file clustering, and optional case sensitivity
Case sensitivity
Text sometimes exhibits case sensitivity; that is, words can differ in meaning based on differing use of uppercase and lowercase letters. Words with capital letters do not always have the same meaning when written with lowercase letters....

 in HFS+, bash instead of tcsh
Tcsh
tcsh is a Unix shell based on and compatible with the C shell . It is essentially the C shell with programmable command line completion, command-line editing, and a few other features.-History:...

 as default shell
Shell (computing)
A shell is a piece of software that provides an interface for users of an operating system which provides access to the services of a kernel. However, the term is also applied very loosely to applications and may include any software that is "built around" a particular component, such as web...

, read-only NTFS
NTFS
NTFS is the standard file system of Windows NT, including its later versions Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista, and Windows 7....

 support (Darwin 7.9).
8.0 April 29, 2005 Mac OS X v10.4
Mac OS X v10.4
Mac OS X v10.4 Tiger is the fifth major release of Mac OS X, Apple's desktop and server operating system for Macintosh computers. Tiger was released to the public on 29 April 2005 for US$129.95 as the successor to Mac OS X Panther , which had been released 18 months earlier...


Mac OS X for Apple TV (Darwin 8.8.2)
Stable kernel programming interface, finer-grained kernel locking
Lock (computer science)
In computer science, a lock is a synchronization mechanism for enforcing limits on access to a resource in an environment where there are many threads of execution. Locks are one way of enforcing concurrency control policies.-Types:...

, 64-bit BSD layer, launchd
Launchd
launchd is a unified, open-source service management framework for starting, stopping and managing daemons, applications, processes, and scripts...

 service management
Operating system service management
In computing, mechanisms and techniques for managing services often differ by operating system. Operating system service management can refer to the following:...

 framework, extended file attributes
Extended file attributes
Extended file attributes is a file system feature that enables users to associate computer files with metadata not interpreted by the filesystem, whereas regular attributes have a purpose strictly defined by the filesystem...

, access control lists, commands such as cp
Cp (Unix)
cp is a UNIX command used to copy a file. Files can be copied either to the same directory or to a completely different directory, possibly on a different file system or hard disk drive. If the file is copied to the same directory, the new file must have a different name to the original; in all...

 and mv
Mv
mv is a Unix command that moves one or more files or directories from one place to another. Since it can "move" files from one filename to another, it is also used to rename files. Using mv requires the user to have write permission for the directories which the file will move between...

 updated to preserve extended attributes and resource forks.
9.0 October 26, 2007 iOS 1.0 (Darwin 9.0.0d1)
Mac OS X v10.5
Mac OS X v10.5
Mac OS X Leopard is the sixth major release of Mac OS X, Apple's desktop and server operating system for Macintosh computers. Leopard was released on 26 October 2007 as the successor of Tiger , and is available in two variants: a desktop version suitable for personal computers, and a...

Full POSIX compliance, improved hierarchical process scheduling model, dynamically allocated swap files
Paging
In computer operating systems, paging is one of the memory-management schemes by which a computer can store and retrieve data from secondary storage for use in main memory. In the paging memory-management scheme, the operating system retrieves data from secondary storage in same-size blocks called...

, dynamic resource limits (for files
Computer file
A computer file is a block of arbitrary information, or resource for storing information, which is available to a computer program and is usually based on some kind of durable storage. A file is durable in the sense that it remains available for programs to use after the current program has finished...

 and processes
Process (computing)
In computing, a process is an instance of a computer program that is being executed. It contains the program code and its current activity. Depending on the operating system , a process may be made up of multiple threads of execution that execute instructions concurrently.A computer program is a...

), process sandboxing
Sandbox (computer security)
In computer security, a sandbox is a security mechanism for separating running programs. It is often used to execute untested code, or untrusted programs from unverified third-parties, suppliers, untrusted users and untrusted websites....

, address space layout randomization
Address space layout randomization
Address space layout randomization is a computer security method which involves randomly arranging the positions of key data areas, usually including the base of the executable and position of libraries, heap, and stack, in a process's address space.- Benefits :Address space randomization hinders...

, DTrace
DTrace
DTrace is a comprehensive dynamic tracing framework created by Sun Microsystems for troubleshooting kernel and application problems on production systems in real time...

 tracing
Tracing (software)
In software engineering, tracing is a specialized use of logging to record information about a program's execution. This information is typically used by programmers for debugging purposes, and additionally, depending on the type and detail of information contained in a trace log, by experienced...

 framework, file system
File system
A file system is a means to organize data expected to be retained after a program terminates by providing procedures to store, retrieve and update data, as well as manage the available space on the device which contain it. A file system organizes data in an efficient manner and is tuned to the...

 events daemon, directory
Directory (file systems)
In computing, a folder, directory, catalog, or drawer, is a virtual container originally derived from an earlier Object-oriented programming concept by the same name within a digital file system, in which groups of computer files and other folders can be kept and organized.A typical file system may...

 hard links, Apache
Apache HTTP Server
The Apache HTTP Server, commonly referred to as Apache , is web server software notable for playing a key role in the initial growth of the World Wide Web. In 2009 it became the first web server software to surpass the 100 million website milestone...

 1.3 and PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...

 4 updated to Apache 2.2 and PHP 5, read-only ZFS
ZFS
In computing, ZFS is a combined file system and logical volume manager designed by Sun Microsystems. The features of ZFS include data integrity verification against data corruption modes , support for high storage capacities, integration of the concepts of filesystem and volume management,...

 support.
10.0 August 28, 2009 Mac OS X v10.6
Mac OS X v10.6
Mac OS X Snow Leopard is the seventh major release of Mac OS X, Apple's desktop and server operating system for Macintosh computers.Snow Leopard was publicly unveiled on June 8, 2009 at the Apple Worldwide Developers Conference...

End of official support for PowerPC architecture (although several fat binaries, such as Kernel, still contain PPC images); 64-bit kernel and drivers, libdispatch task parallelization
Task parallelism
Task parallelism is a form of parallelization of computer code across multiple processors in parallel computing environments. Task parallelism focuses on distributing execution processes across different parallel computing nodes...

 framework, OpenCL
OpenCL
OpenCL is a framework for writing programs that execute across heterogeneous platforms consisting of CPUs, GPUs, and other processors. OpenCL includes a language for writing kernels , plus APIs that are used to define and then control the platforms...

 heterogeneous computing
Heterogeneous computing
Heterogeneous computing systems refer to electronic systems that use a variety of different types of computational units. A computational unit could be a general-purpose processor , a special-purpose processor Heterogeneous computing systems refer to electronic systems that use a variety of...

 framework, support for blocks
Blocks (C language extension)
Blocks are a nonstandard extension added by Apple Inc. to the C, C++, and Objective-C programming languages that uses a lambda expression-like syntax to create closures within these languages...

 in C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

, transparent file compression in HFS+.
10.1.0 September 10, 2009 Mac OS X v10.6.1
10.2.0 November 9, 2009 Mac OS X v10.6.2
10.3.0 March 29, 2010 iOS 4.0 (Darwin 10.3.1)
Mac OS X v10.6.3
10.4.0 June 15, 2010 Mac OS X v10.6.4
10.5.0 November 11, 2010 Mac OS X v10.6.5
10.6.0 January 6, 2011 Mac OS X v10.6.6
10.7.0 March 21, 2011 Mac OS X v10.6.7
10.8.0 June 23, 2011 Mac OS X v10.6.8
11.0.0 July 20, 2011 Mac OS X v10.7
Mac OS X Lion
Mac OS X Lion is the eighth and current major release of Mac OS X, Apple's desktop and server operating system for Macintosh computers....



iOS 5
IOS
iOS is an operating system for iPad, iPhone, iPod Touch, and Apple TV.IOS may also refer to:-Companies and organisations:* Illinois Ornithological Society, American state-based bird club...

XNU no longer supports PPC binaries (fat binary only for i386, x86_64). XNU requires an x86_64 processor. Improved sandboxing of applications
11.1.0 August 16, 2011 Mac OS X v10.7.1
Mac OS X Lion
Mac OS X Lion is the eighth and current major release of Mac OS X, Apple's desktop and server operating system for Macintosh computers....

11.2.0 October 12, 2011 Mac OS X v10.7.2
Mac OS X Lion
Mac OS X Lion is the eighth and current major release of Mac OS X, Apple's desktop and server operating system for Macintosh computers....



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. 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 (earlier build numbers represented developer releases). 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, from which a version number of 5.1 was derived.

The command uname
Uname
uname is a software program in Unix and Unix-like computer operating systems that prints the name, version and other details about the current machine and the operating system running on it...

 -r
in Terminal
Terminal (application)
Terminal is a terminal emulator included in Apple's Mac OS X operating system. It originated in Mac OS X's predecessors, NeXTSTEP and OPENSTEP, and allows the user to interact with the computer through a command line interface. By default it provides a bash shell, which allows the OS X user to...

 will show the Darwin version number, and the command uname -v will show the XNU
XNU
XNU is the computer operating system kernel that Apple Inc. acquired and developed for use in the Mac OS X operating system and released as free and open source software as part of the Darwin operating system...

 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
Internet Systems Consortium
Internet Systems Consortium, Inc., also known as ISC, is a Delaware-registered, 501 public benefit non-profit corporation dedicated to supporting the infrastructure of the universal connected self-organizing Internet by developing and maintaining core production quality software, protocols, and...

. Its goal was to increase collaboration between Apple developers and the free software community
Free software community
The free-software community is an informal term that refers to the users and developers of free software as well as supporters of the free-software movement. The movement is sometimes referred to as the open-source software community or a subset thereof...

. 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
GNU-Darwin
GNU-Darwin is a project to package applications for the Mac OS X and Darwin operating systems. They also distribute versions of the Darwin operating system and the OpenDarwin operating system which is based on Darwin, although the versions they distribute tend to lag behind the current releases...

.

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 9. There is a developer preview available, called "PureDarwin XMas", based on Darwin 9. This release has X11, DTrace
DTrace
DTrace is a comprehensive dynamic tracing framework created by Sun Microsystems for troubleshooting kernel and application problems on production systems in real time...

, and ZFS
ZFS
In computing, ZFS is a combined file system and logical volume manager designed by Sun Microsystems. The features of ZFS include data integrity verification against data corruption modes , support for high storage capacities, integration of the concepts of filesystem and volume management,...

. PureDarwin nano is another release of PureDarwin that is supposed to be minimalistic.

Other

  • MacPorts
    MacPorts
    MacPorts, formerly called DarwinPorts, is a package management system that simplifies the installation of software on the Mac OS X and Darwin operating systems. It is a free/open source software project to simplify installation of other free/open source software...

     (formerly DarwinPorts), Fink
    Fink
    The Fink project is an effort to port and package open-source Unix programs to Mac OS X. Fink uses dpkg and APT , as well as its own frontend program, fink ....

    , and Homebrew
    Homebrew (package management software)
    Homebrew is a package management system that simplifies the installation of software on the Mac OS X operating system. It is a free/open source software project to simplify installation of other free/open source software. It is similar in aim and function to MacPorts and Fink...

     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
    RPM Package Manager
    RPM Package Manager is a package management system. The name RPM variously refers to the .rpm file format, files in this format, software packaged in such files, and the package manager itself...

    , pkgsrc
    Pkgsrc
    pkgsrc is a package management system for Unix-like operating systems. It was forked from the FreeBSD ports collection in 1997 as the primary package management system for NetBSD. Since then it has evolved independently: in 1999, support for Solaris was added, later followed by support for other...

    , and Portage
    Portage (software)
    Portage is a package management system used by Gentoo Linux, based on the concept of ports collections. Gentoo is sometimes referred to as a meta-distribution due to the extreme flexibility of Portage, which makes it operating-system-independent. The Gentoo/Alt project is concerned with using...

    —have Darwin ports. Some of these operate in their own namespace so as not to interfere with the base system.
  • GNU-Darwin
    GNU-Darwin
    GNU-Darwin is a project to package applications for the Mac OS X and Darwin operating systems. They also distribute versions of the Darwin operating system and the OpenDarwin operating system which is based on Darwin, although the versions they distribute tend to lag behind the current releases...

     is a project that ports packages of free software to Darwin.
  • The Darwine
    Darwine
    Darwine was a port of the Wine libraries to Darwin and Mac OS X . The Darwine project intended to port and develop Wine as well as other supporting tools that would allow Darwin and Mac OS X users to run Windows applications and to provide a Win32 API compatibility at application source code...

     project was a port
    Porting
    In computer science, porting is the process of adapting software so that an executable program can be created for a computing environment that is different from the one for which it was originally designed...

     of Wine
    Wine (software)
    Wine is a free software application that aims to allow computer programs written for Microsoft Windows to run on Unix-like operating systems. Wine also provides a software library, known as Winelib, against which developers can compile Windows applications to help port them to Unix-like...

     that allows one to run Microsoft Windows
    Microsoft Windows
    Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

     software on Darwin.
  • SEDarwin is a port of TrustedBSD mandatory access control
    Mandatory access control
    In computer security, mandatory access control refers to a type of access control by which the operating system constrains the ability of a subject or initiator to access or generally perform some sort of operation on an object or target...

     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
    L4 microkernel family
    L4 is a family of second-generation microkernels, generally used to implement Unix-like operating systems, but also used in a variety of other systems.L4 was a response to the poor performance of earlier microkernel-base operating systems...

    . 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
    Ext2
    The ext2 or second extended filesystem is a file system for the Linux kernel. It was initially designed by Rémy Card as a replacement for the extended file system ....

     and ext3
    Ext3
    The ext3 or third extended filesystem is a journaled file system that is commonly used by the Linux kernel. It is the default file system for many popular Linux distributions, including Debian...

     file systems.

External links

  • Darwin Releases at Apple Developer Connection
    Apple Developer Connection
    Apple Developer, formerly Apple Developer Connection or ADC, is Apple Inc.'s developer network. It is designed to make available resources to help software developers write software for the Mac OS X and iOS platforms...

  • Darwin Build Number List
  • Darwin Source Repository at SourceForge
    SourceForge
    SourceForge Enterprise Edition is a collaborative revision control and software development management system. It provides a front-end to a range of software development lifecycle services and integrates with a number of free software / open source software applications .While originally itself...

  • Hexley, the Darwin mascot
  • PureDarwin.org