Mac OS



The Apple Macintosh System Software (known as Mac OS after version 7.5) is the software that makes a Mac a Mac, more or less. Its common user-visible parts are the Finder, a file management shell; the Desktop, a metaphor for a real desktop managed by the Finder; the Apple menu, a parking spot for small mini-applications called desk accessories (arguably succeeded by the Konfabulator-like Dashboard under OS X) and, starting with System 7, shortcuts to anything you like (mostly handed over to the Dock in OS X); and the Control Panel ("System Preferences" in OS X), where various system settings are managed.

Disks and files appear on the Desktop as icons, representing what they actually look like in the case of drives (for example, a floppy disk will show up as a small picture of a 3.5" disk, and a hard disk will show up as, well, a hard disk), and representing what application created them in the case of documents. (If all of this sounds horribly trite, there's a reason for it: The Mac pretty much started it all.)

In the beginning: The Mac 128k and 512k
The first Macs had the majority of their OS stuffed into 64 kilobytes of ROM, a huge amount for the time, to help conserve the machines' tiny 128 kilobytes of system RAM. Floppy disks were the only media supported, folders weren't actually supported (the original Macintosh File System faked them using some OS trickery), and only one application could run at a time. It ran on Motorola's powerful 32-bit 68000 CPU, but between the extremely limited RAM and the 16-bit-wide data bus, it was not very fast. They sure looked cool, though. The later 512k upgrade made things less painful.

The Mac grows up: Mac Plus, II and System 5/6
Starting in 1986, the Mac got its first signs of becoming a usable PC. The Mac Plus added new, larger ROMs and a SCSI bus for hard drives and scanners. The Mac II was a workstation-class machine with full 32-bit addressing and massive expansion capabilities. All this required a new Mac OS, and the new code added things like color support and the Hierarchical File System (still in use in one form or another to this day). Later, MultiFinder made it possible to run more than one application at once, but most Mac users (especially on the Plus and its follow-on, the SE) didn't have the memory to use it well.

System 7, Pink and Taligent
Apple started a project in the late 1980s to completely revamp the Mac OS. According to legend, the "easy" ideas were written on blue index cards, and the "hard" ideas were written on pink index cards, thus fueling rumors about a new object-oriented OS called "Pink". While the details of Pink were worked out, Apple set about updating the existing Macintosh System Software with most of the ideas from the blue cards, and the result was Macintosh System Software version 7 (or System 7 for short), released in May 1991.

System 7 was a huge improvement over System 6. Fonts, extensions and drivers were much easier to manage, the Finder allowed desk accessories to run as "real" applications, and the system in general was more capable; however, this came at the cost of a lot more memory, and many older systems had trouble running it (keep in mind, System 7 was the Mac's last OS that could run in under a megabyte of RAM and disk space.)

Apple also experimented with porting the Mac OS to other architectures for the first time with the "Star Trek" project, which more-or-less successfully moved the entire OS to an IBM-compatible PC. They also entered into discussions with longtime nemesis IBM and CPU supplier Motorola on the subject of revamping the Macintosh architecture, an agreement that became the "AIM alliance". The first order of business for AIM was making "Pink" a reality, and a new company called "Taligent" was founded to manage the project. Taligent didn't last long; conflicts between Apple, IBM, and Novell (the latter two of which had managed to get several projects of their own merged into "Pink") meant that the company had no product to show for many years. Taligent never released a full OS by the time it was shuttered, and what was developed went back to IBM and was used in their VisualAge IDE products. A few of the ideas from "Pink" made it into later revisions of System 7.

Apple stumbles: System 7.5, the PowerPC, clones, OpenDoc, Copland
AIM's second task was a project to move the Mac to a RISC architecture, which culminated in the combination of Motorola's 880x0 and IBM's POWER architectures to produce the PowerPC RISC architecture. Its first appearance was in 1994 with the introduction of the Power Macintosh, a line of three new Macs running the brand new PowerPC 601 CPU. The new machines were not much different from their 680x0-based ancestors on the outside, but inside, the increases in speed the RISC architecture provided were breathtaking, especially considering that 68k code had to be emulated. Using several neat tricks, including hiding a microkernel inside the Power Mac ROM, Apple managed to make the Power Macs nearly 100% software compatible with the previous Quadra range, which in turn made porting Mac OS (which was still largely in 68k code) much easier.

The Power Macintosh also marked the beginning of another unusual chapter in Apple's history, that of the legal Macintosh clone. Almost immediately following the Power Mac's launch, Apple granted licenses for companies like Motorola and Radius to sell Mac clones, and it soon burgeoned into a substantial business. The PowerPC was received so warmly that many other companies ported their OSs to run on it, such as IBM (OS/2, AIX); Sun (Solaris); Microsoft (Windows NT); and Commodore (AmigaOS). Along with this variety of operating systems, AIM intended to produce a Common Hardware Reference Platform (CHRP) which all PowerPC computers would comply with, so that any PowerPC computer could run any PowerPC operating system, including the Mac OS (similar schemes were underway by other RISC architectures, such as Digital Equipment's AlphaPC and MIPS' RISCPC, both of which followed the Microsoft-championed "Advanced RISC Computer" specification).

Despite the high hopes for CHRP, it never gained popularity outside of Apple itself and a few machines made by IBM and Motorola as AIX workstations. The industry was already crowded with ideas that were supposed to replace the IBM Personal Computer, and the PC market was still waiting for the years-late release of what would eventually become Windows 95. That left the Mac OS-only cloning business, which was popular, but ended up cannibalizing Apple's existing customers instead of recruiting switchers from other platforms as Apple had hoped.

After Taligent's failure, Apple started yet more projects to update the Mac OS, chief among them the ambitious "Copland" project. Copland was intended to add "buzzword-compliance" (preemptive multitasking, modern virtual memory, kernel integration, etc.) to the OS, but Executive Meddling and strife in the engineering ranks meant it was never actually finished. A second try at the project, Gershwin, never got off the ground. Separate from Copland was OpenDoc, a document-centric development system and environment that developers could slice their Macintosh applications into component features with, allowing users to assemble them into full applications that could run under any OS running OpenDoc. Aside from the fact that Windows and OS/2 versions of OpenDoc (developed outside Apple) were extremely late, most developers of major bloatware packages were rather unreceptive to the idea of allowing users to buy their software piecemeal and combine it with that of their competitors, so OpenDoc died off quietly for lack of software to run.

Meanwhile, the Mac hardware was starting to outstrip the stopgap Mac OS's capabilities. Users complained about slow I/O, frequent crashes (due to a lack of memory protection), and a general lack of polish, especially in the face of Microsoft's blockbuster Windows 95 launch. Worse, the OS had several quirks in its design that dated to its early days; these design decisions, most of which were required by the first Mac's severely limited memory, made it extremely difficult to run a traditional Mac OS application in a multitasking environment without virtualization. The Copland engineers found this problem the hardest to solve, and it was probably the biggest contributor to Copland's eventual abandonment.

In 1995, Gil Amelio took over control of Apple, and one of the first things he did was clean up the R&D division. The new management decided that it would be best to buy another OS and build a new Mac OS around it, rather than attempt another from-scratch rewrite.

The rebound begins: NeXT, Mac OS 8, the iMac and Rhapsody
After a six-month search, and briefly considering using BeOS, Solaris, or even Windows NT, Apple decided to buy NeXT in late 1996, bringing founder Steve Jobs back into the fold and giving Apple a platform that was in far better shape than anything Apple had been working on internally, and (most importantly) had room to grow. OS development work turned to improving NeXTStep, updating its older parts using code from FreeBSD and NetBSD, making the interface more Mac-like, and writing new graphics handling code (due to Adobe restrictions on using Display PostScript). The new OS was years away, however, and something had to be done right away to make the current Mac OS salable.

The result was Mac OS 8.0, released in 1997. Several features were rescued from Copland and placed here, including a new multithreaded Finder, and the OS in general sported the new "Platinum" theme seen in screenshots of Copland. Later versions of 8.x replaced more and more old 68k code, and starting with version 8.5, it no longer booted on 68k hardware at all.

Apple's comeback started in earnest in 1998, with the introduction of the Bondi Blue iMac sporting the brand-new Mac OS 8.5. The iMac brought other changes, including new ROMs that made supporting OSes other than the original Mac OS much easier. This setup, referred to by Apple developers as "New World" after the tech note that first described it ("The Macintosh ROM Enters a New World"), put the majority of the classic Mac OS ROM in a file on the hard drive and officially made it possible to boot non-Apple OSes without workarounds.

Work on NeXTStep's renovation continued briskly, and in 1999, the first version of what would become the new Mac OS was released as Mac OS X Server 1.0, better known to fans by the codename Rhapsody. Rhapsody was something of a shock to veteran Mac users, combining bits of the Mac OS 8.0 interface with the far different NeXTStep 4.0 GUI. There was also no way to port classic Mac applications to Rhapsody at the time, forcing Apple to develop a subset of the old Mac APIs called "Carbon" that would allow properly made programs to work on both Mac OS 8/9 and Mac OS X. Carbon was announced in early 1998, and shipped along with the first releases of the OS X development tools in 1999. Along with carbon was Classic, an emulator for running Mac OS 9 inside OS X (which, by the way, is pronounced "oh ess ten" and not "oh ess ecks"; the X is a Roman numeral).

1999 also saw the release of Mac OS 9.0. 9.0 also added better text handling (including, finally, 255-character file name and Unicode support), the Disc Burning subsystem, and more. It would be the last major version of an OS that, by this time, had remained practically unchanged at its core for well over a decade.

2002: The Death of Mac OS 9
Finally, by late 2001, OS X was usable to the point where it was able to replace most of the old Mac OS's functionality with the release of OS X 10.1. This prompted Apple to perform a mock funeral ceremony for OS 9 at the 2002 Worldwide Developers Conference, thus officially dropping support for it and casting OS X as the future. 10.1 still had some rough edges and was a bit slow, but it was quite usable for the time. Application support was still a problem, as many long-time Apple developers were still in the process of porting to Carbon then, and vast swathes of OS X were still unfinished or being rewritten until OS X gelled with the arrival of 10.3.

The 80x86 transition
At the 2005 WWDC, Apple dropped a bombshell on the Mac community: The Mac was moving to the 80x86 family of processors (specifically the Intel Pentium M and Core architectures), effectively making the Mac a PC clone. The main reason stated was that Apple could not get IBM and Motorola Freescale to cooperate on developing a low-power version of the PowerPC G5 CPU, forcing Apple to continue using the aging G4 CPU instead in the highly popular PowerBook and iBook ranges. The G5 itself was infamously power-hungry, with many of the faster models requiring water cooling, and that meant more heat and more fan noise. This was especially irksome to Apple, as the earlier PPC G3 was one of the most efficient CPUs ever made, allowing Apple's laptops to easily hold the title of "World's Fastest" for years. Amusingly enough, Apple's abandonment of the PPC occurred just before the entire 7th generation of Videogame Systems unanimously switched to it, coinciding with enormous upgrades to the PPC architecture.

This was met with some concern from some longtime Mac users, especially after years of Apple advertising touting the RISC-based PPC CPUs over the "snail-like" 80x86 family, but by then times had changed, and most of the standard PC's warts had long since been wallpapered over (by fusing the CISC x86 instruction set with a simple RISC architecture inside the "CRISC" CPU) or had been filled in by new APIs such as ACPI. Moreover, Apple's own machines had slowly been absorbing technologies from mainstream PCs, such as PCI, ATA, and USB, since the mid 1990s. Finally, OS X's UNIX base made it so that changes on the underlying hardware would not severely impact the user experience, though processor-specific code (usually for math-related things like Photoshop filters) would need to be tweaked or rewritten. Much like the old Mac OS did during the 68k-to-PPC transition, OS X supported "fat binaries", with code for more than one processor type inside. Apple labeled applications using this trick as "Universal binaries," and added options in their developer tools to build for both x86 and PowerPC at the same time. An Intel version of OS X 10.4 was first offered on new Macs immediately after the transition; 10.5 was the first standalone PowerPC/Intel version of the OS available in stores. In 2009, Apple announced that PowerPC processors would not be supported for 10.6, making the break final. Mac OS 10.6 was also granted a license by the Open Group, certifying full compliance with the Single UNIX Specification, which means that Mac OS is now officially a version of UNIX.

Things were somewhat harder on developers, though; quite a bit of older Mac OS code had been written with outside or outdated tools (such as Macintosh tools like Think, CodeWarrior, and Apple's MPW or PB; or non-Mac tools like Microsoft Visual Studio) for the Carbon API. The most common, easiest way to write 80x86 programs for OS X is with Apple's Xcode IDE -- this is part of what held up Universal releases of popular apps like Adobe Creative Suite and Microsoft Office until 2007-2008. The impact was not significant on developers that had already moved to Xcode, and applications built there were some of the first to go Universal. With the coming of 10.6 and 64-bit applications in common use, Carbon support under OS X is being phased out in lieu of Cocoa (Objective-C natively, bindings for many other languages exist) which means that developers of legacy Mac apps will often need to rewrite their user interface for Cocoa.