All Topics  
Darwin (operating system)

 

   Email Print
   Bookmark   Link






 

Darwin (operating system)



 
 
Darwin is an open source POSIX
POSIX

POSIX or "Portable Operating System Interface" is the collective name of a family of related standardizations specified by the Institute of Electrical and Electronics Engineers to define the application programming interface , along with shell and utilities interfaces for software compatible with variants of the Unix operating system, altho...
-compliant computer operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 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 original Object-oriented operating system, computer multitasking operating system that NeXT developed to run on its range of proprietary computers, such as the NeXTcube....
, FreeBSD
FreeBSD

FreeBSD is a Unix-like free software operating system descended from AT&T Unix via the Berkeley Software Distribution branch through the 386BSD and Berkeley Software Distribution#4.4BSD and descendants operating systems....
, and other free software
Free software

Free Software or software libre 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 minimal restrictions only to ensure that further recipients can also do these things and to prevent consumer-facing hardware...
 projects.

Darwin forms the core set of components upon which Mac OS X
Mac OS X

Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
 and iPhone OS
IPhone OS

The iPhone OS or OS X iPhone is the operating system developed by Apple Inc. for the iPhone and iPod Touch. Like Mac OS X, from which it was derived, it uses the Darwin foundation....
 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". The SUS is developed and maintained by the Austin Group, based on earlier work by the IEEE and The Open Group....
 version 3 (SUSv3) and POSIX
POSIX

POSIX or "Portable Operating System Interface" is the collective name of a family of related standardizations specified by the Institute of Electrical and Electronics Engineers to define the application programming interface , along with shell and utilities interfaces for software compatible with variants of the Unix operating system, altho...
 UNIX applications and utilities.

History
Darwin's heritage began with NeXT
NeXT

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

Nextstep was the original Object-oriented operating system, computer multitasking operating system that NeXT developed to run on its range of proprietary computers, such as the NeXTcube....
 operating system (later known as OPENSTEP
OpenStep

OpenStep is an object-oriented application programming interface specification for an object-oriented operating system that uses any modern operating system as its core, principally developed by NeXT with Sun Microsystems....
), first released in 1989.






Discussion
Ask a question about 'Darwin (operating system)'
Start a new discussion about 'Darwin (operating system)'
Answer questions from other users
Full Discussion Forum



Recent Posts









Encyclopedia


Darwin is an open source POSIX
POSIX

POSIX or "Portable Operating System Interface" is the collective name of a family of related standardizations specified by the Institute of Electrical and Electronics Engineers to define the application programming interface , along with shell and utilities interfaces for software compatible with variants of the Unix operating system, altho...
-compliant computer operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 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 original Object-oriented operating system, computer multitasking operating system that NeXT developed to run on its range of proprietary computers, such as the NeXTcube....
, FreeBSD
FreeBSD

FreeBSD is a Unix-like free software operating system descended from AT&T Unix via the Berkeley Software Distribution branch through the 386BSD and Berkeley Software Distribution#4.4BSD and descendants operating systems....
, and other free software
Free software

Free Software or software libre 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 minimal restrictions only to ensure that further recipients can also do these things and to prevent consumer-facing hardware...
 projects.

Darwin forms the core set of components upon which Mac OS X
Mac OS X

Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
 and iPhone OS
IPhone OS

The iPhone OS or OS X iPhone is the operating system developed by Apple Inc. for the iPhone and iPod Touch. Like Mac OS X, from which it was derived, it uses the Darwin foundation....
 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". The SUS is developed and maintained by the Austin Group, based on earlier work by the IEEE and The Open Group....
 version 3 (SUSv3) and POSIX
POSIX

POSIX or "Portable Operating System Interface" is the collective name of a family of related standardizations specified by the Institute of Electrical and Electronics Engineers to define the application programming interface , along with shell and utilities interfaces for software compatible with variants of the Unix operating system, altho...
 UNIX applications and utilities.

History


Darwin's heritage began with NeXT
NeXT

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

