Home >> Computers >> Software >> Operating Systems >> Unix >> BSD >> Darwin


  Mac OS X Development
  Mac OS X
   


Darwin occurs as loose, open-source, Unix-like operating system first released by Apple Computer in 2000. These are likewise a core placed of components upon which Mac OS X is built.

Inside April 2002 the ISC and Apple founded OpenDarwin.org, a community to foster cooperative Darwin development. OpenDarwin creates its own releases of the Darwin OS. The notable subproject of OpenDarwin is DarwinPorts, which has the goal of assembling the next-generation collection of ports to Darwin.

the Darwin developers decided to adopt a mascot in 2000, and chose Hexley the platypus all over more challenger, like an Aqua Darwin fish, Clarus the dogcow, and an orca. Apple Computer doesn't sanction Hexley as a logotype for Darwin.

Kernel design
Rather virtually all modern kernels, Darwin's is a hybrid, containing features of each monolithic & microkernels, attempting to produce a better utilise of each technologies, like a message passing capability of microkernels enabling big portions of the OS to gain from either protected memory, when well as retaining a speed of monolithic kernels sure enough critical tasks.

the project allows numerous area of the kernel to become migrated retired into userland, whereby it is further well debugged when it is little, isolated software download, instead of existence little area entwined within a big chunk of code. a migration of pick out kernel code into userspace has a extra advantage of making a technique extra robust; in case a userspace driver crashes, it might non crash the kernel.

A kernel xnu, is derived from the total of sources, particularly Mach 3.0 & FreeBSD 5.x.

Mach
A core of the xnu kernel, Mach, will bring kernel threads, message-passing (used around inter-process communication), protected memory, virtual memory management, real-period trend lines, kernel debugging trend lines, & console I/O. A Mach component as well allows a OS to unsuspecting hosts double star for multiple distinct CPU architectures inside one file (lesson x86 & PowerPC) due to its have of the Mach-O binary format.

BSD
A BSD part of a kernel will bring the POSIX API (BSD system calls), the run model, basic security policies, user ids, permissions, a networking code, a virtual filesystem code (including a filesystem independent journalling layer), cryptologic framework, System V IPC, and a bit of of the lockup primitives.

I/O Kit
This is the device driver framework, written in the subset of C++. Due to its object-oriented design, device drivers may be written other quickly when applying less code; features park to any class of driver come provided in a framework itself. A I/O Kit is multi-threaded, SMP safe, & allows for hot pluggable gear and automatic, dynamic device configuration.

Several drivers may be written to begin from either user-space, which farther enhances a stability of the rules; in case a userspace driver crashes, it may non crash the kernel.

Protecting shared resources
Sequentially to process safely in multiprocessor machines, access to divided up resources (files, information structures etc.) must become serialized therefore that threads or even processes don't attempt to modify a equivalent resource at a equivalent period. Minute operations, spinlocks, critical sections, mutexes, and serializing tokens come a lot imaginable methods that may be utilized to stop co-occurrent access. Such as two Linux and FreeBSD 5, Darwin employs a fine-grained mutex model to achieve higher performance in multiprocessor systems.

Supported processors
Presently, Darwin diarrhea in x86 (Intel and AMD) based computers, likewise when PowerPC based machines, both lone processor & SMP models.

Development and distribution
Version management
the Darwin developers utilise a version control supervisor call instruction CVS to manage changes to the Darwin source code.

Quality control
Rather virtually all modern operating systems, Darwconstitutional employs a built-in kernel debugger to help the developers buy kernel bugs.

License

Within July 2003 Apple released Darwin under version Two.Cypher of the APSL license, which the Free Software Foundation (FSF) approved as a free software license. Last releases experienced taken place under an sooner version of a APSL that did non meet the FSF's definition of loose software system, although it met a requirements of the Open Source Definition.

