kernelthread.com

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


Quest for the Operating System

Windows NT 3.1
Windows NT 3.1

Microsoft's Windows 3.x had been extremely successful since its release in 1990. Their new generation system code-named "Chicago", initially intended for a 1993 release, kept slipping and would be eventually released as Windows 95. Microsoft did, however, release Windows NT in 1993. It was an advanced operating system meant for high-end client/server applications. NT included the Win32 API, and had various important features such as a preemptive scheduler, integrated networking, subsystems for OS/2 and POSIX, virtual machines for DOS and 16-bit Windows, SMP support and a new file system called NTFS.

Apple needed an answer to Microsoft's onslaught, particularly in the face of the upcoming Windows 95.

The Pink and the Red projects would turn out to be rather unsuccessful. A number of attempts would be made to solve the "OS problem" one way or the other.

Star Trek

This was a bold effort, run jointly with Novell, to port Mac OS to run on x86 processors. A team consisting of engineers from both Apple and Novell actually succeeded in creating a very reasonable prototype in an incredibly short amount of time. The project was cancelled, however, for various reasons: Apple had already committed to the PowerPC, some people thought it would disrupt Apple's existing business model, vendor feedback was not encouraging, etc.

Many years later, Darwin, the core of Apple's much more successful Mac OS X, would run on both the PowerPC and the x86. While the Star Trek prototype showed the "Happy Mac" logo while booting up, the SystemStarter application in Darwin/x86 would say "Welcome to Macintosh".

Raptor

Raptor was in many respects the Red project. It was meant to run on any architecture, and was supposed to provide Apple with a next-generation microkernel. As the Star Trek project was being cancelled, it was considered for absorption by Raptor, which itself would die due to budgetary limitations, employee attrition, and various other reasons.

NuKernel

This was the name of a kernel project at Apple that was meant to result in a modern kernel on more than one occasion.

TalOS

Taligent was a company formed by Apple and IBM in early 1992 to continue work on the Pink project. Pink originally aimed to be an object-oriented operating system, but later morphed into an object-oriented environment called CommonPoint that ran on many modern operating systems, such as AIX, HP-UX, OS/2, and Windows 95/NT. It was also supposed to run on Apple's NuKernel. Taligent Object Services (TalOS) was the name given to a set of lower-level technologies that would be built around Mach 3.0. TalOS was meant to be an extensible, portable operating system, with a small footprint and good performance.

TalOS was object-oriented from the kernel up, with even device drivers, network protocols etc. implemented in this fashion. Taligent's object-oriented building blocks were known as frameworks. There were frameworks for user interface, text, documents, graphics, multimedia, fonts, printing, and low-level services (drivers, network protocols). These, along with the provided development tools explicitly strived to shift the burden of programming from application developers to application system engineers.

Note that even though other systems at that time (like NEXTSTEP) had object-oriented application frameworks, Taligent aimed to be better by building its entire programming model around objects. In NEXTSTEP, the developers who created frameworks had to map object behavior to the underlying libraries, Unix system calls, or Display PostScript, all of which were procedural. In fact, CommonPoint applications were not meant to use the host OS API at all.

In 1995, Taligent became a wholly owned subsidiary of IBM. The Pink project did not give Apple the next-generation OS it sought.

Copland

Apple made an announcement in early 1994 that they would channel more than a decade of experience into the next major release of their operating system, Mac OS 8. It was code-named Copland. Apple had already started work on Copland a few months before, and it was expected that Copland would be Apple's real response to Windows. Apple hoped to achieve several goals, many of them long elusive, with this project:

In order to achieve these goals, Copland was supposed to have system features such as:

Work on Copland picked up speed at the beginning of the 1990s, and by mid-1990s, Copland was heavily counted on by everybody to do wonders for Apple. However, the project kept slipping. A few Driver Development Kit (DDK) releases, essentially prototypes, went out, but a 1996 release (as planned and hoped) did not seem feasible. Due to various pressures, full memory protection had not been included after all. Apple's then CEO Gil Amelio described the state of Copland as "... just a collection of separate pieces, each being worked on by a different team ... that were expected to magically come together somehow ..."

Apple finally decided to cancel Copland in May 1996. Amelio announced that Copland's best pieces would be shipped with future releases of their existing system, beginning with the upcoming System 7.6, whose name was formally changed to Mac OS 7.6.

Gershwin

After the Copland debacle, Apple's need for a new operating system was more dire than ever. Focus shifted briefly to the "effort" named Gershwin, which was to include the painfully elusive memory protection, among other things. However, it was apparently nothing more than a code-name, and it is believed that nobody ever worked on Gershwin.

BeOS

Apple briefly considered partnering with Microsoft to create an Apple OS based on Windows NT. They also considered Solaris from Sun Microsystems, and BeOS from Be. The acquisition of Be actually came close to materializing. Be had been founded by Jean-Louis Gassée, Apple's ex-head of Product Development, and its capable engineering team had created an impressive operating system. It had memory protection (!), preemptive multi-tasking, symmetric multi-processing, and it even ran on the PowerPC (later ported to the x86), thus fitting with Apple's hardware agenda. BeOS was designed to be very good at handling multimedia. It even had a meta-data rich file system, allowing for files to be accessed via numerous attributes. However, BeOS was an unfinished, unproven product. For example, it did not have support for file sharing or printing. Not many applications had been written for it.

Apple I
BeOS

Gassée was rather confident that Apple would buy Be, and he wanted over $500 million. The total investment in Be at that time was estimated to be only $20 million, and Apple valued Be at about $50 million. Apple negotiated up to $125 million, and Be negotiated down to $300 million. When things still did not work out, Apple offered $200 million, and even though it is rumored that Gassée was actually willing to accept this offer, it is also believed that he came back with a "final price" of $275 million, hoping Apple would bite the bullet. The deal did not happen.

There was another contender alongside Be: NeXT, whose operating systems had at least been proven in the market, unlike BeOS. Despite NeXT not having any resounding successes, OPENSTEP was well received in the enterprise market. Steve Jobs pitched NeXT's technology very strongly to Apple, and asserted that OPENSTEP was many years ahead of the market.

Plan A

The deal with NeXT did work out. Apple acquired them in February 1997 for over $400 million. Amelio later quipped that "We choose plan A instead of Plan Be".

The next section discusses the background of NeXT's systems.

<<< Seeking Power main The NeXT Chapter >>>