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,[4] except for the ARM variant, which has not been released in any form separately from iPhone OS. However, the older versions of Darwin are still available in Binary form.
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),[5] and an object-oriented device driver API called I/O Kit.[6]
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. An open-source port of the XNU kernel exists which supports Darwin on Intel and AMD x86 platforms not officially supported by Apple.[7]
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. Hexley is a cartoon platypus who usually wears a cap resembling a demon's horns. He carries a trident, similar to the BSD Daemon, to symbolize the daemon's forking of processes. Hexley was designed and copyrighted by Jon Hooper. Apple does not sanction Hexley as a logo for Darwin.[8]
Hexley's name was a mistake: it was originally supposed to be named after Thomas Henry Huxley, a 19th century English biologist who was a well-known champion of Charles Darwin's theory of evolution (nick-named "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.
No comments:
Post a Comment