Darwin is an
open sourceThe 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...
POSIXPOSIX , 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 systemAn 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
NeXTSTEPNeXTSTEP 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 softwareFree 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 XMac 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 SpecificationThe 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
POSIXPOSIX , 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
NeXTNext, 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
NeXTSTEPNeXTSTEP 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
OPENSTEPOpenStep 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.0Mac 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 softwareOpen-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 LicenseThe 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 imageAn 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
PowerPCPowerPC 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
ARMARM 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
XNUXNU 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 kernelA 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
MachMach 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
microkernelIn 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 systemA 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 driverIn computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....
APIAn 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 KitThe 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-OMach-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
CPUThe 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 multiprocessingIn 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 kernelA 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-bitThe 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-bit64-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
processorA 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
MacThe 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
ARMARM 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
iPhoneThe 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 TouchThe 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
iPadThe 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
XNUXNU 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
POSIXPOSIX , 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-likeA 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
compiledA 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 codeIn 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
CarbonCarbon 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
CocoaCocoa 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 CompositorQuartz 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 interfaceAqua 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
multicastIn 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...
DNSThe 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
BonjourIn 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
launchdlaunchd is a unified, open-source service management framework for starting, stopping and managing daemons, applications, processes, and scripts...
, an advanced
service managementIn computing, mechanisms and techniques for managing services often differ by operating system. Operating system service management can refer to the following:...
frameworkIn 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 LicenseThe 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 FoundationThe 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 DefinitionThe 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
mascotThe 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
PlatypusThe 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 fishThe 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
orcaThe 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
cartoonA 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
demoncall - 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 DaemonThe 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
forkingIn 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
processesIn 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
biologistA 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 DarwinCharles 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
evolutionEvolution 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 XMac 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, 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 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 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 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 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 systemNetwork 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... , WgetGNU 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 cURLcURL 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 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) |
GCCThe 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, IPv6Internet Protocol version 6 is a version of the Internet Protocol . It is designed to succeed the Internet Protocol version 4... and IPSecInternet 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 discoveryService discovery protocols are network protocols which allow automatic detection of devices and services offered by these devices on a computer network.... daemonIn 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... (RendezvousIn 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, RubyRuby 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 PythonPython 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... , journalingA 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 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 FreeBSDFreeBSD 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 defragmentationIn 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 sensitivityText 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 tcshtcsh 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 shellA 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 NTFSNTFS 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 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 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, launchdlaunchd is a unified, open-source service management framework for starting, stopping and managing daemons, applications, processes, and scripts... service managementIn computing, mechanisms and techniques for managing services often differ by operating system. Operating system service management can refer to the following:... framework, extended file attributesExtended 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 cpcp 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 mvmv 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.5Mac 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 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 filesA 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 processesIn 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 sandboxingIn 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 randomizationAddress 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... , DTraceDTrace is a comprehensive dynamic tracing framework created by Sun Microsystems for troubleshooting kernel and application problems on production systems in real time... tracingIn 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 systemA 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, directoryIn 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, ApacheThe 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 PHPPHP 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 ZFSIn 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 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 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, OpenCLOpenCL 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 computingHeterogeneous 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 blocksBlocks 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 CC 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 is the eighth and current major release of Mac OS X, Apple's desktop and server operating system for Macintosh computers....
iOS 5iOS 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 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 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
unameuname 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
TerminalTerminal 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
XNUXNU 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 ConsortiumInternet 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 communityThe 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-DarwinGNU-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,
DTraceDTrace is a comprehensive dynamic tracing framework created by Sun Microsystems for troubleshooting kernel and application problems on production systems in real time...
, and
ZFSIn 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, 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), FinkThe 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 HomebrewHomebrew 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 RPMRPM 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...
, pkgsrcpkgsrc 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 PortagePortage 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 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 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 portIn 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 WineWine 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 WindowsMicrosoft 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
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 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
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 ext3The 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