Nextstep was the original Object-oriented operating system, computer multitasking operating system that NeXT developed to run on its range of proprietary computers, such as the NeXTcube....
 operating system (later known as OPENSTEP
OpenStep

OpenStep is an object-oriented application programming interface specification for an object-oriented operating system that uses any modern operating system as its core, principally developed by NeXT with Sun Microsystems....
), 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 by Apple Computer based on their acquisition of NeXT. Although it had a variation of the Platinum "look and feel" from Mac OS 8, it is based on the OPENSTEP operating system instead of the classic Mac OS, giving users a preview of the future operating sy...
 in 1999. In 2000, Rhapsody was forked into Darwin and released as open-source software
Open-source software

Open source software is defined as computer software for which the source code and certain other rights normally reserved for copyright holders are provided under a computer software license that meets the Open Source Definition or that is in the public domain....
 under the Apple Public Source License
Apple Public Source License

The Apple Public Source License is the open source license and free software license under which Apple Inc.'s Darwin operating system was released....
 (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 in a format defined by the International Organization for Standardization . This format is supported by many software vendors....
) after each major Mac OS X release that allowed one to install Darwin on PowerPC
PowerPC

PowerPC is a RISC instruction set architecture created by the 1991 Apple Inc.?IBM?Motorola alliance, known as AIM alliance. Originally intended for personal computers, PowerPC CPUs have since become popular embedded system and high-performance processors....
 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

The ARM architecture is a 32-bit RISC central processing unit architecture developed by ARM Limited that is widely used in embedded system designs....
 variant, which has not been released in any form separately from iPhone OS.

Design


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....
 that combines the Mach
Mach (kernel)

Mach is an operating system microkernel developed at Carnegie Mellon University to support operating system research, primarily distributed and parallel computation....
 3 microkernel
Microkernel

In computer science, a microkernel is a computer kernel which provides the mechanisms needed to implement an operating system, such as 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 set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
 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 Inc.'s Mac OS X operating system....
.

Some of the benefits of this choice of kernel are the Mach-O
Mach-O

Mach-O, short for Mach kernel object code file format, is a file format for executables, object code, shared libraries, dynamically-loaded code, and core dumps....
 binary format, which allows a single executable file (including the kernel itself) to support multiple CPU
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
 architectures, and the mature support for symmetric multiprocessing
Symmetric multiprocessing

In computing, symmetric multiprocessing or SMP involves a multiprocessor computer-architecture where two or more identical processors can connect to a single shared main memory....
 in Mach. The hybrid kernel design compromises between the flexibility of a microkernel
Microkernel

In computer science, a microkernel is a computer kernel which provides the mechanisms needed to implement an operating system, such as low-level address space management, thread management, and inter-process communication....
 and the performance of a monolithic kernel
Monolithic kernel

A monolithic kernel is a Kernel architecture where the entire operating system is run in kernel space as supervisor mode. In difference with other architectures , the monolithic kernel defines alone a high-level virtual interface over computer hardware, with a set of primitives or system calls to implement all operating system services such...
.

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 or -2,147,483,648 through 2,147,483,647 using two's complement encoding....
 and 64-bit
64-bit

64-bit CPUs have existed in supercomputers since the 1960s and in RISC-based computer workstation and Server s since the early 1990s. In 2003 they were introduced to the mainstream personal computer arena, in the form of the x86-64 and 64-bit PowerPC processor architectures....
 variants of the PowerPC
PowerPC

PowerPC is a RISC instruction set architecture created by the 1991 Apple Inc.?IBM?Motorola alliance, known as AIM alliance. Originally intended for personal computers, PowerPC CPUs have since become popular embedded system and high-performance processors....
 and Intel x86 processors
Microprocessor

A microprocessor incorporates most or all of the functions of a central processing unit on a single integrated circuit . The first microprocessors emerged in the early 1970s and were used for electronic calculators, using Binary-coded decimal arithmetic on 4-bit Word ....
 used in the Mac
Macintosh

File:Imac alu.pngMacintosh, commonly shortened to Mac, is a brand name which covers several lines of personal computers designed, developed, and marketed by Apple Inc....
 and Apple TV as well as the 32-bit ARM
ARM architecture

The ARM architecture is a 32-bit RISC central processing unit architecture developed by ARM Limited that is widely used in embedded system designs....
 processor used in the iPhone
IPhone

