Mac OS is a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems.

Screenshot of OS X v10.10 Yosemite

The original operating system was first introduced in 1984 as being integral to the original Macintosh, and referred to as the "System". Referred to by its major revision starting with "System 6 and "System 7", Apple rebranded version 7.6 as "Mac OS" as part of their Macintosh clone program in 1996. The Macintosh, specifically its system software, is credited with having popularized the early graphical user interface concept.

Macintosh operating systems have been released in two major series. Up to major revision 9, from 1984 to 2000, it is historically known as Classic Mac OS. Major revision 10, from 2001 to present, is branded OS X (originally referred to as Mac OS X). Major revisions to the Macintosh OS are now issued as point revisions, such that, for example, 10.2 is substantially different from 10.5. Both series share a general interface design, and there has been some overlap with shared application frameworks and virtual machine technology for compatibility; but the two series also have deeply different architectures.

Design concept

Apple's original concept for the Macintosh deliberately sought to minimize the user's conceptual awareness of the operating system. Tasks which required more operating system knowledge on other systems would be accomplished by mouse gestures and graphic controls on a Macintosh. This would differentiate it from then current systems, such as MS-DOS, which used a command line interface consisting of tersely-abbreviated textual commands.

The core of the system software was held on floppy disk or hard drive in some later models such as the Mac se, with updates originally provided on floppy disk, freely copyable at Apple dealers. The user's involvement in an upgrade of the operating system was also minimized to running an installer, or replacing system files using the file manager. This simplicity meant that the early releases lacked any access controls, in effect giving its single user root privileges at all times.

Versions

Early versions of Mac OS were compatible only with Motorola 68000-family Macintoshes. As Apple introduced computers with PowerPC hardware, the OS was ported to support this architecture. Mac OS 8.1 was the last version that could run on a "68K" processor (the 68040). OS X, which has superseded the "Classic" Mac OS, is compatible with only PowerPC processors from version 10.0 ("Cheetah") to version 10.3 ("Panther"). Both PowerPC and Intel processors are supported in version 10.4 ("Tiger", Intel only supported after an update) and version 10.5 ("Leopard"). 10.6 and later versions support only Intel processors.

The early Macintosh operating system initially consisted of two pieces of software, called "System" and "Finder", each with its own version number. System 7.5.1 was the first to include the Mac OS logo (a variation on the original Happy Mac startup icon), and Mac OS 7.6 was the first to be named "Mac OS".

Before the introduction of the later PowerPC G3-based systems, significant parts of the system were stored in physical ROM on the motherboard. The initial purpose of this was to avoid using up the limited storage of floppy disks on system support, given that the early Macs had no hard disk (only one model of Mac was ever actually bootable using the ROM alone, the 1991 Mac Classic model). This architecture also allowed for a completely graphical OS interface at the lowest level without the need for a text-only console or command-line mode. Boot time errors, such as finding no functioning disk drives, were communicated to the user graphically, usually with an icon or the distinctive Chicago bitmap font and a Chime of Death or a series of beeps. This was in contrast to computers of the time, which displayed such messages in a mono-spaced font on a black background, and required the use of the keyboard, not a mouse, for input. To provide such niceties at a low level, Mac OS depended on core system software in ROM on the motherboard, a fact also used to ensure that only Apple computers or licensed clones (with the copyright-protected ROMs from Apple) could run Mac OS.

"Classic" Mac OS (1984–2001)

Original 1984 Macintosh desktop

The "classic" Mac OS is characterized by its monolithic system. Versions of Mac OS up through System 4 only ran one application at a time. Even so, it was noted for its ease of use. Mac OS gained cooperative multitasking with System 5, which ran on the Mac SE and Macintosh II. It was criticized for its very limited memory management, lack of protected memory, no access controls, and susceptibility to conflicts among operating system "extensions" that provide additional functionality (such as networking) or support for a particular device. Some extensions didn't work properly together, or only worked when loaded in a particular order. Troubleshooting Mac OS extensions could be a time-consuming process of trial and error.

The Macintosh originally used the Macintosh File System (MFS), a flat file system with only one level of folders. This was quickly replaced in 1985 by the Hierarchical File System (HFS), which had a true directory tree. Both file systems are otherwise compatible.

Most file systems used with DOS, Unix, or other operating systems treat a file as simply a sequence of bytes, requiring an application to know which bytes represent what type of information. By contrast, MFS and HFS give files two different "forks". The data fork contains the same sort of information as other file systems, such as the text of a document or the bitmaps of an image file. The resource fork contains other structured data such as menu definitions, graphics, sounds, or code segments. A file might consist only of resources with an empty data fork, or only a data fork with no resource fork. A word processor file could contain its text in the data fork and styling information in the resource fork, so that an application which doesn’t recognize the styling information can still read the raw text.

