Introduction

When we last left Mac OS X, it had reachedthe second developer preview release. Thecore technologiesandAPIswere all present, but theGUIremained troublingly unfinished. At the recent MacWorld Expo in San Francisco (MWSF), Steve Jobs revealed in his keynote address that the Mac OS X DP2 GUI is not so much “unfinished” as it is wholly unrelated to the GUI that will ship with the OS–a place-holder, if you will. TheactualMac OS X GUI was briefly demonstrated during the keynote, and it is a radical departure from traditional Mac OS.

This article will review Jobs’s Mac OS X GUI demonstration and explain the underlying technology that makes it possible, emphasizing what is so new and different about it, and what it means for Mac users and PC users alike. Before we start, let’s briefly review Apple’s latest marketing angle on the Mac OS X core.

Core OS: The Latest Picture

Before demonstrating the GUI, Jobs reviewed the Mac OS X architecture. The culmination of this review was yet another high-level block diagram of the OS:


Mac OS X Architecture

Nothing has really changed since Mac OS X was first announced over a year ago, but the naming, emphasis, and ordering of the blocks has been altered to suit Apple’s marketing goals. For example, the bottom-level block is now labeled “Darwin.” Darwin is Apple’s name for the open source distribution of the Mac OS X kernel. In previous diagrams, the bottom-level block was simply labeled “Mach.” It’s still Mach, of course, but the Darwin project also encompasses the BSD API layer–something that was previously shown as a separate blockaboveMach and alongside the other APIs like Carbon and Cocoa.

These cosmetic changes say a few things. First, they emphasizes the fact that Darwin is to be synchronized with Mac OS X. The current Darwin release available at Apple’s web site is somewhat behind Mac OS X’s internal development, but Darwin will be updated when Mac OS X ships to be exactly identical to the kernel in the commercial release. This was announced long ago at an Apple World Wide Developer Conference (WWDC), but it was not emphasized to the general public. Consequently, many developers have looked at the Darwin project as a sort of academic exercise, or as open source political posturing by Apple. Now it’s clear that it’s in developers’ best interests to pay attention to Darwin. Even if they don’t make direct contributions to the source code, just having the code on hand as a reference is a great aid to development (especially when contrasted with the classic Mac OS development experience, where many OS features were obscure “black boxes” with spotty documentation).