
Mac OS logo.
Mac OS is the trademarked
name for a series of graphical
user interface-based operating
systems developed by Apple Inc.
(formerly Apple Computer, Inc.) for their
Macintosh line of
computer systems. The Macintosh user
experience is credited with popularizing the graphical user
interface. The original form of what Apple would later name the
"Mac OS" was the integral and unnamed system software first
introduced in 1984 with the
original
Macintosh, usually referred to simply as the
System software.
Apple deliberately downplayed the existence of the operating system
in the early years of the Macintosh to help make the machine appear
more
user-friendly and to distance it
from other operating systems such as
MS-DOS,
which was more arcane and technically challenging. Much of this
early system software was held in
ROM, with updates typically provided free
of charge by Apple dealers on
floppy
disk. As increasing disk storage capacity and performance
gradually eliminated the need for fixing much of an advanced GUI
operating system in ROM, Apple explored cloning while positioning
major operating system upgrades as separate revenue-generating
products, first with System 7.1 and System 7.5, then with Mac OS
7.6 in 1997.
Early versions of the Mac OS were compatible only with
Motorola 68000-based Macintoshes. As Apple
introduced computers with
PowerPC hardware,
the OS was upgraded to support this architecture as well. Mac OS
8.1 was the last version that could run on a 68000-class processor
(the 68040). Mac OS X, which has superseded the "Classic" Mac OS,
is compatible with both PowerPC and Intel processors through
version 10.5 ("Leopard"). Version 10.6 ("Snow Leopard") supports
only Intel processors.
Versions
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.3 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 PCs 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 that later helped to ensure that only Apple
computers or licensed clones (with the copyright-protected ROMs
from Apple) could run Mac OS.
The Mac OS can be divided into two families:
- The Mac OS Classic family, which was based on Apple's own
code
- The Mac OS X operating system, a fusion of the 'classic' Mac OS
and NeXTSTEP.
"Classic" Mac OS (1984–2001)
The "classic" Mac OS is characterized by its total lack of a
command line; it is a completely
graphical operating system. Noted for its ease of use and its
cooperative multitasking,
it was criticized for its very limited
memory management, lack of
protected memory, and susceptibility to
conflicts among operating system "
extensions" that provide additional
functionality (such as networking) or support for a particular
device. Some extensions may not work properly together, or work
only 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 represented what type of
information. By contrast, MFS and HFS gave files two different
"forks". The data fork contained 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
contained 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 text file could contain its text in the data fork and styling
information in the resource fork, so that an application, which
didn’t recognize the styling information, could still read the raw
text. On the other hand, these forks provided a challenge to
interoperability with other operating systems; copying a file from
a Mac to a non-Mac system would strip it of its resource fork,
necessitating such encoding schemes as
BinHex
and
MacBinary.
PowerPC versions of Mac OS X up to and including Mac OS X v10.4
Tiger (support for Classic was dropped by Apple with 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 a Mac OS X
process. PowerPC-based Macs shipped with Mac OS 9.2 as well as Mac
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
Mac 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 Mac 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. Because drivers (for
printers, scanners, tablets, etc.) written for the older Mac OS are
not compatible with Mac OS X, and due to the lack of Mac OS X
support for older Apple machines, a significant number of Macintosh
users have still continued using the older classic Mac OS. But by
2005, it has been reported that almost all users of systems capable
of running Mac OS X are doing so, with only a small fraction still
running the 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 Mac 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 include an emulation technology called
Rosetta, which allows them to run
Mac OS X software that was compiled for PowerPC-based Macintoshes.
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.
Mac OS X (since 2001)
Star Trek
One interesting historical aspect of the classic Mac OS was a
relatively unknown secret prototype Apple started work on in 1992,
code-named "Star Trek" (as in "to boldly go where no Mac has gone
before").
The goal of this project was to create a
version of 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
(fourteen engineers from the former, four from the latter) was able
to get the
Macintosh Finder and
some basic applications, like
QuickTime,
running smoothly on a PC. Some of the code from this effort was
reused when porting the Mac OS later to PowerPC.
The project was short lived, being canceled only one year later in
early 1993. There are two theories for the cancellation: 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.
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 Mac OS X 10.0 and
later included support for the x86 architecture. The remaining
non-Darwin portion of Mac OS X (based on
OPENSTEP, which ran on Intel processors) was
released officially with the introduction of x86 Macintosh
computers.
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.
Emulators using Mac ROM images offered near complete Mac OS
compatibility and later versions offered excellent performance as
modern x86 processor performance increased exponentially.
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 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
Mac 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 Mac 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, FL 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 is still in a lawsuit with the company and says it
wants Psystar to pay for damages, recall every clone ever sold, and
pay Apple's legal bills.
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. A/UX had most of its success in sales to the
U.S.
government, where UNIX was a requirement that Mac OS could not
meet.
Mac
OS X later incorporated code from the UNIX-based NeXTStep after Steve Jobs
rejoined Apple
in 1997.
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
Though a violation of Apple's EULA, running Mac OS X operating
systems compiled for x86 on a non-Apple PC is possible using
various kernel modifications, third-party and community drivers,
and emulation methods. For example, the PC-EFI project emulates the
Extensible Firmware
Interface that is normally present on Apple's Intel-based Macs,
allowing Mac OS X to be installed on non-Apple hardware.
References
- Macintosh: System Software Version History
- Hormby (2005)
- Caldera Sues Microsoft
-
http://forum.teamxbox.com/archive/index.php/archive/t-587423.html
- http://www.apple.com/legal/sla/docs/macosx105.pdf
- http://www.insanelymac.com/forum/index.php?showtopic=70943
Bibliography
See also
External links