Mac OS Report
Embed Size (px)
Transcript of Mac OS Report

8/8/2019 Mac OS Report
http://slidepdf.com/reader/full/mac-os-report 1/23
Mac OS
A History of Apple¶s Operating Systems
IntroductionOn January 24, 1984, Apple Computer Inc. (now Apple Inc.) introduced the Macintosh
personal computer, with the Macintosh 128K model, which came bundled with what was
later renamed the Mac OS operating system, but then known simply as the System Software.
The Macintosh is often credited with popularizing the graphical user interface. The Mac OS
has been pre-installed on almost every Macintosh computer sold. The operating system is
also sold separately at Apple retail stores, and online. The original Macintosh system
software was partially based on the Lisa OS, previously released by Apple for the Lisa
computer in 1983, and, as part of an agreement allowing Xerox to buy shares in Apple at a
favorable rate, it also used concepts from the Xerox PARC Xerox Alto, which Steve Jobs and
several other Macintosh team members had previewed.
First Bytes into an Apple As 1975 came to an end, Steve Wozniak finished his prototype of what would become the first
Apple computer. Wozniak's employer at that time, Hewlett-Packard, was not interested in
his creation, so he requested, and was soon granted, a release of the technology. Apple was
founded on April 1, 1976 by Steve Jobs, Steve Wozniak, and an Atari engineer named Ronald
Wayne. The company's first product was Wozniak's computer, the Apple I.
Apple I
The Apple I was based on an 8-bit microprocessor, MOS Technology's 6502, running
effectively at just below 1 MHz. The 6502 was similar to the more expensive 6800 from
Motorola. The Intel 8080 was also around, but the 6502 was chosen primarily because it was
cheap. The computer had a built-in video terminal, sockets for 8K bytes of onboard RAM, a
keyboard interface, and a cassette board meant to work with regular cassette recorders. The
"computer" was simply a motherboard: the user had to provide a case, an AC power source,
an ASCII keyboard, and a display device.
The Apple I could be directly connected to a television with an RF modulator that resulted in
a scrolling display with 24 lines of 40 characters each. It was introduced at a price of $666.66
that included 4K bytes of RAM and a tape of Apple BASIC.

8/8/2019 Mac OS Report
http://slidepdf.com/reader/full/mac-os-report 2/23
Apple I
The Apple I came with a firmware resident System Monitor, a program that can be thought
of as its operating system. The monitor program was 256 bytes in size, and made use of the
keyboard and display to present the user with a command line for viewing memory contents,
typing and running programs, etc.
Compared to the UNIX general-purpose time-sharing system, which was in its Sixth Edition
at that time, the Apple I's "operating system" doesn't sound like much. However, a computer
running UNIX would have costed many thousands, perhaps even tens of thousands, of
dollars then. The Apple I was an attempt to make computing affordable for hobbyists, and
hopefully, for the masses.
Apple II
The Apple I would have a life span of less than a year, but its successor would live much
longer. Wozniak had begun work on the Apple II which, although based on the same 65 02
microprocessor, was introduced as an integrated computer: it came in a beige plastic case,
with a built-in keyboard. Upon its release it was the first personal computer to display color
graphics.
Various Apple II machines followed: the Apple II+, IIe, IIc, IIc+, IIe Enhanced, IIe Platinum,
and finally the 16-bit IIgs, introduced in 1986. Many of these models had several revisions
themselves.
A number of operating systems were created for the Apple II family.
Inspirations1984 is well known in the Apple world as the year the Macintosh was introduced. In 1983,
Apple had released the Lisa. At this point, it would only be appropriate to go back to 1968,
before the advent of UNIX, many years before Apple or Microsoft were even founded, and in
fact, almost seventeen years before the first version of Microsoft Windows was released.
NLS: The oNLine System
On December 9, 1968, an astounding technology demonstration happened at the Convention
Center in San Francisco during the Fall Joint Computer Conference (FJCC). Douglas
Engelbart and his team of 17 colleagues working in the Augmentation Research Center at theStanford Research Institute (SRI) in Menlo Park, California, presented NLS (oNLine
System), an "online" system they had been creating since 1962. The "astounding" adjective is
justified by the amount of innovation demonstrated on that one day.
Engelbart said at the beginning of his presentation that: "The research program that I am
going to describe to you today is quickly characterizable by saying: if in your office, you as
an intellectual worker were supplied with a computer display backed up by a computer
that was alive for you all day and was instantly responsible, err, responsive ... how much

