Mac OS Report

23
Mac OS  A History of Apple¶s Operating Systems Introduction On 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.

Transcript of Mac OS Report

Page 1: 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.

Page 2: Mac OS Report

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

Page 3: Mac OS Report

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.

Page 4: Mac OS Report

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),

Page 5: Mac OS Report

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.

Page 6: Mac OS Report

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.

Page 7: Mac OS Report

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.

Page 8: Mac OS Report

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.

Page 9: Mac OS Report

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

Page 10: Mac OS Report

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.

Page 11: Mac OS Report

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

Page 12: Mac OS Report

8/8/2019 Mac OS Report

http://slidepdf.com/reader/full/mac-os-report 12/23

Page 13: Mac OS Report

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.

Page 14: Mac OS Report

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.

Page 15: Mac OS Report

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.

Page 16: Mac OS Report

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)

Page 17: Mac OS Report

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.

Page 18: Mac OS Report

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.

Page 19: Mac OS Report

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

Page 20: Mac OS Report

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. 

Page 21: Mac OS Report

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)

Page 22: Mac OS Report

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)

Page 23: Mac OS Report

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)