Mac OS X, a layer cake of software modules, is not really new. Its lineage extends back to over 30 years ago, to a time when Big Iron dominated computing and AT&T needed software to run their public switched network, the phone system. Since that time, Unix has grown into the dominant enterprise operating system. It also became the brains that made, and continues to make, the Internet possible.
The foundation of OS X is Unix or, more precisely, Darwin. Darwin is somewhat akin to the current Mac’s System suitcase, the fundamental bit on which everything else is built. Because it’s based on a Mach 3 microkernel developed at Carnegie-Mellon and UC Berkeley’s Standard Distribution Unix 4.4, Darwin provides all of the stuff one would expect from today’s Unix: full pre-emptive multitasking, advanced virtual memory and complete memory protection with modern networking services. Because Darwin is open-source, improvements and fixes are rapidly accomplished by a collective of international zealots, not anesthetized worker bees. That work is examined by Apple, and the juicy bits are incorporated back into the next version of their commercial product. Also, savvy end-users can tweeze the code to their liking, something you can’t do with proprietary operating systems.
Sitting on Darwin are three presentation engines: Quartz, OpenGL and QuickTime, handling 2-D, 3-D and motion/rich media, respectively. Quartz, the 2-D graphics engine, is based on Adobe’s PDF, the Portable Document Format. It provides anti-aliased, on-the-fly rendering with transparency and masking. This means that the OS itself can read, generate and write PDFs. Three-dimensional chores are dealt with by OpenGL, the industry standard developed by Silicon Graphics.
The third presentation service is QuickTime, playing on its superior quality and rich media support for audio, video, sprites and text tracks. QuickTime holds the number two spot in end-user adoption, with Real ahead and Windows Media Framework behind. After many, many months of requests, Apple still hasn’t gotten back to me about OS X developments for MIDI, synchronization and multichannel I/O, so I’ll have to defer discussion until Apple PR opens the corporate kimono a bit. But QuickTime 5, now in beta, adds support for Flash 4, DLS-2, SHOUTcast and the Sorenson Video 3 codec.
The next-to-the-top layer in the OS X torte provides three APIs (Application Programming Interfaces) for high-level development, Classic, Carbon and Cocoa. Classic allows old-school MacOS applications to stretch their legs. Carbon is a collection of modernized OS 9 APIs, the mechanism by which propeller heads create applications. Carbon-compliant apps will run under OS 9 or X. Cocoa is the most advanced and powerful development environment. In Apple’s words, Cocoa is a “next-generation, object-oriented application framework, accessible from Objective-C or Java.” That translates into developer productivity, consistency and maintainability, all important if you’re building the next generation of audio applications. Also tucked in there somewhere are the networking bits and welcome additions like Java 2.
The icing on the cake is Aqua, a user interface hybrid drawn from many influences and a thing of beauty. Because most desktop users are unlikely to open a shell or command line interface and interact with the kernel directly, Aqua is where most of us will spend our time.