On the other hand, these forks would provide a challenge to interoperability with other operating systems: how does one copy a dual-forked file into a different file system, or across a file-transfer system, or embed it into email? In copying or transferring a MacOS file to a non-Mac system, the default implementations would simply strip the file of its resource fork. Most data files contained only nonessential information in their resource fork, such as window size and location, but program files would be inoperative without their resources. This necessitated such encoding schemes as BinHex and MacBinary, which allowed a user to encode a dual-forked file into a single stream, or inversely take a single stream so-encoded and reconstitute it into a dual-forked file usable by MacOS.

PowerPC versions of OS X up to and including OS X v10.4 Tiger (support for Classic was dropped by Apple with v10.5 Leopard's release and it is no longer included) include a compatibility layer for running older Mac applications, the Classic Environment. This runs a full copy of the older Mac OS, version 9.1 or later, in an OS X process. PowerPC-based Macs shipped with Mac OS 9.2 as well as OS X. Mac OS 9.2 had to be installed by the user— it was not installed by default on hardware revisions released after the release of OS X 10.4 Tiger. Most well-written "classic" applications function properly under this environment, but compatibility is only assured if the software was written to be unaware of the actual hardware, and to interact solely with the operating system. The Classic Environment is not available on Intel-based Macintosh systems due to the incompatibility of Mac OS 9 with the x86 hardware.

Users of the classic Mac OS generally upgraded to OS X, but many criticized it as being more difficult and less user-friendly than the original Mac OS, for the lack of certain features that had not been re-implemented in the new OS, or for being slower on the same hardware (especially older hardware), or other, sometimes serious incompatibilities with the older OS.[8] Because drivers (for printers, scanners, tablets, etc.) written for the older Mac OS are not compatible with OS X, and due to the lack of OS X support for older Apple machines, a significant number of Macintosh users continued using the older classic Mac OS.

In June 2005, Steve Jobs announced at the Worldwide Developers Conference keynote that Apple computers would be transitioning from PowerPC to Intel processors and thus dropping compatibility on new machines for Mac OS Classic. At the same conference, Jobs announced Developer Transition Kits that included beta versions of Apple software including OS X that developers could use to test their applications as they ported them to run on Intel-powered Macs. In January 2006, Apple released the first Macintosh computers with Intel processors, an iMac and the MacBook Pro, and in February 2006, Apple released a Mac mini with an Intel Core Solo and Duo processor. On May 16, 2006, Apple released the MacBook, before completing the Intel transition on August 7 with the Mac Pro. To ease the transition for early buyers of the new machines, Intel-based Macs included an emulation technology called Rosetta, which allows them to run OS X software that was compiled for PowerPC-based Macintosh models. Rosetta runs transparently, creating a user experience identical to running the software on a PowerPC machine, though execution is typically slower than with native code. Rosetta was an optional installation in OS X 10.6 Snow Leopard and is not available at all in OS X 10.7 Lion.

OS X

OS X, introduced as Mac OS X in 2001 and renamed OS X in 2012, is the latest version of Apple's operating system. 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.

The operating system is the successor to Mac OS 9 and the "classic" Mac OS. It is however a Unix operating system, based on the NeXTSTEP operating system and the XNU kernel which Apple acquired after purchasing NeXT Computer—with its CEO Steve Jobs returning to Apple at that time. OS X also makes use of the BSD code.[9] There have been 11 significant releases of OS X, the most recent being OS X 10.10, referred to as Yosemite. Prior to 10.10 came 10.9 ("Mavericks"), 10.8 ("Mountain Lion"), 10.7 ("Lion"), 10.6 ("Snow Leopard"), 10.5 ("Leopard"), 10.4 ("Tiger"), 10.3 ("Panther"), 10.2 ("Jaguar"), 10.1 ("Puma"), and 10.0 ("Cheetah").

OS X also had six significant releases as OS X Server. The first of these, Mac OS X Server 1.0, was released in beta before the client version in 1999. The server versions are architecturally identical to the client versions, with the differentiation found in their inclusion of tools for server management, including tools for managing OS X-based workgroups, mail servers, and web servers, amongst other tools. As of the name change to OS X, OS X Server is no longer sold as a separate operating system product. The server tools could then be added to the singular OS X product, giving the same functionality.

OS X Server is available as an operating system to-order on Mac Mini and Mac Pro computers as a part of a server package. Unlike the client version, OS X Server can be run in a virtual machine using emulation software such as Parallels Desktop and VMware Fusion.

OS X is also the basis for iOS, (previously iPhone OS) used on Apple's iPhone, iPod Touch, iPad, and Apple TV.

Star Trek

Star Trek (as in "to boldly go where no Mac has gone before") was a relatively unknown secret prototype Apple started work on in 1992, whose goal was to create a version of the classic Mac OS that would run on Intel-compatible x86 personal computers. The project was instigated by Novell, Inc., who were looking to integrate their DR-DOS with the Mac OS UI as a retort to Microsoft's Windows 3.0. The Apple/Novell team (four from Apple, four from Novell) was able to get the Macintosh Finder and some basic applications, like QuickTime, running smoothly on the x86 architecture. Some of the code from this effort was reused later when porting the Mac OS to PowerPC.

The project was canceled only one year later in early 1993. There are two theories for the project's short life: the first is that Apple's board canceled further development upon realizing that going with Star Trek would mean an entirely new business model and one that would likely see a notable drop in Apple's lucrative hardware sales; and the second is that an x86 Mac OS was not commercially viable in the early nineties because Microsoft's contracts for Windows 3.1 forced PC manufacturers to pay a royalty to Microsoft for every computer shipped, regardless of what operating system it contained. Thus, widespread support for a new operating system with relatively few applications available was unlikely.

A further complication was that Star Trek was designed to be source-level compatible, not binary compatible, with the Mac OS. Mac applications would therefore have to be recompiled or rewritten by their developers to run on the x86 architecture, and there was much skepticism as to exactly how much work this would entail.

Fifteen years after Star Trek, support for the x86 architecture was officially included in Mac OS, and then Apple transitioned all desktop computers to the x86 architecture. This was not the direct result of earlier Project Star Trek efforts. The Darwin underpinning used for OS X 10.0 and later included support for the x86 architecture. The remaining non-Darwin portion of OS X (based on OPENSTEP, which ran on Intel processors) was released officially with the introduction of x86 Macintosh computers. In fact, Steve Jobs said that Mac OS X was "leading a secret double life" during the introduction of the x86 transition.

68000 emulation

Although the Star Trek software was never released, third-party Macintosh emulators, such as vMac, Basilisk II, and Executor, eventually made it possible to run the classic Mac OS on Intel-based PCs. These emulators were restricted to emulating the 68000 series of processors, and as such most couldn't run versions of the Mac OS that succeeded 8.1, which required PowerPC processors. Most also required a Mac ROM image or a hardware interface supporting a real Mac ROM chip; those requiring an image are of dubious legal standing as the ROM image may infringe on Apple's intellectual property.

A notable exception was the Executor commercial software product from Abacus Research & Development, the only product that used 100% reverse engineered code without the use of Apple technology. It ran extremely quickly but never achieved more than a minor subset of functionality. Few programs were completely compatible and many were extremely crash-prone if they ran at all. Executor filled a niche market for porting 68000 classic Mac applications to x86 platforms; development ceased in 2002 and the source code was released by the author in late 2008.

Most of the Mac user base had already started moving to the PowerPC platform that offered backward compatibility on 8.xx & 9.xx operating systems along with faster PowerPC software support. This helped ease the transition to PowerPC-only applications while prematurely obsolescing 68000 emulators and the Classic-only applications they supported well before these emulators were refined enough to compete with a real Mac.

PowerPC emulation

At the time of 68000-emulator development, PowerPC support was difficult to justify not only due to the emulation code itself but also the anticipated wide performance overhead of an emulated PowerPC architecture vs. a real PowerPC based Mac. This would later prove correct with the start of the PearPC and project even years later despite the availability of 7th & 8th generation x86 processors employing similar architecture paradigms present in the PowerPC. Many application developers were also creating and releasing both 68000 Classic and PowerPC versions concurrently helping to negate the need for PowerPC emulation. PowerPC Mac users who could technically run either obviously chose the faster PowerPC applications. Soon Apple was no longer selling 68000-based Macs and the existing installed base started to quickly evaporate. Despite the eventual excellent 68000-emulation technology available they proved never to be even a minor threat to real Macs due to their late arrival and immaturity even several years after the release of much more compelling PowerPC based Macs.

The PearPC emulator is capable of emulating the PowerPC processors required by newer versions of the Mac OS (like OS X). Unfortunately, it is still in the early stages and, like many emulators, tends to run much slower than a native operating system would.

During the transition from PowerPC to Intel processors, Apple realized the need to incorporate a PowerPC emulator into OS X in order to protect its customers' investments in software designed to run on the PowerPC. Apple's solution is an emulator called Rosetta. Prior to the announcement of Rosetta, industry observers assumed that any PowerPC emulator running on an x86 processor would suffer a heavy performance penalty (e.g., PearPC's slow performance). Rosetta's relatively minor performance penalty therefore took many by surprise.

Another PowerPC emulator is SheepShaver, which has been around since 1998 for BeOS on the PowerPC platform, but in 2002 was open sourced with porting efforts beginning to get it to run on other platforms. Originally it was not designed for use on x86 platforms and required an actual PowerPC processor present in the machine it was running on similar to a hypervisor. Although it provides PowerPC processor support, it can only run up to Mac OS 9.0.4 because it does not emulate a memory management unit.

Other examples include ShapeShifter (by the same programmer that conceived SheepShaver), Fusion and iFusion. The latter ran classic Mac OS with a PowerPC "coprocessor" accelerator card. Using this method has been said to equal or better the speed of a Macintosh with the same processor, especially with respect to the m68k series due to real Macs running in MMU trap mode, hampering performance.

Macintosh clones

Several computer manufacturers over the years have made Macintosh clones capable of running Mac OS, notably Power Computing, UMAX and Motorola. These machines normally ran various versions of classic Mac OS. Steve Jobs ended the clone-licensing program after returning to Apple in 1997.

In 2008, a manufacturing company in Miami, Florida called Psystar Corporation announced a $499 clone that comes with a barebones system that can run Mac OS X 10.5 Leopard. Threatened with legal battles, Psystar originally called the system OpenMac and have since changed it to Open Computer. Apple filed a lawsuit with the company and asked that Psystar be ordered to stop producing clone systems, recall every system sold, and pay monetary damages. Eventually, Apple prevailed in court, and the Open Computer's production was ceased. Psystar itself appears to be defunct now, as the company's website is gone.

A/UX

In 1988, Apple released its first UNIX-based OS, A/UX, which was a UNIX operating system with the Mac OS look and feel. It was not very competitive for its time, due in part to the crowded UNIX market and Macintosh hardware lacking high-end design features present on workstation-class computers. A/UX had most of its success in sales to the U.S. government, where POSIX compliance was a requirement that Mac OS could not meet.

MAE

The Macintosh Application Environment (MAE) was a software package introduced by Apple Computer in 1994 which allowed users of certain Unix-based computer workstations to run Apple Macintosh application software.

MAE used the X Window System to emulate a Macintosh Finder-style graphical user interface. The last version, MAE 3.0, was compatible with System 7.5.3.

MAE was available for Sun Microsystems SPARCstation and Hewlett-Packard systems. It was discontinued on May 14, 1998.

MkLinux

Announced at The 1996 World Wide Developers Conference (WWDC), MkLinux is an open source computer operating system started by the OSF Research Institute and Apple Computer in February 1996 to port Linux to the PowerPC platform, and thus Macintosh computers. In the summer of 1998, the community-led MkLinux Developers Association took over development of the operating system. MkLinux is short for "Microkernel Linux," which refers to the project's adaptation of the Linux kernel to run as a server hosted atop the Mach microkernel. MkLinux is based on version 3.0 of Mach.

Mac OS on non Apple-labeled computers

Although a violation of Apple's EULA, running OS X operating systems compiled for x86 or x86_64 ("Intel 64") on a non-Apple PC is possible using several approaches. If the processor is an Intel Core 2 or later, but not an Intel Atom, Apple's standard mach_kernel is sufficient. If the processor is an Atom, the user-supported "legacy" mach_kernel_atom, derived from the appropriate mach_kernel, is required. If the processor is a pre-Core 2 Intel, e.g., a late Pentium 4 either with or without EM64T, but usually with H-T, the user-supported "legacy" mach_kernel_non-atom, derived from the appropriate mach_kernel, is required.

Installation of Mac OS X requires a Mac OS X Installer emulator, the most straightforward of which is a USB flash drive-type Installer emulator. Once the installation has been successfully completed to the hard drive, the hard drive may be booted using the emulator portion of the USB flash drive as a "helper" and a boot loader Installer may be downloaded and used to place the boot loader on the hard drive's boot blocks. Thereafter, Mac OS X may be booted from the hard drive alone; the installed boot loader takes care of any required device injection and/or kernel patching.

Mac OS X is generally compatible with any Intel desktop-based system or Intel-based motherboard, ICH6 or later, however compatibility past Snow Leopard cannot be assured with ICH6. Compatibility with ICH7 and with Lion and 945 (G)MCH has already been demonstrated and proven. Compatibility with ICH7 or later and any associated MCH/(G)MCH is quite good, certainly including Lion, and possibly also including Mountain Lion.

Mac OS X compatibility with Intel laptop- or netbook-based systems is quite variable but has been successful on a few Intel Atom-based netbooks.