The iPhone is an internet-connected multimedia smartphone designed and marketed by Apple Inc. with a flush multi-touch screen and a minimal hardware interface....
 and iPod Touch
IPod touch

The iPod Touch is a portable media player and Wi-Fi mobile platform designed and marketed by Apple Inc. The product was launched on September 5, 2007 at an event called The Beat Goes On....
.

It supports the POSIX
POSIX

POSIX or "Portable Operating System Interface" is the collective name of a family of related standardizations specified by the Institute of Electrical and Electronics Engineers to define the application programming interface , along with shell and utilities interfaces for software compatible with variants of the Unix operating system, altho...
 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 . The most common reason for wanting to transform source code is to create an executable program....
 on Darwin with no changes to the source code
Source code

In computer science, source code is any collection of statements or declarations written in some human-readable computer programming language....
.

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 included proprietary
Proprietary software

Proprietary software is a term coined by advocates of the free software movement to describe computer software which is the legal property of one party....
 (binary-only) drivers for their AirPort
Airport

An airport is a location where aircraft such as Fixed-wing aircraft, helicopters, and Non-rigid airship take off and land. Aircraft may also be stored or maintained at an airport....
 wireless cards.

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 Apple Macintosh operating system. It permits a good degree of forward and backward compatibility between source code written to run on the older and now dated Mac OS history , and the newer Mac OS X....
 and Cocoa
Cocoa (API)

Cocoa is one of Apple Inc.'s native object-oriented application program environment for the Mac OS X operating system. It is one of four major Application programming interfaces available for Mac OS X; the others are Carbon , POSIX , and Java platform....
 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 family....
 and Aqua user interface
Aqua (user interface)

Aqua is the graphical user interface and primary 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

Multicast is a Computer networking addressing method for the delivery of information to a group of destinations simultaneously using the most efficient strategy to deliver the messages over each link of the network only once, creating copies only when the links to the multiple destinations split....
 DNS
Domain name system

The Domain Name System is a hierarchical naming system for computers, services, or any resource participating in the Internet. It associates various information with domain names assigned to such participants....
 responder and a core component of the Bonjour
Bonjour (software)

Bonjour, formerly Rendezvous, is Apple Inc.'s trade name for its implementation of Zeroconf, a service discovery protocol. Bonjour locates devices such as printers, as well as other computers, and the services that those devices offer on a local area network using multicast Domain Name System service records....
 networking technology, and launchd
Launchd

launchd is a unified, open source Operating System service management framework for starting, stopping and managing daemon , Computer programs and Shell script....
, an advanced service management
Service management

Service Management is integrated into Supply Chain Management as the joint between the actual sales and the customer. The aim of high performance Service Management is to optimize the service-intensive supply chains, which are usually more complex than the typical finished-goods supply chain....
 framework
Software framework

