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
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 Extended (HFS+) file system
- A search engine that could search on local drives, network servers, and the Internet (released as Sherlock)
- Copland API (evolved into Carbon gradually)
- The Platinum-look user interface
- Multiple users with their own preferences
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 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 was first demonstrated at the 1997 World Wide Developers Conference (WWDC). It was based on OPENSTEP, and consisted of the following primary components:
- A kernel and related subsystems based on Mach and BSD
- An extended OpenStep API implementation, called the Yellow Box
- A Java virtual machine
- A Mac OS compatibility subsystem called the Blue Box
- A Mac OS like user-interface, with some features from OPENSTEP
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.
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.
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:
- Foundation: a collection of "base" classes providing APIs for allocating, deallocating, examining, storing, notifying, and distributing objects.
- Application Kit: a set of APIs for creating user-interfaces, managing and processing events, and using services such as color and font management, printing, cut-and-paste, text-manipulation, etc.
- Display PostScript: a set of APIs for drawing in PostScript, compositing images, etc. It could also be considered as a part of Application Kit.
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 (
pbs, the pasteboard server). Earlier implementations of the OpenStep API for other platforms (such as Solaris) used a similar architecture.