kernelthread.com

© Amit Singh. All Rights Reserved. Written in February 2004


Strategies

The first release of Mac OS after NeXT's purchase was 7.6. The version originally meant to be released as 7.7 became Mac OS 8.0.

Mac OS 8 and 9

Mac OS 8.x
Mac OS 8

Over the years, some important features that were either invented or improved for Copland were added to Mac OS 8.x/9.x as originally intended, such as:

Mac OS 8 had a multi-threaded Finder that allowed several file-oriented operations simultaneously, contextual menus activated by a control-click, personal web hosting, and important enhancements to power-management, USB, and FireWire. Microsoft Internet Explorer and Netscape Navigator were also bundled. Apple's implementation of the Java runtime environment, the Macintosh Runtime for Java (MRJ), was part of the system. Version 8.5 was PowerPC only. The nanokernel was overhauled in 8.6 to integrate multi-tasking and multi-processing. It included a preemption-safe memory allocator. The multiprocessor API library could now run with virtual memory enabled.

Mac OS 9.x
Mac OS 9

Mac OS 9 came out in 1999, and was hailed by Apple as the "best Internet operating system ever". It was the first Mac OS version that could be updated over the Internet. It included useful security features such as file encryption and the "Keychain" mechanism for storing passwords. It could also use the AppleTalk protocol over TCP/IP.

An important part of Mac OS 9 was a mature installation of the Carbon APIs, which at the time represented about 70 percent of the legacy Mac OS APIs, and provided compatibility with Mac OS 8.1 and later.

The last release of this "old" Mac OS (later referred to as "Classic") was 9.2.2, released in late 2001.

Rhapsody

Rhapsody was first demonstrated at the 1997 World Wide Developers Conference (WWDC). It was based on OPENSTEP, and consisted of the following primary components:

Rhapsody
Rhapsody

There were plans to port most of the Mac OS frameworks to Rhapsody: QuickTime, QuickDraw 3D, QuickDraw GX, ColorSync, etc. Rhapsody was also to support a number of file systems such as Apple Filing Protocol (AFP), FAT, HFS, HFS+, ISO9660, and UFS.

There were two developer releases of Rhapsody, dubbed DR1 and DR2. These were released both for the PowerPC and x86 platforms.

Blue Box

Apple extended the PowerPC DR1 with a Mac OS compatibility environment called Blue Box shortly afterwards. Implemented by a Rhapsody application (MacOS.app), Blue Box was a virtual environment that appeared as a new Macintosh hardware model. The application loaded a Macintosh ROM file from disk, and Mac OS was run mostly unchanged within this environment. Blue Box initially ran Mac OS 8.x, full-screen, with the ability to switch between Rhapsody and Mac OS. It could only support applications that did not access the hardware directly, did not use internal undocumented Mac OS APIs, etc. Support for newer versions of Mac OS, as well as for running the Blue Box windowed, was added later.

Yellow Box
Yellow Box (Windows)
Yellow Box (Windows)

Rhapsody's development platform was called the Yellow Box. It was hosted on Rhapsody for Power Macintosh, Rhapsody for x86, and was also available independently for Microsoft Windows.

Yellow Box included most of OPENSTEP's integrated frameworks (shared object libraries), augmented by a run-time and development environment. There were three core object frameworks, with APIs available in Objective-C and Java:

Yellow Box included Project Builder, an integrated development environment (IDE) and Interface Builder, a visual graphical interface creation tool. The Windows NT implementation of Yellow Box provided the same environment, through a combination of Apple provided Windows system services (machd, the Mach emulation daemon, and nmserver, the Netname Server) and application programs (WindowServer and pbs, the pasteboard server). Earlier implementations of the OpenStep API for other platforms (such as Solaris) used a similar architecture.

<<< What NeXT? The Mach Factor main Towards Mac OS X >>>