A software framework, in computer programming, is an abstraction in which common code providing generic functionality can be selectively overridden or specialized by user code providing specific functionality....
.

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 license and free software license under which Apple Inc.'s Darwin operating system was released....
 (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 distribute and modify computer software without restriction....
 (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 used by the Open Source Initiative to determine whether or not a computer software license can be considered Open-source software....
.

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....
 in 2000, and chose Hexley the Platypus
Platypus

The Platypus is a semi-aquatic mammal Endemic to Eastern states of 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 Egg 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 frequently a subject of satire, especially when adorning the Bumper or Trunk of automobiles....
, Clarus the Dogcow, and an orca
Orca

The Killer Whale or Orca , less commonly, Blackfish or Seawolf, is the largest species of the dolphin family. It is found in all the world's oceans, from the frigid Arctic and Antarctica regions to warm, tropical seas....
. Hexley is a cartoon
Cartoon

The word cartoon has various meanings, based on several very different forms of visual art and illustration. The term has evolved over time.The original meaning was in fine art, and there cartoon meant a preparatory drawing for a piece of art such as a painting or tapestry....
 platypus who usually wears a cap resembling a demon
Demon

In religion, folklore, and mythology a demon is a supernatural being that is generally described as a malevolent spirit. In Christian terms demons are generally understood as fallen angels, formerly of God....
'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....
, to symbolize the daemon's forking
Fork (operating system)

In computing, when a Computer_process forks, it creates a copy of itself, which is called a "Child_process." The original process is then called the "Parent_process"....
 of processes
Process (computing)

In computing, a process is an Object of a computer program that is being sequentially executed by a computer system that has the ability to run several computer programs Concurrency ....
. Hexley was designed and copyrighted by Jon Hooper; Apple does not sanction Hexley as a logo for Darwin.

The 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....
 who was a well-known champion of Charles Darwin
Charles Darwin

Charles Robert Darwin Royal Society was an English people natural history who realised and presented compelling evidence that all species of life have evolution over time from common descent, through the process he called natural selection....
's theory of evolution
Evolution

In biology, evolution is change in the heritability trait of a population of organisms from one generation to the next. These changes are caused by a combination of three main processes: variation, reproduction, and selection....
 (nick-named "Darwin's bulldog"); however, ignorance led not only to a mistake in Huxley's name but who he was (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, however, it was deemed too late to change and the incorrect name "Hexley" was kept.

Releases


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 line of computer operating systems developed, marketed, and sold by Apple Inc., and 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 number Release date Corresponding releases Features and changes
0.1March 16, 1999Mac 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 by Apple Computer based on their acquisition of NeXT. Although it had a variation of the Platinum "look and feel" from Mac OS 8, it is based on the OPENSTEP operating system instead of the classic Mac OS, giving users a preview of the future operating sy...
 
1.0April 5, 2000Mac OS X DP4 (Darwin 1.0.2) 
1.2.1November 15, 2000Mac OS X Public Beta
Mac OS X Public Beta

The Mac OS X Public Beta is an early Software testing version of Apple Computer's Mac OS X operating system. It was released to the public on September 13 2000 for US$29.95....
 
1.3.1April 13, 2001Mac OS X v10.0
Mac OS X v10.0

Mac OS X version 10.0, code named ?Cheetah?, was the first Software version of Mac OS X, Apple Inc. desktop and server operating system. Mac OS X v10.0 was released on March 24, 2001 for a price of US$129....
 
1.4.1October 2, 2001Mac OS X v10.1
Mac OS X v10.1

Mac?OS?X version?10.1, code named ?Puma?, was the second Software version of Mac OS X, Apple Inc. desktop and server operating system. It superseded Mac OS X v10.0 and preceded Mac OS X v10.2....
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 operates as an Application layer mainly used to provide shared access to Computer file, Computer printer, serial ports, and miscellaneous communications between nodes on a network....
 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 computer network as easily as if the network devices were attached to its local disks....
, Wget
Wget

GNU Wget is a simple 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, connotative of its primary function....
 replaced with cURL
Curl

In vector calculus in three-dimensional space, curl is a vector operator that shows a vector field's "rotation"; that is, the direction of the axis of rotation and the magnitude of the rotation....
.
6.0.1September 23, 2002Mac OS X v10.2
Mac OS X v10.2

Mac OS X version 10.2 ?Jaguar? was the third Software version of Mac OS X, Apple Inc. desktop and server operating system. It superseded Mac OS X v10.1 code name Puma and preceded Mac OS X v10.3 ?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 the next-generation Internet layer protocol for packet -switched internetworking and the Internet. IPv4 is the dominant Internet Protocol version, and was the first to receive widespread use....
 and IPSec
IPsec

Internet Protocol Security is a Protocol suite for securing Internet Protocol communications by authentication and encryption each packet #Example: IP packets of a data stream....
 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 computer computer multitasking operating systems, a daemon is a computer program that runs in the background , rather than under the direct control of a user; they are usually initiated as background Computer processes....
 (Rendezvous
Bonjour (software)

Bonjour, formerly Rendezvous, is Apple Inc.'s trade name for its implementation of Zeroconf, a service discovery protocol. Bonjour locates devices such as printers, as well as other computers, and the services that those devices offer on a local area network using multicast Domain Name System service records....
), addition of CUPS, Ruby
Ruby (programming language)

Ruby is a dynamic programming language, reflection , general purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features....
, and Python
Python (programming language)

Python is a general-purpose high-level programming language. Its design philosophy emphasizes code readability. Python's core syntax and semantics are Minimalism , while the standard library is large and comprehensive....
, journaling
Journaling file system

A journaling file system is a file system that logs changes to a journal before committing them to the main file system. Such file systems are less likely to become corrupted in the event of power failure or system crash....
 support in HFS+ (Darwin 6.2), application profiles ("pre-heat files") for faster program launching.
7.0October 24, 2003Mac OS X v10.3
Mac OS X v10.3

Mac OS X version 10.3 ?Panther? was the fourth Software version of Mac OS X, Apple Inc. desktop and server operating system. It followed Mac OS X v10.2 ?Jaguar? and preceded Mac OS X v10.4 ?Tiger?....
BSD layer synchronized with FreeBSD
FreeBSD

FreeBSD is a Unix-like free software operating system descended from AT&T Unix via the Berkeley Software Distribution branch through the 386BSD and Berkeley Software Distribution#4.4BSD and descendants operating systems....
 5, automatic file defragmentation
Defragmentation

In the context of administering computer systems, defragmentation is a process that reduces the amount of file system fragmentation in file systems....
, hot-file clustering, and optional case sensitivity
Case sensitivity

self-ref|For a discussion of case-sensitivity in Wikipedia page titles, see...
 in HFS+, bash
Bash

Bash is a free software Unix shell written for the GNU Project. Its name is an acronym which stands for Bourne-again shell. The name is a pun on the name of the Bourne shell , an early and important Unix shell written by Stephen Bourne and distributed with Version 7 Unix circa 1978, and the concept of being "Born again Christianity"....
 instead of tcsh
Tcsh

tcsh is a Unix shell based on and Backward compatibility with the C shell . It is essentially the C shell with programmable command line completion, command-line editing, and a few other features....
 as default shell
Shell (computing)

In computing, a shell is a piece of software that provides an Interface for users. Typically, the term refers to an operating system shell which provides access to the services of a kernel ....
, 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.0April 29, 2005Mac OS X v10.4
Mac OS X v10.4

Mac OS X version 10.4 ?Tiger? was the fifth Software version of Mac OS X, Apple Inc. desktop and server operating system for Macintosh computers....

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 thread ....
, 64-bit BSD layer, launchd
Launchd

launchd is a unified, open source Operating System service management framework for starting, stopping and managing daemon , Computer programs and Shell script....
 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 the command entered in a Unix shell to copy a computer file from one place to another, possibly on a different filesystem. The original file remains unchanged, and the new file may have the same or a different name....
 and mv
MV

MV can stand for:...
 updated to preserve extended attributes and resource forks.
9.0October 26, 2007iPhone OS 1.0
IPhone OS

The iPhone OS or OS X iPhone is the operating system developed by Apple Inc. for the iPhone and iPod Touch. Like Mac OS X, from which it was derived, it uses the Darwin foundation....
 (Darwin 9.0.0d1)
Mac OS X v10.5
Mac OS X v10.5

Mac OS X version 10.5 "Leopard" is the sixth Software version of Mac OS X, Apple Inc. desktop and server operating system for Apple Macintosh computers, and the successor to Mac OS X v10.4 "Tiger"....
Full POSIX compliance, improved hierarchical process scheduling model, dynamically allocated
Dynamic memory allocation

In computer science, dynamic memory allocation is the allocation of computer storage storage for use in a computer program during the runtime of that program....
 swap files
Paging

In computer operating systems that have their main memory divided into page , paging is a transfer of pages between main memory and an auxiliary store, such as hard disk drive....
, 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 computer storage....
 and processes
Process (computing)

In computing, a process is an Object of a computer program that is being sequentially executed by a computer system that has the ability to run several computer programs Concurrency ....
), process sandboxing
Sandbox (computer security)

In computer security, a sandbox is a security mechanism for safely running programs. It is often used to execute untested code, or untrusted programs from unverified third-parties, suppliers and untrusted users....
, address space layout randomization
Address space layout randomization

Address space layout randomization is a Computer insecurity technique which involves randomly arranging the positions of key data areas, usually including the base of the executable and position of Library , Dynamic memory allocation, and Stack-based memory allocation, in a Process 's address space....
, 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 Data 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 system administrators or technical suppor...
 framework, file system
File system

In computing, a file system is a method for store and organize computer files and the data they contain to make it easy to find and access them....
 events daemon, directory
Directory (file systems)

In computing, a directory, folder, catalog, or drawer is a virtual container within a digital file system, in which groups of files and other directories can be kept and organized....
 hard links, Apache
Apache HTTP Server

The Apache HTTP Server, commonly referred to simply as Apache , is a web server notable for playing a key role in the initial growth of the World Wide Web....
 1.3 and PHP
PHP

PHP is a scripting language originally designed for producing dynamic web pages. It has evolved to include a command line interface capability and can be used in Standalone software Graphical user interface....
 4 updated to Apache 2.2 and PHP 5, read-only ZFS
ZFS

In computing, ZFS is a file system designed by Sun Microsystems for the Solaris Operating System. The features of ZFS include support for high storage capacities, integration of the concepts of filesystem and volume , Snapshot and copy-on-write clones, continuous integrity checking and automatic repair, RAID-Z and native NFSv4 ACLs....
 support.


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 Inc.'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....
 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


Distro 1
OpenDarwin was a community-led operating system based on the Darwin platform. 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 charity Not-for-profit corporation which Succession Internet Software Consortium, Inc., the original ISC....
. 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 referring to the users and developers of free software as well as supporters of the free software movement....
. Apple theoretically 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 management system 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 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 file system designed by Sun Microsystems for the Solaris Operating System. The features of ZFS include support for high storage capacities, integration of the concepts of filesystem and volume , Snapshot and copy-on-write clones, continuous integrity checking and automatic repair, RAID-Z and native NFSv4 ACLs....
. PureDarwin nano is a another release of PureDarwin that is supposed to be minimalistic.

Other


  • MacPorts
    MacPorts

    MacPorts, formerly called DarwinPorts, is a free software/open source software project to simplify installation of other free/open source software on the Mac OS X and Darwin operating systems....
     (formerly DarwinPorts) and Fink
    Fink

    In computing, the Fink project is an effort to porting Unix computer program to Mac OS X. Fink uses dpkg and Advanced Packaging Tool , as well as its own frontend program, fink ....
     are both 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 refers to two things: a software package file format, and software packaged in this format....
    , 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....
    , and Portage
    Portage (software)

    Portage is a package management system used by Gentoo Linux. Gentoo is sometimes referred to as a meta-distribution due to the flexibility of Portage which allows it to manage other operating systems as well....
    —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 management system 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 is a port of the Wine libraries to Darwin and Mac OS X.Darwine was originally intended to support compiling of Win32 source into Mach-O/PowerPC binaries for Macintosh computers....
     project is a port of Wine
    Wine (software)

    Wine is a free software software application that aims to allow Unix-like computer operating systems on the x86 architecture or x86-64 architecture to execute programs written for Microsoft Windows....
     that allows one to run Microsoft Windows
    Microsoft Windows

    Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
     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.
  • 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 based on theoriginal designs and implementations by Germany computer scientist Jochen Liedtke....
    . It aims to be binary compatible
    Binary compatible

    Having the exact same data format, down to the binary level. That is, two files that are binary compatible will have the same pattern of zeros and ones in the data portion of the file....
     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 journaling file system that is commonly used by the Linux operating system. It is the default file system for many popular Linux distributions....
     file systems.


See also


  • A/UX
    A/UX

    A/UX was Apple Computer's implementation of the Unix operating system for some of their Apple Macintosh computers. The later versions of A/UX ran on the Macintosh II, Macintosh Quadra and Macintosh Centris series of machines as well as the Macintosh SE/30....
  • Mac OS Forge
    Mac OS Forge

    Mac OS Forge is a site that Apple inc has set up to host a number of its Open Source projects. The site provides public access to the project Subversion as well as project timelines and Software bug reporting/tracking....
  • mkLinux
    MkLinux

    MkLinux is an open source computer operating system started by the Open Software Foundation Research Institute and Apple Computer in February 1996 to port Linux to the PowerPC platform, and Macintosh computers....


External links

  • at Apple Developer Connection
    Apple Developer Connection

    The 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 Apple Mac OS X platform, iPhone and iPod touch....
  • 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 ....