etrowerks, "With Rhapsody, Apple now has an industrial-strength OS for server and Internet applications, an easy-to-use OS for consumer desktops with System 7, and a fantastic user interface to span both."
Getting to Rhapsody without jeopardizing the existing Mac OS software base requires Apple to pursue a two-pronged OS strategy. First, the existing System 7.x Mac OS will be supported and improved, which ensures software compatibility for Mac OS applications for the short term (several years, actually). During this time, OpenStep will be migrated to PowerPC hardware, both the Power Mac and the PowerPC platform (aka CHRP, the Common Hardware Reference Platform). A mid- to late-'97 developer relea
se will probably be little more than an OpenStep port that lets a Mac boot into either OpenStep or Mac OS, but it will let developers begin writing to the OpenStep 4.1 API. A "Premier" release, currently slated for delivery in approximately January of next year, will feature an OpenStep user interface tailored to provide the Mac's look and feel.
The Premier release will also provide limited Mac application support through a "blue box." The blue box is an OpenStep process. It hosts a compatibility environment that will consist of a single preemptive thread that executes the Mac OS and Mac applications. It also uses a single contiguous memory space, as required by the current Mac OS architecture.
The blue box is not a virtual machine or an emulator: All the PowerPC-based Mac OS and Toolbox code executes natively, and low-level system calls are redirected to the appropriate kernel services. This means that Mac OS applications still execute cooperatively and that low-level OS services (such as the Fil
e Manager) composed of 680x0 code must execute in an emulator.
OpenStep applications execute in a "yellow box" as processes with full access to preemptive tasking, multithreading, and memory protection (
see the figure
). By mid-1998, a "Unified" release of Rhapsody will provide seamless support for both Mac OS and OpenStep applications, Apple says.
A big advantage of Rhapsody is the OpenStep framework, a set of object-oriented libraries. Both the framework and the kernel have been field-tested over several years and so provide a stable foundation upon which to build Rhapsody, which is crucial for producing a reliable OS within Apple's own aggressive schedule. OpenStep is also well known for its application framework, which allows custom business-critical applications to be designed rapidly, a valuable feature for enterprise computing. The devil is in the implementation details, but the Rhapsody scheme breaks the job into independent, manageable projects.
Porting OpenStep
shouldn't be difficult: The job has been done several times before: The OS has been ported to Intel, HP PA-RISC, and SPARC processors. The frameworks have been ported to Solaris (on SPARC processors) and Windows NT (on x86 processors). Technology that will provide the basis for the blue box has been done already: The Macintosh Application Environment (MAE) is software that hosts Mac OS 7.5.3 inside an X window on workstations running Solaris 2.5 or HP-UX 9.05. According to Jim Gable, vice president of marketing for Applesoft: "We've already got many of the MAE engineers working on the Rhapsody blue box." While the goal is to have Mac OS application windows appear indistinguishable from OpenStep application windows on the Unified release, it's likely that for initial releases of the blue box implementation the Mac OS will live in an OpenStep window, similar to MAE. Modifying OpenStep to inherit the Mac's look and feel shouldn't be difficult since the UI objects are decoupled from the rest of the class librari
es. According to Fredric Bonnard, product manager for OpenStep, "Moving to Rhapsody shouldn't be difficult. The major issues will be integrating the Mac technologies with OpenStep and the trade-offs in the UI between the Mac OS and OpenStep."
Rhapsody's support for multiple development paths means that when you write a Mac OS application, you'll no longer write for a single platform. Instead, the program has the potential to be used on Unix and NT platforms. This "write once, run many" scheme is what made Apple's QuickTime the de facto standard for multimedia work, since it runs on Macs, Windows PCs, and SGI workstations. The potential for writing a program that runs on all computers -- whether Macs, NT PCs, or Unix workstations -- is perhaps Rhapsody's biggest benefit.
illustration_link (36 Kbytes)