Releases
The table of Darwin releases, sustaining their corresponding Mac OS X releases: [http://www.opensource.apple.com/darwinsource/] !Darwin release !Macintosh OS X release |- |Darwin One.Trio.1 |Mac OS X Decade.0 to 10.Cipher.4 |- |Darwin One.Tetrad.1 |Mac OS X Decade.1 |- |Darwin Phoebe.1 |Mac OS X X.I.1 |- |Darwin Five.2 |Mac OS X Ten.Ace.2 |- |Darwin Five.3 |Mac OS X X.Unity.3 |- |Darwin Quint.4 |Mac OS X X.Single.4 |- |Darwin Phoebe.5 |Mac OS X Tenner.Single.5 |- |Darwin Sextuplet.0 |Mac OS X X.2 |- |Darwin Sixer.1 |Mac OS X Ten.Two.1 |- |Darwin Sextet.2 |Mac OS X Decade.Ii.2 |- |Darwin Vi.3 |Mac OS X Ten.Ii.3 |- |Darwin Sixer.4 |Mac OS X X.Two.4 |- |Darwin Sextet.5 |Mac OS X Ten.Deuce.5 |- |Darwin Sestet.6 |Mac OS X Ten.Ii.6 |- |Darwin Half a dozen.7 |Mac OS X Ten.Two.7 |- |Darwin Sextuplet.8 |Mac OS X X.Ii.8 |- |Darwin Heptad.0 |Mac OS X Decade.3 |- |Darwin Vii.1 |Mac OS X Tenner.Ternion.1 |- |Darwin Heptad.2 |Mac OS X Ten.Threesome.2 |- |Darwin Heptad.3 |Mac OS X Tenner.Three.3 |- |Darwin Septenary.4 |Mac OS X Decade.Threesome.4 |- |Darwin Vii.5 |Mac OS X Tenner.Triplet.5 |- |Darwin Heptad.6 |Mac OS X Tenner.Trio.6 |- |Darwin Septenary.7 |Mac OS X Ten.Trey.7 |- |Darwin Septenary.8 |Mac OS X X.Ternion.8 |- |Darwin Seven.9 |Mac OS X X.Triplet.9 |- |Darwin Octonary.0 |Mac OS X X.4 |- |Darwin Octonary.1 |Mac OS X X.Quaternary.1 |- |Darwin Octad.2 |Mac OS X X.Quaternion.2 |} Notice that a version total jumps from either Darwin One.Quaternion.1 to Five.Ace. This was presumptively done to prove my point a NeXTSTEP versioning (which left off at NeXTSTEP Three.Triad; OpenStep is considered version 4.Cypher).

Open Software in a Commercial Operating System
A paper written by Wilfredo Sánchez, the then Open Source Engineering Lead at Apple, about the use of open source in commercial software such as Mac OS X Server.

Fink
A package manager for Darwin based on the Debian apt-get set of tools. 2900+ ports listed.

The Darwin Collection
A set of nearly 2000 open source packages ported to Darwin with a focus on scientific applications. A CD distribution is available.

XDarwin: X Windows on Darwin and Mac OS X
A general overview of the project to bring XFree86 (X11 server) to Darwin and Mac OS X as well as pointers to download and mirror sites.

HMUG Man Pages
An exhaustive list of Darwin man pages.

Hexley the Platypus
The mascot of the Darwin OS.

OpenDarwin
A fork of Darwin with the intention of making it easier to commit code and to involve the community in ways difficult with the main Apple branch.

Darwin Operating System
The official Apple Darwin home page contains the current release, full source code, modification instructions, wish list, FAQ, contributors, and links.

The Challenges of Integrating the Unix and Mac OS Environments
A paper on the design issues Apple faced when they ported the Mac OS to a semantically different Unix base (Darwin).

The GNU-Darwin Distribution
A Unix distribution which focuses on the porting of free software to Darwin and Mac OS X.


Computers: Software: Operating Systems: Microkernel: Mach
Computers: Software: Operating Systems: Unix: BSD: FreeBSD
Computers: Software: Operating Systems: Unix: BSD: NetBSD
Computers: Software: Operating Systems: Unix: BSD: OpenBSD
Computers: Software: Operating Systems: Unix: Macintosh
Computers: Software: Operating Systems: Unix: Open Source
Computers: Systems: Apple: Macintosh




© 2005 GeneralAnswers.org