History of Mac OS X

From Wikipedia, the free encyclopedia

Mac OS X is the newest of Apple Computer's Mac OS line of operating systems. Although it is officially designated as simply "version 10" of the Mac OS, it has a history largely independent of the earlier Mac OS releases.

Contents

[edit] Development outside of Apple

A screenshot of the NeXTSTEP OS.
A screenshot of the NeXTSTEP OS.

After Apple removed Steve Jobs from management in 1985, he left the company and attempted — with funding from Ross Perot and his own pockets — to create the "next big thing": the result was NeXT. NeXT hardware was advanced for its time, being the first workstation to include a DSP and a high-capacity optical disc drive, but it had several quirks and design problems and was expensive compared to the rapidly commoditizing workstation market. The hardware was phased out in 1993. However, the company's object-oriented operating system NeXTSTEP had a more lasting legacy.

NeXTSTEP was based on the Mach kernel and BSD, an implementation of Unix dating back to the 1970s. Perhaps more remarkably, it featured an object-oriented programming framework based on the Objective-C language. This environment is known today in the Mac world as Cocoa. It also supported the innovative Enterprise Objects Framework database access layer and WebObjects application server development environment, among other notable features.

All but abandoning the idea of an operating system, NeXT managed to maintain a business selling WebObjects and consulting services, but was never a commercial success. NeXTSTEP underwent an evolution into OPENSTEP which separated the object layers from the operating system below, allowing it to run with less modification on other platforms. OPENSTEP was, for a short time, adopted by Sun Microsystems. However, by this point, a number of other companies — notably Apple, IBM, Microsoft, and even Sun itself — were claiming they would soon be releasing similar object-oriented operating systems and development tools of their own. (Some of these efforts, such as Taligent, did not fully come to fruition; others, like Java, gained widespread adoption.)

Following an announcement on December 20, 1996,[1] on February 4, 1997 Apple Computer acquired NeXT for $427 million, and used OPENSTEP as the basis for Mac OS X.[2] Traces of the NeXT software heritage can still be seen in Mac OS X. For example, in the Cocoa development environment, the Objective-C library classes have "NS" prefixes, and the HISTORY section of the manual page for the defaults command in Mac OS X straightforwardly states that the command "First appeared in NeXTStep."

[edit] Internal development

A screenshot of the Rhapsody OS.
A screenshot of the Rhapsody OS.

Meanwhile, Apple was facing commercial difficulties of its own. The decade-old Mac OS had reached the limits of its single-user, co-operative multitasking architecture, and its once-innovative user interface was looking increasingly "dated." A massive development effort to replace it, known as Copland, was started in 1994, but was generally perceived outside of Apple to be a hopeless case due to political infighting. By 1996 Copland was nowhere near ready for release, and the project was eventually cancelled. Some elements of Copland were incorporated into Mac OS 8, released on July 26, 1997.

After considering the purchase of BeOS — a multimedia-enabled, multi-tasking OS designed for hardware similar to Apple's — the company decided instead to acquire NeXT and use OPENSTEP as the basis for their new OS. Avie Tevanian took over OS development, and Steve Jobs was brought on as a consultant. At first, the plan was to develop a new operating system based almost entirely on an updated version of OpenStep, with an emulator — known as the Blue Box — for running "classic" Macintosh applications. The result was known by the code name Rhapsody, slated for release in late 1998.

Apple expected that developers would port their software to the considerably more powerful OpenStep libraries once they learned of its power and flexibility. Instead, several major developers such as Adobe told Apple that this would never occur, and that they would rather leave the platform entirely. This "rejection" of Apple's plan was largely the result of a string of previous broken promises from Apple; after watching one "next OS" after another disappear and Apple's market share dwindle, developers were not interested in doing much work on the platform at all, let alone a re-write.

[edit] Changed direction under Jobs

Apple's financial losses continued, and the board of directors lost confidence in CEO Gil Amelio, and asked him to resign. The board convinced Jobs to lead the company on an interim basis. Jobs was, in essence, given carte blanche by the Apple board to return the company to profitability. When Jobs announced at the World Wide Developer's Conference that what developers really wanted was a modern version of the Mac OS, and Apple was going to deliver it, he was met with thunderous applause. Over the next two years, major effort was applied to porting the original Macintosh APIs to Unix libraries known as Carbon. Mac OS applications could be ported to Carbon without the need for a complete re-write, while still making them full citizens of the new operating system. Meanwhile, applications written using the older toolkits would be supported using the "Classic" Mac OS 9 environment. Included support for C, C++, Objective-C, Java, and Python furthered developer comfort.

During this time, the lower layers of the operating system (the Mach kernel and the BSD layers on top of it) were re-packaged and released under an open source license. They became known as Darwin. The Darwin kernel provides an extremely stable and flexible operating system, which rivals many other Unix implementations, and takes advantage of the contributions of programmers and independent open-source projects outside of Apple; however, it sees little use outside the Macintosh community. During this period, the Java programming language had increased in popularity, and an effort was started to improve Mac Java support. This consisted of porting a high-speed Java virtual machine to the platform, and exposing OS X-specific "Cocoa" APIs to the Java language.

While the first release of the new OS — Mac OS X Server 1.0 — used a modified version of the Mac OS GUI, all versions following used a new theme known as Aqua. Aqua was a fairly radical departure from the Mac OS 9 interface, which was an evolution of the original Macintosh Finder. Aqua incorporated full color scalable graphics, anti-aliasing of text and graphics, simulated shading and highlights, transparency and shadows, and animation. A key new feature was the Dock, an application launcher which took full advantage of these capabilities. Despite this, Mac OS X maintained a substantial degree of compatibility with the traditional Mac OS interface and Apple's own Apple Human Interface Guidelines, with its pull-down menu at the top of the screen, familiar keyboard shortcuts, and support for a single-button mouse.

The development of Aqua was delayed somewhat by the switch from OpenStep's Display PostScript engine to one that was license free, known as Quartz.

[edit] Release timeline

Mac OS X 10.4 "Tiger", the current version of Mac OS X.
Mac OS X 10.4 "Tiger", the current version of Mac OS X.

Apple released Mac OS X Server 1.0 in January, 1999. A public beta of Mac OS X was released in the year 2000, and March 24, 2001, saw the full and official release of Mac OS X version 10.0. Version 10.1 shipped on September 25, 2001, followed by the August 24, 2002, release of Mac OS X 10.2 "Jaguar"; the October 24, 2003, release of Mac OS X 10.3 "Panther"; and the April 29, 2005, release of Mac OS X 10.4 "Tiger".

[edit] See also

[edit] Notes

  1. ^ Apple Computer, Inc.. Apple Computer, Inc. Agrees to Acquire NeXT Software Inc.. Press release.
  2. ^ Linzmayer, Owen W. (1999). Apple Confidential: The Real Story of Apple Computer, Inc. 

[edit] External links

History of the Apple Macintosh Operating Systems
Classic Mac OS (History): System 6 · System 7 · Mac OS 8 · Mac OS 9
Mac OS X (History): Public Beta · v10.0 · v10.1 · v10.2 · v10.3 · v10.4 · v10.5
Mac OS X Server: Rhapsody · Mac OS X Server 1.0 · Mac OS X Server
Other OS projects: A/UX · Taligent · Copland · MkLinux · Darwin
In other languages