Darwin MAC OS
- The MAC OS kernel is an Open Source project.
- The kernel, along with other core parts of OS collectively referred to as Darwin.
- Darwin is a complete operating system based on many of the same technologies that underlie MAC OS.
- However, Darwin does not include Apple’s proprietary graphics or applications layers, such as Quartz, QuickTime, Cocoa, Carbon, or OpenGL.
- The Figure shows the relationship between Darwin and OS X.
- Both build upon the same kernel, but OS adds Core Services, Application Services, and QuickTime, as well as the Classic, Carbon, Cocoa, and Java (JDK) application environments.
- Both Darwin and MAC OS include the BSD command-line application environment; however, use of the environment not required, and thus it is hidden from the user unless they choose to access it.
- Darwin technology is based on BSD, Mach 3.0, and Apple technologies.
- Best of all, Darwin technology is Open Source technology, which means that developers have full access to the source code.
- In effect, MAC OS third-party developers can be part of the Darwin core system software development team.
- Developers can also see how Apple is doing things in the core operating system. And adopt the code to use within their own products.
- Because the same software forms the core of both MAC OS and Darwin, developers can create low-level software that runs on both MAC OS and Darwin with few, if any, changes.
The only difference is likely to be in the way the software interacts with the application environment.
- Darwin is based on proven technology from many sources. A large portion of this technology derived from FreeBSD, a version of 4.4BSD that offers advanced networking, performance, security, and compatibility features.
- The core technologies have chosen for several reasons.
- Mach provides a clean set of abstractions for dealing with memory management, interprocess (and interprocessor) communication (IPC), and other low-level operating system functions.
- In today’s rapidly changing hardware environment. This provides a useful layer of insulation between the operating system and the underlying hardware.
- BSD is a carefully engineered, mature operating system with many capabilities.
- In fact, most of today’s commercial UNIX and UNIX-like operating systems contain a great deal of BSD code.
- BSD also provides a set of industry-standard APIs.
- New technologies, such as the I/O Kit and Network Kernel Extensions (NKEs), have designed and engineered by Apple to take advantage of advanced capabilities, such as those provided by an object-oriented programming model.
- MAC OS combines these new technologies with time-tested industry standards to create an operating system that is stable, reliable, flexible, and extensible.