Darwin (operating system)
Darwin is an open source
UNIX computer
operating system released by
Apple Inc. in 2000. It is composed of code developed by Apple, code derived from
NEXTSTEP, and code derived from
FreeBSD and other
free software projects.Darwin forms the core set of components upon which
Mac OS X and
iPhone OS are based. It can also be run as a standalone operating system (although Apple no longer provides a
distribution). It is compatible with the
Single UNIX Specification version 3 (SUSv3) and
POSIX UNIX applications and utilities.
History
Darwin's heritage began with
NeXT's
NEXTSTEP operating system (later known as
OPENSTEP), 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 in 1999. In 2000, Rhapsody was
forked into Darwin and released as
open-source software under the
Apple Public Source License (APSL), and components from Darwin are present in Mac OS X today.Up to Darwin 8.0, Apple released a binary installer (as an
ISO image) after each major Mac OS X release that allowed one to install Darwin on
PowerPC 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,
(1) except for the
ARM variant, which has not been released in any form separately from iPhone OS.
Design
Kernel
Darwin is built around
XNU, a
hybrid kernel that combines the
Mach 3
microkernel, various elements of
BSD (including the process model,
network stack, and
virtual file system)
(2), and an object-oriented
device driver API called
I/O Kit.
(3)Some of the benefits of this choice of kernel are the
Mach-O binary format, which allows a single executable file (including the kernel itself) to support multiple
CPU architectures, and the mature support for
symmetric multiprocessing in Mach. The hybrid kernel design compromises between the flexibility of a
microkernel and the performance of a
monolithic kernel.
Hardware and software support
Darwin currently includes support for both
32-bit and
64-bit variants of the
PowerPC and
Intel x86 processors used in the
Mac and
Apple TV as well as the 32-bit
ARM processor used in the
iPhone and
iPod Touch.It supports the
POSIX API by way of its
BSD lineage and a large number of programs written for various other
UNIX-like systems can be
compiled on Darwin with no changes to the
source code.Darwin and Mac OS X both use I/O Kit for their drivers and therefore support the same hardware, file systems, and so forth. Apple's distribution of Darwin included
proprietary (binary-only) drivers for their
AirPort wireless cards.Darwin does not include many of the defining elements of Mac OS X, such as the
Carbon and
Cocoa APIs or the
Quartz Compositor and
Aqua user interface, and thus cannot run Mac applications. It does, however, support a number of lesser known features of Mac OS X, such as mDNSResponder, which is the
multicast DNS responder and a core component of the
Bonjour networking technology, and
launchd, an advanced
service management framework.
License
In July 2003, Apple released Darwin under version 2.0 of the
Apple Public Source License (APSL), which the
Free Software Foundation (FSF) approved as a
free software license. Previous releases had taken place under an earlier version of the APSL that did not meet the FSF's definition of free software, although it met the requirements of the
Open Source Definition.
Mascot
The Darwin developers decided to adopt a
mascot in 2000, and chose
Hexley the
platypus over other contenders, such as an
Aqua Darwin fish,
Clarus the Dogcow, and an
orca. Apple does not sanction Hexley as a logo for Darwin.
Releases
This is a table of major Darwin releases with their dates of release and their corresponding
Mac OS X releases.
(4) 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.{| class="wikitable"! Version number !! Release date !! Corresponding releases !! Features and changes
|
|0.1|March 16, 1999|Mac OS X Server 1.0
|
|1.0|April 5, 2000|Mac OS X DP4 (Darwin 1.0.2)
|
|1.2.1|November 15, 2000|Mac OS X Public Beta
|
|1.3.1|April 13, 2001|Mac OS X v10.0
|
|1.4.1|October 2, 2001|Mac OS X v10.1| Server Message Block>SMB network file system, Wget replaced with cURL. | (5)
|
|6.0.1|September 23, 2002|Mac OS X v10.2 (Darwin 6.0.2)| GNU Compiler Collection>GCC upgraded from 2 to 3.1, IPv6 and IPSec support, mDNSResponder service discovery daemon (computer software) | (Bonjour (software)>Rendezvous), addition of CUPS, Ruby (programming language) | , and Python (programming language)>Python, journaling support in HFS+ | (Darwin 6.2), application profiles ("pre-heat files") for faster program launching.(6)
|
|7.0|October 24, 2003|Mac OS X v10.3| FreeBSD 5, automatic file defragmentation, hot-file clustering, and optional case sensitivity in HFS+, bash instead of tcsh as default shell (computing)>shell, read-only NTFS support | (Darwin 7.9).(7)
|
|8.0|April 29, 2005|Mac OS X v10.4
Mac OS X for Apple TV (Darwin 8.8.2)API>programming interface, finer-grained kernel lock (computer science) | , 64-bit BSD layer, launchd operating system service management>service management framework, extended file attributes, access control lists, commands such as cp and mv updated to preserve extended attributes and resource forks. | (8)
|
|9.0|October 26, 2007| iPhone OS>iPhone OS 1.0 | (Darwin 9.0.0d1)
Mac OS X v10.5process scheduling model, dynamic memory allocation>dynamically allocated paging | , dynamic resource limits (for computer file>files and process (computing) | ), process sandbox (computer security)>sandboxing, address space layout randomization, DTrace tracing (software) | framework, file system events daemon, directory (file systems)>directory hard links, Apache 1.3 and PHP 4 updated to Apache 2.2 and PHP 5, read-only ZFS support. | (9)
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.(10)The command uname -r in Terminal will show the Darwin version number, and the command uname -v will show the XNU build version string, which includes the Darwin version number. Derived projects
Due to the free software nature of Darwin, there are many projects that aim to modify or enhance the operating system. OpenDarwin
missing image!
- Distro-1.1-gnome.png -
GNOME running on OpenDarwin.
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. Its goal was to increase collaboration between Apple developers and the free software community. 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.(11)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."(12) The last stable release was version 7.2.1, released on July 16, 2004. weblink Other
See also
References
-
[Hubbard, Jordan (October 31, 2007). "Re: Darwin 9.0 Source Code Available." Apple Mailing Lists. Retrieved on November 27, 2007.]
-
["Darwin." Apple Developer Connection. Retrieved on June 2, 2008.]
-
[Singh, Amit (January 7, 2004). "XNU: The Kernel." Kernel Thread. Retrieved on May 4, 2008.]
-
["Darwin Releases." Apple Developer Connection. Retrieved on October 24, 2007.]
-
["Technical Note TN2029: Mac OS X v10.1." Apple Developer Connection. Retrieved June 2, 2008.]
-
[Siracusa, John (September 5, 2002). "Mac OS X 10.2 Jaguar." Ars Technica. Retrieved on May 31, 2008.]
-
[Siracusa, John (November 9, 2003). "Mac OS X 10.3 Panther." Ars Technica. Retrieved on May 31, 2008.]
-
[Siracusa, John (April 28, 2005). "Mac OS X 10.4 Tiger." Ars Technica. Retrieved on May 30, 2008.]
-
[Siracusa, John (October 28, 2007). "Mac OS X 10.5 Leopard: the Ars Technica review." Ars Technica. Retrieved on May 30, 2008.]
-
[Prabhakar, Ernie (November 9, 2001). "Darwin Version - New Scheme in Software Update 1." Apple Mailing Lists. Retrieved on June 2, 2008.]
-
["OpenDarwin." OpenDarwin Project. Retrieved on May 30, 2006.]
-
[OpenDarwin Core Team and Administrators (July 25, 2006). weblink" title="web.archive.org/web/20070409155747weblink">"OpenDarwin Shutting Down." OpenDarwin Project. Retrieved on April 16, 2007.]
External links
{{Mac OS History}}{{Mac OS X}}{{Apple Inc. operating systems}}{{Unix-like}}{{FLOSS}}داروين (نظام تشغيل)Darwin (operativni sistem)Darwin (operační systém)Darwin-kernenDarwin (Betriebssystem)Darwin BSDDarwin (operaciumo)Darwin (informatique)다윈 (운영 체제)Apple DarwinDarwin OSDarwin (オペレーティングシステム)Darwin (system operacyjny)Darwin (sistema operacional)Darwin (sistem de operare)Apple DarwinDarwin (operating system)Darwin BSDDarwin (operativsystem)Apple Darwin
(...as imported from WP)
article has not been saved locally