Mac OS X
From TheLinuxVault
Mac OS X is Apple Inc.'s premiere operating system. It is based on Darwin, a Unix-like OS, and is used on many of the company's products, including the Mac (formerly Macintosh) desktop line, the XServe server line, the iPhone and iPod Touch, and Apple TV. Many applications that were initially created for Linux/X11 systems have been ported to Mac OS X via OS X's Darwin and X11 APIs; however, Apple's current X11 layer is based on XFree86, a free implementation of X11 that lags far behind the much more frequently developed X.Org Server, and the X11-based ports to the Mac are generally regarded as less aesthetically pleasing than Mac-native applications which use Apple's proprietary Cocoa interface. As a result, numerous X11-based applications have been forked and redeveloped using Cocoa:
- Mozilla Firefox was forked into Camino.
- Mozilla Thunderbird was forked into Correo.
- OpenOffice.org was forked into NeoOffice.
- GIMP was forked into Seashore.
- ad infinitum...
Apple has had a history of interacting with free desktop development communities.
- In 2001, Darwin was open-sourced under the Apple Public Source License;
- in 2002, Apple contacted the KDE project to announce their intention to use and improve a number of their web rendering technologies (KHTML, KJS, etc.) for their Safari web browser and their WebKit framework.
- in 2005, Apple announced that they were open-sourcing their entire WebKit framework, even though the developers were already contributing their changes back to the KDE project.
Also, Apple will replace their XFree86-based X11.app with one based on X.Org for the next version of Mac OS X, 10.5 (also known as Leopard).
Contents |
[edit] Aqua
Mac OS X's Aqua user interface, first used in Mac OS X Public Beta (2000), was originally based on the user interface of NeXT Computer's NEXTSTEP operating system, itself a Unix-like system for workstations. NEXTSTEP used a number of boundary-pushing user interface features:
- an Adobe PostScript-compatible windowing system, known as Display PostScript.
- a Dock, primarily used for application launching
- native courting of the Objective-C programming language
Apple bought NeXT in 1997 in order to replace their increasingly unpopular Mac OS with a modern, multitasking OS of NEXTSTEP's caliber. Along with it they brought back Steve Jobs, a co-founder of the company who had originally pushed for the Macintosh line (1984) but had been sidelined by the company's CEO; this time, he came back as the interim CEO of Apple, and was determined to give a modern desktop operating system to the Macintosh desktop line. As a result, Mac OS X (10.1), a redesigned spinoff of NEXTSTEP, was released in 2001.
This new operating system, while based on NEXTSTEP, featured several groundbreaking user interface features of its own:
- while NeXT had licensed from Adobe to use their proprietary PostScript for the windowing system, Apple decided to reverse-engineer their own implementation of Adobe's Portable Document Format without paying any royalties to Adobe. PDF became the native metafile format for Mac OS X's Aqua interface, and PDFs can be viewed easily using Apple's Preview application.
- Apple used its own proprietary Quartz Compositor, which is a 3D compositing window manager, and Quartz 2D, its own 2D graphics library. Together, the two libraries are known as Core Graphics or simply Quartz.
- unlike NEXTSTEP's Dock, the Aqua dock was used for both window navigation and application launching, with dynamic features for minimizing and maximizing windows, amde possible due to Apple's own implementation of OpenGL.
- Apple's proprietary QuickTime multimedia framework was updated (only in 2005) to take full advantage of the enhanced technologies in Mac OS X.
NEXTSTEP's Bundles framework was also incorporated into Mac OS X. It was NEXTSTEP's own answer to RiscOS's Application Directory framework.
[edit] Cocoa
Like NEXTSTEP, Mac OS X natively supports Objective-C, and most applications on Mac OS X are coded in the language. Objective-C-coded applications on Mac OS X usually incorporate Mac OS X's user interface and windowing features, and are programmed using Apple's in-house IDEs - Xcode and Interface Builder. They also use two proprietary widget toolkits for interface rendering - Application Kit and Foundation Kit. Cocoa-native frameworks for other languages, such as Perl, Python, Ruby, and C#, exist, but are supported by third-party vendors. Java is supported natively, but in a reduced level as of 10.4; Mac OS X uses its own proprietary Java VM, which interacts better with Mac OS X, but serves, more or less, as an assumed stop-gap for eventual conversion to an Objective-C-coded interface.
[edit] Hardware-accelerated Quartz
Since 10.4, Mac OS X has had the option of a hardware-accelerated user interface in the form of Quartz Extreme and Quartz 2D Extreme. These allow for the devoting of graphically-intensive user interface features to graphic cards (especially those from ATI and Nvidia), allowing for computing space on the CPU.
[edit] Influence
Mac OS X has had an undeniable influence on user interface preferences on other operating systems, including X11-based Unix-like systems and Microsoft Windows. See List of FOSS alternatives to Mac OS X utilities.
- Mac OS X
- What is Mac OS X? (kernelthread.com) — An overview of the Mac OS X operating system.
- Mac OS X (arstechnica.com) — Comprehensive reviews of Mac OS X (all versions).
- Secunia advisory list — Security vulnerabilities, including both patched and unpatched vulnerabilities.

