Teknik Informatika    
   
Daftar Isi
(Sebelumnya) Dartmouth CollegeDashcode (Berikutnya)

Darwin (operating system)

Darwin
Hexley the Platypus, a cartoon platypus standing, holding a trident and wearing a hat
Company / developerApple Inc.
Programmed inC, C++
OS familyUnix
Working stateCurrent
Source modelOpen source
Latest stable release13.0.0 [edit]  (June 11, 2012) [±]
Latest unstable release[±]
Supported platformsPowerPC, x86, ARM
Kernel typeHybrid
Default user interfaceCommand-line interface
LicenseMostly Apple Public Source License, with proprietary drivers[1]
Official websiteApple - Open Source

Darwin is an open source POSIX-compliant computer operating system released by Apple Inc. in 2000. It is composed of code developed by Apple, as well as code derived from NeXTSTEP, BSD, and other free software projects.

Darwin forms the core set of components upon which Mac OS X and iOS are based. It is compatible with the Single UNIX Specification version 3 (SUSv3) and POSIX UNIX applications and utilities.[2][3][4]

Contents

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.1, 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,[5] except for the ARM variant, which has not been released in any form separately from iOS. 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),[6] and an object-oriented device driver API called I/O Kit.[7] 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 the 64-bit variant of the Intel x86 processors used in the Mac as well as the 32-bit ARM processors used in the iPhone, iPod Touch, iPad and the second and third generation Apple TV. An open-source port of the XNU kernel exists which supports Darwin on Intel and AMD x86 platforms not officially supported by Apple, although it does not appear to have been updated since 2009.[8]

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 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 is approved as a free software license by the Free Software Foundation (FSF). Previous versions had been released under an earlier version of the APSL license, which did not meet the FSF's definition of free software, although it met the requirements of the Open Source Definition.

Mascot