8/8/2019 Mac OS Report
http://slidepdf.com/reader/full/mac-os-report 3/23
value could you derive from that? Well that basically characterizes what we've been
pursuing for many years ..."
The Computer Mouse
Engelbart demonstrated the first computer mouse, a three button "pointing device" with a
tracking spot, or "bug" on the screen. The underside of the mouse had two wheels that could
roll or slide on a flat surface. Each wheel controlled a potentiometer. As the user moved themouse, the respective rolling and sliding motions of the two wheels resulted in voltage
changes that were translated to relative coordinate changes on the screen.
A 5-Chord Key Set
Another input device Engelbart used in his demonstration was a chord key set, a five finger
equivalent of a full-sized keyboard. The key set could be used to input up to 31 (2 5 minus the
state when no keys are pressed) characters.
Document Processing
Engelbart showed that text could be entered, dragged, copied and pasted, formatted,
scrolled, grouped hierarchically in multiple nested levels (for example, multiple line of text
could be collapsed into a single line), and so on. The text so created could be saved in files, with provision for storing meta-data (the file's owner, time of creation, etc.) The use of a
mouse made these operations much easier. Engelbart referred to the overall mechanism as
view control .
The system was useful while editing code as well: blocks of code could be expanded and
collapsed, with support for auto-completion.
Furthermore, documents could contain embedded statements for markup, which allowed
formatting them for a specific purpose, like printing.
H ypertext and Imagemaps
Using hypertext, that is, text with hyperlinks, Engelbart could jump from one location toanother. This could happen either as a result of searching (by name, say), or by explicit use of
live hyperlinks, that could be visible or invisible.
The system also had picture drawing capabilities, and even pictures could have live
hyperlinks (similar to latter day imagemaps).
Searching
The system provided powerful search facilities where keywords could be weighted , and
search results were ordered accordingly. The results could also be presented as hyperlinks.
W indows
The computer screen could be split into a frozen display and a scanning window. Thus,
while you were reading a manual, say, and you needed to look up a term, you could split the
screen and view the term's definition in the dynamically changing scanning window, rather
like modern day frames in web pages.
Collaboration
The system also kept track of who you were and what you were doing. People could work
collaboratively on files, annotate each other's text, and leave notes for each other, similar in
some respect to modern-day document versioning systems.

8/8/2019 Mac OS Report
http://slidepdf.com/reader/full/mac-os-report 4/23
It was also possible to leave message for one or more specific people. A special language,
essentially a programmable filter, would allow a "test" to be associated with pieces of text.
Thereafter, a reader could only view what he was allowed to, as determined by the result of
the context-sensitive test.
Interactive Collaboration
The SRI team demonstrated live audio-video conferencing. The communicating parties couldeven have collaborative screen sharing with independent capabilities. For example, two
people could look at the same display, but one of them would only have read-only privileges.
The Result
Engelbart stated that their system was a vehicle to allow humans to "operate" (compose,
study, and modify) within the domain of complex information structures - where content
represents concepts. NLS was meant to be a tool to navigate complex structures, something
linear text could not do well.
Engelbart was also involved in the creation of DARPA's ARPANet, the precursor to the
Internet. His team planned to create a special service for ARPANet that would provide
relevant network information, one that would answer questions like: Who is providing what services? What protocol do I use to get there? Who is down today and who is up?
The inherent philosophy, explicitly stated by Engelbart as well, was bootstrapping, that is, to
build tools that let you build better tools , recursively. A very successful example of this
philosophy is Unix.
Even with such impressive innovations, NLS ran into misfortune. Many of the team
members went to the emerging Xerox PARC, where they hoped to create a distributed
network version of NLS (as opposed to time-sharing). Worse still, SRI dropped the program
and there was no funding. Engelbart went to a phone networking company called Tymshare,
where he used to sit in a cubicle in an office building in Cupertino: very near to the birthplace
of the Macintosh.
Smalltalk
The work done at Xerox PARC would greatly influence the face (and surely the interface) of
computing. The first version of Smalltalk was deployed at PARC in 1972. Inspired by Simula,
the first language to use object concepts, Smalltalk was a truly object-oriented programming
language. It was also an operating environment with an integrated user interface,
overlapping windows, cut-and-paste, integrated documents, etc. and would facilitate
development of useful and interesting tools such as a WYSIWYG editor, a music capture and
editing system, an animation system, and so on.
With inspirations from Kay's work, another effort began at Xerox PARC in 1972: one to
create a personal computer.
Xerox Alto
The "personal" in Xerox's personal computing effort implied a non-shared system containing
sufficient processing power, storage, and I/O capability to support the computing needs of a
single user. The result was the Alto: a system consisting of a 16-bit medium scale integrated,
or MSI (referring to the number of electronic components on a chip) processor, a bit-mapped
606 x 808 point graphical display, a keyboard, a five-finger keyset, a 3-button mouse (one
with a ball, rather than SRI's wheels), and a computer box that housed the processor, disk(s),

8/8/2019 Mac OS Report
http://slidepdf.com/reader/full/mac-os-report 5/23
and their power supplies. It had interfaces for connection to printers and plotters, and a 2.94
Mbps ETHERNET interface via which it could be connected to other Altos and laser printers.
The Alto's processor did not support virtual memory.
By 1979, over 1500 Altos were in use, within and outside of Xerox.
ApplicationsThe Alto began with and went on to have many more productivity applications, such as
Bravo (for powerful, multi-windowed text processing), Laurel (a display-oriented message
system providing facilities to display, forward, classify, file, print messages and their replies),
Markup (a document illustration application), Draw (an interactive illustrator program for
creating pictures composed of lines, curves, and text captions), Neptune (a file utility
program for managing file directories on Alto disks), etc. Many programming languages
became available on the Alto, such as Mesa (similar to Pascal), Smalltalk, and Lisp.
The applications mentioned above were usually very sophisticated. Draw, for example,
divided the screen into multiple areas: brush menu, command menu, font menu, picture
area, caption area, and a message area for displaying informational, error, or prompting
messages. Officetalk, an experimental forms-processing system on the Alto, was aninspiration for the STAR System developed later.
As inter-network communication facilities were developed at PARC (leading to an internet
packet format called PARC Universal Packet, or Pup), Alto also included FTP and TELNET
abilities.
Xerox used the Alto's technology to come up with a system designed for office professionals,
the STAR System.
Xerox STAR System
Xerox introduced the 8010 STAR InformationSystem at a Chicago trade show in April 1981. The
STAR's hardware was based on the Alto, with
"better" components (more memory, bigger disks,
higher resolution display, faster ETHERNET, etc.)
An important difference was that the STAR user
interface was designed before actually building the
hardware or software.
The STAR user interface provided the user with an
electronic metaphor for the physical office. There
were electronic analogs of common office objects:
paper, folders, file cabinets, mail boxes, calculators, and so on. It would be anunderstatement to say that the STAR interface influenced many systems that came after it.
Consider:
The user's first view of the working environment was the Desktop, which displayed
small pictures (icons) of familiar objects such as documents, folders, file drawers, in-
and out-baskets, etc.

8/8/2019 Mac OS Report
http://slidepdf.com/reader/full/mac-os-report 6/23
The user could click on an icon, and push the OPEN key to "open" an icon, which
resulted in a window displaying the icon's contents. Icons could represent either
"Data" (Document, Folder, Record File), or "Function". The user could copy, delete,
file, mail, move, open, close, and print data icons. The function icons operated on
data icons, and many of them are analogous to today's "application" icons. Examples
of function icons included File Drawer, In- and Out-Baskets, Printer, Floppy Disk
Drive, User, User Group, Calculator, Terminal Emulator, and Network ResourceDirectory.
Windows had title bars displaying the icon name and a context-sensitive command
menu, with context-sensitive help accessible via the "?" button. They also had
horizontal and vertical scroll bars (with page-up, page-down, and jump-to). However,
the STAR windows were explicitly designed not to overlap (considered a nuisance in
the Alto by STAR's designers): they could only be tiled.
An abstraction called Property Sheets was analogous to today's "control" or
"property" panels. A related abstraction called Option Sheets implemented a visual
interface for providing "options" (arguments) to commands. For example, the "Find"
option sheet was a powerful tool for searching text (including textual properties suchas case, font, size, face, position, etc.) in a part or whole of a document or a selection.
It also allowed changing of the "found" text (and its properties) to something else,
with optional confirmation.
The Graphical Age at Apple Apple released the $9995 Lisa in January 1983, a year before the Macintosh was introduced.
Lisa had a 5 MHz 32-bit Motorola 68k processor. It was inspired by the work at Xerox PARC
described in the previous section, many details of which Apple was made privy to, thanks to a
deal involving Xerox getting Apple stock in return for sharing their technology with Apple.
N ote that the Lisa project had begun before Apple visited Xerox PARC to look at theirtechnology. It has always been somewhat of a controversy as to what exactly was
"inspired" by PARC's work, and what exactly was an Apple in -house innovation. Apple's
engineering has usually been exemplary since its founding days, and it is not our goal to
resolve this controversy here.
Lisa OS
Lisa's operating system, the Lisa Office System (OS), had a fully graphical user interface.
There was a file browser with clickable, active icons. A folder icon would display its contents
in a window, and a document icon would launch the appropriate application. It came with a
spreadsheet (LisaCalc), a chart tool (LisaGraph), an outline builder (LisaList), a project
scheduler with integrated PERT/Gantt (LisaProject), a drawing program (LisaDraw), a DEC
VT/ANSI terminal emulator (LisaTerminal), and some other software.
Lisa introduced several aspects that would become part of Apple's systems to come. It had a
menu bar at the top of the screen, although without an Apple menu. Menu commands had an
Apple symbol however (instead of the cloverleaf symbol used later). Double clicking on an
icon caused the resulting window to come up animated. Items were deleted by dragging them
to a trash can icon.

8/8/2019 Mac OS Report
http://slidepdf.com/reader/full/mac-os-report 7/23
Like the STAR system, Lisa strived to present a physical office metaphor. Like real paper,
Lisa's screen displayed a white background. Since a white screen flickers more, Lisa required
a higher refresh rate for its display, which added to its price. The addition of more memory
and a disk drive pushed Lisa's price well over $10,000. It also took a long time to start up. I n
real life, Lisa was not quite the perfect computer it was designed to be.
MacintoshSteve Jobs unveiled the Macintosh on January 24, 1984, at the Flint Center in De Anza
College, Cupertino. Later known as the Mac 128K (due to the 128 KB of built -in RAM), it had
an 8 MHz Motorola MC68000 processor (with no memory management unit, floating point
unit, or L1/L2 caches), and a built-in 9 inch 512 x 342 black-and-white monitor. There was a
single 3.5" floppy drive that accepted 400 KB disks.
At the turn of the 80s, there was a project called "Annie" inside Apple. At some point, Jef
Raskin, Apple employee number 31, changed the name to "Macintosh", a deliberate
misspelling of "McIntosh", which is a variety of Apples. McIntosh was also the name of a hi-
fi manufacturer (McIntosh Labs). The name did come under contention when Apple tried to
trademark it, but Apple eventually managed to buy the trademark. During the legal battle,
Apple considered acronyms such as MAC (Mouse Activated Computer), which was
internally made fun of as standing for Meaningless Acronym Computer.
The Macintosh ran a single-user, single-tasking operating system, initially known simply as
Mac System Software. It came on one 400 KB floppy disk.
System 1
The default application that ran as the system came up was called the "Finder" It was an
interface for browsing the file system and launching applications. The single-tasking nature
of the system required the user to quit a running application in order to work in the Finder.
The Macintosh File System (MFS) was a flat file system: all files were stored in a single
directory. However, the system software presented a hierarchical view that showed nested
folders.
Each disk contained a folder called "Empty Folder" at its root level. New folders were created
by renaming this folder, which caused a replacement Empty Folder to appear.
The Macintosh contained many of the Lisa's characteristics, such as a menu bar at the top
(but with an Apple menu) and an iconic trash can (that was automatically emptied every
time the system booted). It also heralded Apple's Human Interface Guidelines.
The Lisa 2 was introduced simultaneously with the Macintosh. A version of the Lisa 2 with a
disk was later sold as the Macintosh XL and came with MacWorks, an emulator to run the
Macintosh operating system.

8/8/2019 Mac OS Report
http://slidepdf.com/reader/full/mac-os-report 8/23
Many Systems for Many Apples Apple spent the next few years improving the Macintosh operating system, and creating
some other noteworthy systems.
System Software Releases 2 ± 6
For a long time, there were multiple, independent versioning schemes in effect for system
components: a System Software Release, a System Version, a Finder Version, a MultiFinder Version, a LaserWriter Version, etc. Eventually there were attempts to unify these versions.
Some improvements made during this time included:
Continued speed improvements for the Finder, including a disk cache and a
"minifinder" to make application launching faster
Commands for common tasks such as shutting down, creating new folders, ejecting
disks, etc.
A hierarchical file system (HFS) that supported true hierarchy, that is, folders could
be nested without illusory aid
Support for multiple monitors
Support for large disk drives
AppleShare client features
System 6
An important improvement came when Apple incorporated cooperative multitasking via the
MultiFinder. Initially included as a separate piece of software (along with the original
Finder), MultiFinder soon became non-optional. It allowed the user to have several
programs open simultaneously, as well as assign RAM to these programs. Apple also made
usability improvements like providing a progress bar with cancel button for "copy file" and
"erase disk" operations. So far, the Finder did not use color even on color capable systems.
This was "fixed" with the introduction of Color QuickDraw.
Blue, Pink, and Red
After the Macintosh had been around for four years, some Apple engineers and managers
met at an off-site in March 1988. As they brainstormed to come up with future operating
system strategies, they noted down their ideas on three sets of index cards: blue, pink, and
red:
Blue would be the project for improving the existing Macintosh operating system. It
would go on to form the core of System 7.

8/8/2019 Mac OS Report
http://slidepdf.com/reader/full/mac-os-report 9/23
Pink would soon become a revolutionary operating system project at Apple. It was
supposed to be object-oriented, and would have full memory protection, lightweight
threads, large number of protected address spaces, multi-tasking, and many more
modern features. After languishing for many years at Apple, Pink would move out to
Taligent, a company jointly run by Apple and IBM, as discussed later.
Since red is "pinker than pink", ideas considered too advanced even for Pink weremade part of the Red project.
At this point, the System Software was at version 6.x. The 1980's were drawing to an end.
System 7, a result of the Blue project, would be Apple's most significant system, both
relatively and absolutely. However, that would not be until 1991.
Seeking PowerBy the beginning of the 1990's, Apple was making great efforts to overhaul its operating
system. Of the three colored projects mentioned earlier, Blue would emerge as System 7.
System 7
When released in 1991, System 7 represented a gigantic leap relative to earlier Macintoshsystems. Some of its features were:
MultiFinder built-in
Built-in networking (via AppleTalk) and file-sharing (via AppleShare)
Support for 32-bit memory addressing
A virtual memory (VM) implementation
The first Macintosh with an MMU was int roduced in 1987: the Macintosh II. System 7 was
the first to make use of it. However, the virtual memory support was only preliminary. VM
features such as protected address spaces, memory mapped files, page locking, shared memory, etc. were not present.
Technologies such as AppleScript (system-level macro language for automating
tasks), ColorSync (color management system), PowerTalk (collaboration and email
software), QuickTime (multimedia software for viewing, copying, and pasting video,
animations, images, and audio), TrueType (font technology), and WorldScript
(system-level support for several languages) introduced, although they were not all
bundled with the first release of System 7
System 7
System 7 had several usability improvements. Users could view and switch between running
applications via a menu. The trash can had the same status as any other folder, and now had

8/8/2019 Mac OS Report
http://slidepdf.com/reader/full/mac-os-report 10/23
to be proactively emptied. Text could now be dragged between applications (in addition to
cut-and-paste). Aliases could be created for access to documents and applications from two
or more locations. Control Panels and Extensions were organized hierarchically on disk.
Even with all these improvements, System 7 only did cooperative multi-tasking, and lacked
memory protection.
Around this time, Apple's formed an alliance with IBM and Motorola that put the PowerPC
on Apple's hardware roadmap. This required fundamental changes in the design of the
Macintosh operating system.
AIM for POWER
The emphasis on making the semantics of a computer architecture close to those of higher
level programming environments had led to very complex processors. However, the benefits
of simplicity in computer architecture design was understood by people like Seymour Cray
even in the early 1960's. His CDC 6600 supercomputer, as well as the CRAY-1, were RISC
machines, although the term had not been coined yet. RISC (Reduced Instruction Set
Computer) does not only imply fewer instructions. RISC architectures are predominantly
load-store, are register centric, usually employ fixed-format instructions, have efficientpipelining, require relatively fewer clock cycles per instruction, and so on.
N ote that the line between RISC and CISC has been growing fuzzier over the years.
IBM started research on the 801, a RISC architecture, in 1975, and in the early 1980's,
Berkeley and Stanford began work on the RISC and MIPS projects, respectively. By 1990,
there were several competing RISC architectures in the market, such as MIPS, HP Precision
Architecture (PA-RISC), SPARC V8, Motorola 88k, IBM RS/6000, etc. The RS/6000 was an
implementation of a second generation RISC architecture called POWER.
In 1991 Apple, IBM, and Motorola joined forces to form the AIM Alliance with the goal of
creating a Common Hardware Reference Platform (CHRP), which resulted in the PowerPC Architecture. The first PowerPC processor was the 601, which included most of the POWER
instructions. PowerPC was designed as a 64-bit architecture, and can be dynamically
switched between the 64- and 32-bit modes. An implementation may implement only the 32-
bit subset, as was the case with the PowerPC processors that Apple used prior to the G5.
PowerPC has been the mainstay of Apple hardware since its adoption.
Quest for the Operating SystemMicrosoft'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.

8/8/2019 Mac OS Report
http://slidepdf.com/reader/full/mac-os-report 11/23
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.
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 wasexpected that Copland would be Apple's real response to Windows. Apple hoped to achieve
several goals, many of them long elusive, with this project:
Adopt RISC as a key foundation technology by making the system fully PowerPC
native
Integrate, improve, and leverage their existing technologies such as OpenDOC
QuickDraw GX (a graphics architecture for type, graphics, color, and printing),
ColorSync, QuickDraw 3D, and collaboration software such as PowerTalk and
PowerShare
Retain and improve the ease-of-use of the Mac OS interface, while making it multi-user and fully customizable
Extend interoperability with DOS and Windows
Make Mac OS systems the best network clients
Incorporate active assistance that works across applications and networks (in other
words, make it really easy to automate a wide variety of tasks)
Release Copland as a system that can be openly licensed, and foster development of
Mac OS compatible clones
In order to achieve these goals, Copland was supposed to have system features such as:
A hardware abstraction layer (HAL) that would also help 3rd party vendors in
creating compatible systems
A microkernel (the NuKernel) at its core
Symmetric multiprocessing with preemptive multitasking
Improved virtual memory with protection
A flexible and powerful system extension mechanism
Critical subsystems such as I/O, networking, and file systems running as services ontop of the kernel
Low-level networking facilities such as X/Open Transport Interface (OTI), System V
STREAMS, and Data Link Provider Interface (DLPI)
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

8/8/2019 Mac OS Report
http://slidepdf.com/reader/full/mac-os-report 12/23

8/8/2019 Mac OS Report
http://slidepdf.com/reader/full/mac-os-report 13/23
The NeXT Chapter All of Steve Jobs' operational responsibilities at Apple were "taken away" on May 31, 1985.
Around this time, Jobs had come up with an idea for a startup for which he pulled in five
other Apple employees. The idea was to create the perfect research computer for universities,
colleges, and research labs. Jobs had earlier met up with Nobel laureate biochemist Paul
Berg, whose reaction to Jobs' idea of using a computer for various simulations was
apparently positive. Although Apple was interested in investing in Jobs' startup, they were
outraged, and actually sued Jobs later in 1985 when they learnt about the five Apple
employees joining him. Apple dropped the suit early next year after some mutual
agreements. The startup was NeXT Computer, Inc.
NeXT's beginnings were promising. Jobs put in $7 million of his own money. A
number of larger investments would be made in NeXT, such as $20 million from
Ross Perot, and $100 million from Canon a few years later. NeXT strived to create
a computer that would be perfect in form and function. The motherboard had a clever,
visually appealing design. The magnesium case of the cube was painted black with a matte
finish. The monitor stand required a great deal of engineering as well. An onboard digital
signal processing chip allowed the cube to play stereo quality music. These machines weremanufactured in NeXT's own state-of-the-art factory.
NEXTSTEP and OPENSTEP
Jobs unveiled the NeXT cube on October 12, 1988, at the Davies Symphony Hall in San
Francisco. The operating system was called NEXTSTEP, and used a port of CMU Mach 2.0
(with a 4.3BSD environment) as its kernel. Its window server was based on Display
Postscript, a marriage of page-description language and window system technologies (Sun
Microsystems had announced NeWS, their own Display Postscript Window System, earlier
in 1986).
The Mach port used in NE XTST E P also included N eXT specific features, as well as features
from later versions of CMU Mach.
NEXTSTEP used Objective-C as its native programming language, and included Interface
Builder, a tool for designing application user interfaces graphically. A number of "software
kits" (collections of reusable classes, or object templates) were provided to aid in application
development, such as: Application Kit, Music Kit, and Sound Kit.
At the time of the cube's announcement, NEXTSTEP was at version 0.8, and it would be
another year before a 1.0 mature release would be made.
NEXTSTEP 2.0 was released exactly a year after 1.0, with improvements such as support for
CD-ROM's, color monitors, NFS, on-the-fly spell checking, dynamically loadable device
drivers, and so on.
In the 1992 NeXTWORLD Expo, NEXTSTEP 486, a $995 version for the x86 was
announced.

8/8/2019 Mac OS Report
http://slidepdf.com/reader/full/mac-os-report 14/23
NEXTSTEP
The last version of NEXTSTEP, 3.3, would be released in February, 1995, by which time
NEXTSTEP had very powerful application development facilities, thanks to tools like Project
Builder, Interface Builder, and others. There was an extensive collection of libraries, such as
for user interfaces, databases, distributed objects, multimedia, networking, etc. It also had an
object-oriented tool kit (Driver Kit) for writing device drivers. NEXTSTEP ran on the 68k,
x86, PA-RISC, and SPARC platforms, and you could create a single version of your
application containing binaries for each supported architecture. Such multiple architecture
binaries are known as "fat" binaries.
Despite the virtues of NEXTSTEP and the elegance of itshardware, NeXT had proven to be economically unviable over
the years. NeXT announced in early 1993 that it was getting
out of the hardware business, and would continue
development of NEXTSTEP for x86.
NeXT partnered with Sun Microsystems to jointly release
specifications for OpenStep, an open platform comprised of
several API's and frameworks that anybody could use to create
their own implementation of an object-oriented operating
system, running on any underlying core operating system. The
OpenStep API was implemented on SunOS, HP-UX, and
Windows NT. NeXT's own implementation, essentially anOpenStep compliant version of NEXTSTEP, was released as
OPENSTEP 4.0 in July, 1996, with 4.1 and 4.2 to follow shortly afterwards.
OPENSTEP
The OpenStep API and the OPENSTEP operating system did not
seem to turn things around for NeXT, even though they caused
some excitement in the business, enterprise, and government
markets. NeXT started to focus more on their WebObjects
product, a multi-platform environment for rapidly building and deploying web based
applications.
As described earlier, NeXT was purchased by Apple in early 1997. Mac OS X would be based
on NeXT's technology, while WebObjects would keep up with advancements in its domain
(such as its support for Web Services and Enterprise Java). Apple's web sites, for example its
online store and the .Mac offering, are built using WebObjects.

8/8/2019 Mac OS Report
http://slidepdf.com/reader/full/mac-os-report 15/23
What NeXT? The Mach Factor Along with NeXT's operating system came the kernel: a version of Mach, which became the
kernel foundation of Apple's future systems. It would be instructive to briefly discuss the
origins and evolution of Mach.
Mach
When Mach was developed, UNIX had been around for over fifteen years. While thedesigners of Mach subscribed to the importance and usefulness of UNIX, they also noted
that UNIX was no longer as simple or as easy to modify as it once was. Richard Rashid called
the UNIX kernel a "dumping ground for virtually every new feature or facility."
Mach's design goals were largely a response to the inexorably increasing complexity of
UNIX. These goals included:
Full support for multiprocessing.
Exploit other features of modern hardware architectures that were emerging at that
time. Mach aimed to support diverse architectures, including shared memory access
schemes such as Non-Uniform Memory Access (NUMA) and No-Remote Memory Access (NORMA).
Support transparent and seamless distributed operation.
Reduce the number of features in the kernel, and therefore make it less complex,
giving the programmer a very small number of abstractions to work with.
Nevertheless, the abstractions would be general enough to allow several operating
systems to be implemented on top of Mach.
Full compatibility with UNIX.
Address the shortcomings of previous systems such as Accent.
Mach's implementation used 4.3BSD as the starting code base. Mach's designers had RIG
and Accent to refer to when it came to creating message-passing kernels. DEC's Tenex
Operating System provided some ideas for Mach's virtual memory subsystem. As Mach
evolved, portions of the BSD kernel were replaced by their Mach equivalents, and various
new components were added.
When it was published in 1986, the original Mach paper hailed it as "A New Kernel
Foundation For UNIX Development". While not everybody saw or sees it that way, Mach
went on to become a rather successful system. As far as Apple is concerned, the paper's title
might as well have been "A NuKernel Foundation ..."
Richard Rashid recounts that after a series of unsuccessful naming attempts, he came upwith the name MUCK (Multiprocessor Universal Communication Kernel). One of his
colleagues, Dario Giuse, who was Italian, inadvertently pronounced MUCK as "Mach", and
the name stuck.
Initially the Mach designers presented four basic abstractions in the kernel:
A Task is a container for the resources (virtual memory, ports, processors, ...) of one
or more threads.

8/8/2019 Mac OS Report
http://slidepdf.com/reader/full/mac-os-report 16/23
A Thread is a basic unit of execution. One task may have several threads. The task
provides an execution environment, while the threads actually run. The various
threads of a task share its resources, although each thread has its own execution state
(program counter and other registers, etc.)
A Port is similar to ports in Accent. It is an in-kernel message queue with capabilities,
and forms the basis for interprocess communication in Mach.
A Message is a collection of data that threads in two different tasks, or the same task,
can send to each other using ports.
Another basic Mach abstraction is a memory object . A memory object can be thought of as a
container for data (including file data) that is mapped into the address space of a task. Mach
required a paged memory management unit (PMMU), and provided an excellent interface to
the machine dependent MMU facilities via its pmap interface. The VM subsystem was
designed to support large, sparse virtual address spaces, and was integrated with IPC. Unlike
traditional UNIX, which implied a contiguous virtual memory space (with the heap and the
stack growing towards each other), Mach allowed for sparse address spaces, where regions of
memory could be allocated from anywhere in the address space. Memory could be sharedread/write, in a structured manner, and copy-on-write (COW) was used both for sharing
memory between tasks as well as to optimize copy operations. The generalized memory
object abstraction allowed for "external" (out-of-kernel, user-space) memory pagers (to
handle page faults and page-out data requests), that could reside even on another machine.
Mach did not provide (nor was meant to provide) any I/O, networking, or file system
capabilities by itself. It was meant as an operating system to create operating systems from.
It was hoped that this would keep things simple, and promote portability of operating
systems. The real operating system was supposed to run as a user-level Mach task. Release
2.0 of Mach, as well as the rather successful Release 2.5, had monolithic implementations ²
BSD and Mach resided in the same address space. Release 2.5 was used by the Open
Software Foundation (OSF) as a kernel basis for their OSF/1 operating system. 2.x was also
the basis of Mt. Xinu, NEXTSTEP, OPENSTEP, Omron LUNA/88k, Multimax (Encore) and
so on.
The Mach 3 effort was started at CMU and continued by OSF. This was the first "true
microkernel" version in the sense that BSD ran as a user space Mach task, with only
fundamental features provided by the Mach kernel. Many operating systems were ported to
the conceptual "virtual-machine" provided by the Mach API, and it is possible for several
user-mode operating system interfaces to execute on top of Mach.
Other changes and improvements in Mach 3.0 included:
Real-time support (kernel preemption and a real-time scheduling framework)
Low-level device support (devices presented as ports to which data or control
messages could be sent, with support for both synchronous and asynchronous I/O)
A completely rewritten IPC implementation
System call redirection (a set of system calls could be handled by code in user-space,
running within the calling task)

8/8/2019 Mac OS Report
http://slidepdf.com/reader/full/mac-os-report 17/23
Use of continuations, a kernel facility that gives a thread the option to block by
specifying a function (the continuation function) that would be called when the
thread runs
StrategiesThe first release of Mac OS after NeXT's purchase was 7.6. The version originally meant to be
released as 7.7 became Mac OS 8.0.
Mac OS 8 and Mac OS 9
Over the years, some important features that were either invented or improved for Copland
were added to Mac OS 8.x/9.x as originally intended, such as:
Mac OS Extended (HFS+) file system
A search engine that could search on local drives, network servers, and the Internet
(released as Sherlock)
Copland API (evolved into Carbon gradually)
The Platinum-look user interface
Multiple users with their own preferences
Mac OS 8 had a multi-threaded Finder that allowed several file-oriented operations
simultaneously, contextual menus activated by a control-click, personal web hosting, and
important enhancements to power-management, USB, and FireWire. Microsoft Internet
Explorer and Netscape Navigator were also bundled. Apple's implementation of the Java
runtime environment, the Macintosh Runtime for Java (MRJ), was part of the system.
Version 8.5 was PowerPC only. The nanokernel was overhauled in 8.6 to integrate multi-
tasking and multi-processing. It included a preemption-safe memory allocator. The
multiprocessor API library could now run with virtual memory enabled.
Mac OS 9
Mac OS 9 came out in 1999, and was hailed by Apple as the "best Internet operating system
ever" . It was the first Mac OS version that could be updated over the Internet. It included
useful security features such as file encryption and the "Keychain" mechanism for storingpasswords. It could also use the AppleTalk protocol over TCP/IP.
An important part of Mac OS 9 was a mature installation of the Carbon API's, which at the
time represented about 70 percent of the legacy Mac OS API's, and provided compatibility
with Mac OS 8.1 and later.
The last release of this "old" Mac OS (later referred to as "Classic") was 9.2.2, released in late
2001.

8/8/2019 Mac OS Report
http://slidepdf.com/reader/full/mac-os-report 18/23
Towards Mac OSX By now, Apple would still alter its operating system strategy, but would finally be on its way
towards achieving its goal of having a "new" system. It would further take three years to
reach that goal however. We shall refer to a pictorial approximation of the progression
towards Mac OS X in the discussion that follows.
Mac OSX Server 1.x As people were expecting a DR3 release of Rhapsody, Apple announced Mac OS X Server 1.0
in March 1999, which could be considered an improved Rhapsody. It was bundled with
WebObjects, a QuickTime streaming server, a collection of developer tools, the Apache web
server, facilities for booting and administering over the network, etc.
Apple also announced an initiative called Darwin, a fork of the developer release of
Rhapsody. Darwin would become the open source core of Apple's systems.
Over the next three years, as updates would be released for the server product, development
of the "client" version would continue, with the server sharing many of the client
improvements.
Mac OSXDeveloper Previews
There were four Developer Preview releases of Mac OS X, named DP1-4. Examples of
improvements made during the DP releases include:
An implementation of the Carbon API was added (DP1). Carbon represented an
overhaul of the "classic" Mac OS API's - pruned, extended, or modified to run in the
more modern Mac OS X environment. Carbon would also help Mac OS applications
in transitioning to Mac OS X. For example, a Classic application would require an
installation of Mac OS 9 to run under Mac OS X, while Carbon applications would
run as native applications both under Mac OS 9 and Mac OS X.
MacOS.app, the application implementing the Blue Box, became Classic.app (DP2).
The Yellow Box evolved into Cocoa, perhaps alluding to the fact that the API would
be available in Java as well (DP2).
The Aqua user-interface was introduced (DP3).
Mac OSX Public Beta
A $29.95 beta version came out in September 2000 as a publicly available preview release. A
message on the cover (from Apple to the Beta Testers) said: "You are holding the future of
the Macintosh in your hands" .
While ostensibly lacking in stability and performance, and missing important features, the
Beta was a demonstration of a number of important Apple technologies at work, at least for
those who were not following the DP releases: the Darwin core with its xnu kernel, the PDF-
based Quartz graphics system, the Aqua interface with its Dock, and many others.
With Darwin, Apple would continually leverage a lot of existing open source software by
using it for, and often integrating it with Mac OS X.

8/8/2019 Mac OS Report
http://slidepdf.com/reader/full/mac-os-report 19/23
Mac OSX 10.x
Mac OS X 10.0 was released on March 24, 2001. Soon, Mac OS X Server's versioning scheme
was revised to synchronize it with the client system's. Since then, the trend has been that new
versions of the client usually come out first, followed by the same revision for the server soon
after.
The following major Mac OS X releases exist at the time of this writing (the codenames areall taken from felid taxonomy):
VersionCodename Release Date
10.0 Cheetah March 24, 2001
10.1 Puma September 29, 2001
10.2 Jaguar August 24, 2002
10.3
10.4
10.5
10.6
Panther
Tiger
Leopard
Snow Leopard
October 24, 2003
April 29, 2005
October 26, 2007
August 28, 2009
10.0 included Apple's first two "Digital Lifestyle" applications: iMovie and iTunes. 10.1
introduced iDVD.
The Carbon API implementation was complete enough in 10.1 to allow for important 3rd
party applications such as Adobe Photoshop to be released for Mac OS X.
10.2 was a significant improvement in most areas. It also introduced Quartz Extreme, anintegrated hardware acceleration layer for rendering on-screen objects by compositing them
using primarily the GPU on supported graphics cards.
Hereafter, Apple introduced new applications and incorporated technologies in Mac OS X at
a bewildering pace. Consider examples like integrated Address Book, Mail, and Chat, an
implementation of ZeroConf Networking (called Rendezvous by Apple), iPhoto for digital
photo management, the Safari web browser, an optimized X Window System
implementation, and many more.
10.3 added many productivity and security features.
After the early releases of Mac OS X, the system's evolution almost makes it appear as if Apple knew what to add to Mac OS X to make it worthwhile for new users to adopt it, and
existing users to appreciate it more. It is even more commendable that Apple could create a
system appealing to, and serving the needs of people with vastly different interests, abilities,
and experience.
Released 29 April, 2005, 10.4 was the fifth major release of Mac OS X where it introduced
many new features like Spotlight, a system you can use to search for files fast. Dashboard
providing you with mini-applications called widgets. Automator to help you create workflows

8/8/2019 Mac OS Report
http://slidepdf.com/reader/full/mac-os-report 20/23
that does repetitive tasks automatically. Many other features and improvements. According
to Apple Tiger was the most successful operating system in the history of Mac OS X.
Released 26 October 2007, 10.5, the sixth major release of Mac OS X providing even more
features, fixes and improvements. For example Boot Camp, a software that will assist you in
installing other operating systems on your Mac. Easy and automatic backup system with
Time Machine. Spaces, where you can create virtual desktops. Quick Look that makes youable to preview a document without having to open it. This was justa a tiny bit of some of the
new features in Mac OS X Leopard.
Mac OS X 10.6 Snow Leopard was released on August 28, 2009. This version mostly focused
on improving performance, and reducing the size while maintaining and increasing the
performance.

8/8/2019 Mac OS Report
http://slidepdf.com/reader/full/mac-os-report 21/23
History in PicturesSystem 1.0 (1984)
System 2.0 (1985)
System 3.0 (1986)
System 4.0 (1987)
System Software 5 (1987)
System Software 6 (1988)

8/8/2019 Mac OS Report
http://slidepdf.com/reader/full/mac-os-report 22/23
System 7 (1991) (start of colored interface)
Mac OS 8 (1997)
Mac OS 9 (1999)
Mac OS X 10.0 Cheetah (2001)
Mac OS X 10.1 Puma (2001)
Mac OS X 10.2 Jaguar (2002)

8/8/2019 Mac OS Report
http://slidepdf.com/reader/full/mac-os-report 23/23
Mac OS X 10.3 Panther (2003)
Mac OS X 10.4 Tiger (2005)
Mac OS X 10.5 Leopard (2007)
Mac OS X 10.6 Snow Leopard (2009)