Darwin (operating system) logo - Hexley the Platypus.png

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 by Jon Hooper. Apple does not sanction Hexley as a logo for Darwin.[9]

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 (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.[10]

Release history

This is a table of major Darwin releases with their dates of release and their corresponding Mac OS X releases.[11] 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.

VersionDateCorresponding releasesNotes
0.1March 16, 1999Mac OS X DP10.1 is contrived (for sorting and identification) as this identified itself simply as Mac OS 10.0
0.2November 10, 1999Mac OS X DP2 
1.0February 2000Mac OS X DP3 
1.1April 5, 2000Mac OS X DP4 
1.2.1November 15, 2000Mac OS X Public BetaCode named "Kodiak"
1.3.1April 13, 2001Mac OS X v10.0First commercial release of Darwin
1.3.1June 21, 2001Mac OS X v10.0.4All releases of "Cheetah" (10.0–10.0.4) had the same version of Darwin
1.4.1October 2, 2001Mac OS X v10.1Performance improvements to "boot time, real-time threads, thread management, cache flushing, and preemption handling," support for SMB network file system, Wget replaced with cURL.[12]
5.1November 12, 2001Mac OS X v10.1.1Change in numbering scheme to match Mac OS X build numbering scheme (e.g., Mac OS X v10.1 contains build numbers starting with 5 so Mac OS X v10.1.1 is now based on Darwin 5.1; i.e., 10.1 means 5 so 10.1.1 means 5.1, etc.)
5.5June 5, 2002Mac OS X v10.1.5Last release of "Puma"
6.0.1September 23, 2002Mac OS X v10.2 (Darwin 6.0.2)GCC upgraded from 2 to 3.1, IPv6 and IPSec support, mDNSResponder service discovery daemon (Rendezvous), addition of CUPS, Ruby, and Python, journaling support in HFS+ (Darwin 6.2), application profiles ("pre-heat files") for faster program launching.[13]
6.8October 3, 2003Mac OS X v10.2.8Last release of "Jaguar"
7.0October 24, 2003Mac OS X v10.3BSD layer synchronized with FreeBSD 5, automatic file defragmentation, hot-file clustering, and optional case sensitivity in HFS+, bash instead of tcsh as default shell, read-only NTFS support (Darwin 7.9).[14]
7.9April 15, 2005Mac OS X v10.3.9Last release of "Panther"
8.0April 29, 2005Mac OS X v10.4
Mac OS X for Apple TV (Darwin 8.8.2)
Stable kernel programming interface, finer-grained kernel locking, 64-bit BSD layer, launchd service management framework, extended file attributes, access control lists, commands such as cp and mv updated to preserve extended attributes and resource forks.[15]
8.11November 14, 2007Mac OS X v10.4.11Last release of "Tiger"
9.0October 26, 2007iPhone OS 1 (Darwin 9.0.0d1)
Mac OS X v10.5
Full POSIX compliance, improved hierarchical process scheduling model, dynamically allocated swap files, dynamic resource limits (for files and processes), process sandboxing, address space layout randomization, DTrace tracing framework, file system events daemon, directory hard links, Apache 1.3 and PHP 4 updated to Apache 2.2 and PHP 5, read-only ZFS support.[16]
9.8August 5, 2009Mac OS X v10.5.8Last release of "Leopard"
10.0August 28, 2009Mac OS X v10.6
iOS 4
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 framework, OpenCL heterogeneous computing framework, support for blocks in C, transparent file compression in HFS+.[17]
10.8June 23, 2011Mac OS X v10.6.8Last release of "Snow Leopard"
11.0.0July 20, 2011Mac OS X v10.7

iOS 5[18]

XNU no longer supports PPC binaries (fat binary only for i386, x86_64). XNU requires an x86_64 processor. Improved sandboxing of applications
11.4.0February 1, 2012Mac OS X v10.7.4"Lion"
11.4.2October 4, 2012Mac OS X v10.7.5"Latest version of Lion, supplemental"
12.0.0February 16, 2012OS X v10.8Code named "Mountain Lion"; the word "Mac" has been dropped from the name
13.0.0June 11, 2012iOS 6Unknown as to why iOS 6 uses Darwin 13 instead of Darwin 12.

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.[19]

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

GNOME running on OpenDarwin.

OpenDarwin was a community-led operating system based on the Darwin system. It was founded in April 2002 by Apple Inc. and Internet Systems Consortium. Its goal was to increase collaboration between Apple developers and the free software community. Apple benefited from the project because improvements to OpenDarwin would be incorporated into Darwin releases; and the free/open source community supposedly benefited from being given complete control over its own operating system, which could then be used in free software distributions such as GNU-Darwin.[20]

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."[21] The last stable release was version 7.2.1, released on July 16, 2004.[citation needed]

PureDarwin

In 2007, the PureDarwin project was launched to continue where OpenDarwin left off, and is currently working to produce a release based on Darwin 9. There is a developer preview available, called "PureDarwin XMas", based on Darwin 9. This release has X11, DTrace, and ZFS.[22] PureDarwin nano is another release of PureDarwin that is supposed to be minimalistic.

Other

  • MacPorts (formerly DarwinPorts), Fink, and Homebrew are well known projects to port UNIX programs to the Darwin operating system and provide package management. In addition, several standard UNIX package managers—such as RPM, pkgsrc, and Portage—have Darwin ports. Some of these operate in their own namespace so as not to interfere with the base system.
  • GNU-Darwin is a project that ports packages of free software to Darwin.
  • The Darwine project is a port of Wine that allows one to run Microsoft Windows software on Darwin.
  • SEDarwin is a port of TrustedBSD mandatory access control framework and portions of the SELinux framework to Darwin.[23] It was incorporated into Mac OS X 10.5.[24]
  • The Darbat project is an experimental port of Darwin to the L4 microkernel family. It aims to be binary compatible with existing Darwin binaries.[25]
  • There are various projects that focus on driver support: e.g., wireless drivers,[26][27] wired NIC drivers[28][29][30] modem drivers,[31] card readers,[32] and the ext2 and ext3 file systems.[33][34]

See also

References

  1. ^ "Binary Drivers required for PureDarwin". http://www.puredarwin.org/legal/binar ydrivers. Retrieved 2009-07-20.
  2. ^ "Mac OS X Leopard - Technology - UNIX". Leopard Technology Overview. Apple Inc.. Archived from the original on 2008-12-27. http://web.archive.org/web/2008122700 0710/http://www.apple.com/macosx/tech nology/unix.html. "Leopard is now an Open Brand UNIX 03 Registered Product, conforming to the SUSv3 and POSIX 1003.1 specifications for the C API, Shell Utilities, and Threads."
  3. ^ The Open Group (May 18, 2007). "Mac OS X Version 10.5 Leopard on Intel-based Macintosh computers certification". http://www.opengroup.org/openbrand/re gister/brand3555.htm. Retrieved 2013-02-11.
  4. ^ The Open Group (July 10, 2012). "Mac OS X Version 10.8 Mountain Lion on Intel-based Macintosh computers certification". http://www.opengroup.org/openbrand/re gister/brand3591.htm. Retrieved 2013-02-11.
  5. ^ Hubbard, Jordan (October 31, 2007). "Re: Darwin 9.0 Source Code Available."". darwinos-users mailing list. http://lists.apple.com/archives/Darwi nos-users/2007/Oct/msg00006.html. Retrieved 2007-11-27.
  6. ^ "Mac Technology Overview: Kernel and Device Drivers Layer". Apple Developer Connection. http://developer.apple.com/library/ma c/documentation/MacOSX/Conceptual/OSX _Technology_Overview/SystemTechnology /SystemTechnology.html#//apple_ref/do c/uid/TP40001067-CH207-BCICAIFJ. Retrieved 2013-02-11.
  7. ^ Singh, Amit (January 7, 2004). "XNU: The Kernel". http://osxbook.com/book/bonus/ancient /whatismacosx/arch_xnu.html. Retrieved 2013-02-11.
  8. ^ "Voodoo XNU Kernel". http://code.google.com/p/xnu-dev/.
  9. ^ Hooper, Jon. "Homepage of Hexley the DarwinOS mascot". http://www.hexley.com/. Retrieved 2008-11-30.
  10. ^ Hooper, Jon. "Hexley Darwin Mascot History". http://www.hexley.com/history.html. Retrieved 2008-11-30.
  11. ^ "Open Source Releases". Apple Developer Connection. http://www.opensource.apple.com. Retrieved 2013-02-11.
  12. ^ "Technical Note TN2029: Mac OS X v10.1". Apple Developer Connection. Archived from the original on 2001-11-14. http://web.archive.org/web/2001111420 5940/http://developer.apple.com/techn otes/tn/tn2029.html.
  13. ^ Siracusa, John (September 5, 2002). "Mac OS X 10.2 Jaguar". Ars Technica. http://arstechnica.com/reviews/os/mac osx-10-2.ars. Retrieved 2008-05-31.
  14. ^ Siracusa, John (November 9, 2003). "Mac OS X 10.3 Panther". Ars Technica. http://arstechnica.com/reviews/os/mac osx-10-3.ars. Retrieved 2008-05-31.
  15. ^ Siracusa, John (April 28, 2005). "Mac OS X 10.4 Tiger". Ars Technica. http://arstechnica.com/reviews/os/mac osx-10-4.ars. Retrieved 2008-05-30.
  16. ^ Siracusa, John (October 28, 2007). "Mac OS X 10.5 Leopard: the Ars Technica review". Ars Technica. http://arstechnica.com/reviews/os/mac -os-x-10-5.ars. Retrieved 2008-05-30.
  17. ^ Siracusa, John (August 31, 2009). "Mac OS X 10.6 Snow Leopard: the Ars Technica review". Ars Technica. http://arstechnica.com/apple/reviews/ 2009/08/mac-os-x-10-6.ars. Retrieved 2009-11-29.
  18. ^ As found on a jailbroken iPhone 4S
  19. ^ Prabhakar, Ernie (November 9, 2001). "Darwin Version - New Scheme in Software Update 1". darwin-development mailing list. http://lists.apple.com/archives/darwi n-development/2001/Nov/msg00189.html. Retrieved 2008-06-02.
  20. ^ "OpenDarwin". OpenDarwin Project. Archived from the original on 2006-01-06. http://web.archive.org/web/2006010609 2328/http://www.opendarwin.org/.
  21. ^ OpenDarwin Core Team and Administrators (July 25, 2006). "OpenDarwin Shutting Down". OpenDarwin Project. Archived from the original on 2006-08-04. http://web.archive.org/web/2006080410 4416/http://opendarwin.org/.
  22. ^ "PureDarwin Download Page". http://www.puredarwin.org/downloads.
  23. ^ "Security Enhanced Darwin". SEDarwin. 2007-01-22. Archived from the original on 2011-10-05. http://web.archive.org/web/2011100517 4023/http://www.sedarwin.org/.
  24. ^ "What's New In Mac OS X: Mac OS X v10.5". Mac OS X Reference Library. Apple Inc. 2009-11-13. Archived from the original on 2009-12-08. http://web.archive.org/web/2009120823 3045/http://developer.apple.com/Mac/l ibrary/releasenotes/MacOSX/WhatsNewIn OSX/Articles/MacOSX10_5.html.
  25. ^ "http://www.ertos.nicta.com.au/softwa re/darbat/home.pml | ERTOS | NICTA". Ertos.nicta.com.au. 2007-05-09. http://www.ertos.nicta.com.au/softwar e/darbat/. Retrieved 2010-07-12.
  26. ^ yuriwho (2002-05-05). "WirelessDriver Home Page". Wirelessdriver.sourceforge.net. http://wirelessdriver.sourceforge.net /. Retrieved 2010-07-12.
  27. ^ "iwi2200 Darwin". SourceForge. 2009-03-27. http://sourceforge.net/projects/iwi22 00. Retrieved 2010-06-13.
  28. ^ "Port BSD tulip driver(s) to Darwin OS | Download Port BSD tulip driver(s) to Darwin OS software for free at". Sourceforge.net. http://sourceforge.net/projects/darwi n-tulip/. Retrieved 2010-07-12.
  29. ^ "RealTek network driver for MacOSX/Darwin". SourceForge. 2006-03-15. http://sourceforge.net/projects/darwi n-rtl8139. Retrieved 2010-06-03. Project inactive since 2006-03-15.
  30. ^ fansui, et al. (2007-08-01). "RTL8150LMEthernet". SourceForge. http://sourceforge.net/projects/rtl81 50lm. Retrieved 2010-06-13.
  31. ^ "ZyXEL Modem Drivers for OS X/Darwin | Download ZyXEL Modem Drivers for OS X/Darwin software for free at". Sourceforge.net. 2002-05-14. http://sourceforge.net/projects/darwi nmodems. Retrieved 2010-07-12.
  32. ^ "Mac OS X PC Card ATA Driver". Pccardata.sourceforge.net. 2001-12-20. http://pccardata.sourceforge.net/. Retrieved 2010-07-12.
  33. ^ "Mac OS X Ext2 Filesystem | Download Mac OS X Ext2 Filesystem software for free at". Sourceforge.net. 2002-10-14. http://sourceforge.net/projects/ext2f sx/. Retrieved 2010-07-12.
  34. ^ "ext2 filesystem in user space". SourceForge. 2008-07-14. http://sourceforge.net/projects/ext2f use. Retrieved 2010-06-13.

External links

(Sebelumnya) Dartmouth CollegeDashcode (Berikutnya)