alto at parc in 1970s

47
8/13/2019 Alto At PARC In 1970s http://slidepdf.com/reader/full/alto-at-parc-in-1970s 1/47 10/17/06 Alto Personal Distributed Computing 1 The Alto and Ethernet System Xerox PARC in the 1970’s Butler Lampson Microsoft Research October 17, 2006

Upload: silvermau

Post on 04-Jun-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 1/47

10/17/06 Alto Personal Distributed Computing 1

The Alto and Ethernet SystemXerox PARC in the 1970’s

Butler LampsonMicrosoft ResearchOctober 17, 2006

Page 2: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 2/47

10/17/06 Alto Personal Distributed Computing 2

Influences —―On the shoulders of giants‖

ARPA communityMan-computer symbiosis — LickliderTime-sharing: CTSS, SDS 940, TenexEngelbart’s On -Line SystemFlex machine — KayArpanetAloha packet radio network

Xerox —―Office of the future‖ The electronic office

Page 3: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 3/47

Page 4: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 4/47

10/17/06 Alto Personal Distributed Computing 4

Organization

CSLHardware: Alto, EthernetOS, Languages (BCPL, Mesa, Lisp)Printing, file servers

NetworkingBravo ( →Word ), Draw ( →Illustrator ), fontsGrapevine (email transport, server)Laurel (email client)

SSLPrinting, file serversSmalltalkGypsy ( →Word )Markup ( →Paint)

Page 5: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 5/47

10/17/06 Alto Personal Distributed Computing 5

Timeline

1960s Time-sharing, Sketchpad, NLS1970s Xerox PARC

Alto, Ethernet, laser printersBravo, Draw, Pup, Smalltalk

Altair, Apple IIInternet

1980s81 Xerox Star, IBM PC84 Macintosh, Laserwriter, MS Word/Excel

1990s Windows, Web

Page 6: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 6/47

10/17/06 Alto Personal Distributed Computing 6

Themes

But a man’s reach should exceed his grasp, orwhat’s a heaven for? — BrowningComputers can be used as tools to help peoplethink and communicate

LickliderARPA time-sharing and networkingEngelbart and NLSAlan Kay and Flex

Xerox: Office of the FutureHow do we grow after copiers?

Page 7: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 7/4710/17/06 Alto Personal Distributed Computing 7

Personal Distributed Computing

Personal Under the control of a person and serves his needs.Performance is predictable, and fast enough Reliable and available.

Not too hard to useDistributedEverything in the real world is distributedThe computer is a communication devicePersonal + communication = distributed

Need to share expensive devices too, esp. printersComputing

We programmed, but users didn’t

Page 8: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 8/4710/17/06 Alto Personal Distributed Computing 8

Information Convenient For A Person

UniversalAny (black-and-white) image, data, any software▬ Words, pictures, music, ...Specialize with software

Ink on paperPresent imagesPoint at places in the image

The Alto can do this quite wellFor a single 8.5" x 11" sheet of paperWith black ink

No restrictions on the form of the imagesCannot read images

Voice and other sounds.Later, less important

Page 9: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 9/4710/17/06 Alto Personal Distributed Computing 9

Principles

―Time machine‖— simulate the futureUse what you build

Good for text, pictures, printing, sound, emailBad for spreadsheets, databases

Personal machine―People are fast, machines are slow‖ Performance is predictable

No grand plan for the system: integration Not enough experience, cycles or memoryOpen OS, world-swapException: Smalltalk

Page 10: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 10/4710/17/06 Alto Personal Distributed Computing 10

Alto Hardware

0.3 MIPS128 KB RAM 2.5 MB disk

3 Mbit Ethernetfor 50 Altos

600x800 x l display

$12,000 to make

Page 11: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 11/4710/17/06 Alto Personal Distributed Computing 11

Alto Block Diagram

uCode

I/O

RAM

Compute

Registers

Page 12: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 12/4710/17/06 Alto Personal Distributed Computing 12

Hardware

Moore’s law: live in the future if you can Price X CPU RAM Disk Net

Alto MIPS MB MB MB/s

1974: Alto $40k 1 0.3 0.1 2.5 .05

1984: Mac $3k 1 1 0.5 1.5 .03

1995: PC $3k 100 50 16 300 .1

2006: PC $1k 10000 2000 1000 300G 100

Page 13: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 13/4710/17/06 Alto Personal Distributed Computing 13

Hardware Comparison

Item Alto,1973

Desktop PC2006

Factor

CPU clock 6 MHz 3 GHz 500

RAM size 128 KB 1 GB 8000

RAM access 850 ns 100 ns 8.5

Display pixels 606 x 808 x 1 1600 x 1200 x 32 4 (pixels)128 (bits)

Network 3 Mb Ethernet 1 Gb Ethernet 300

Disk capacity 2.5/5 MB 250 GB 100KCost $12,000 to make $1,000 to buy 12

Page 14: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 14/4710/17/06 Alto Personal Distributed Computing 14

Key Ideas For Hardware

KISSHad to be cheap enough to build lots of them

Bitmap displayDisplay anything – like paper

Programmable at all levelsCould change the instruction set and add newoperations easily

Flexible and powerful input-outputEthernet and Laser Printer controllers were add-insDistributed system

Connect many systems together with Ethernet

Page 15: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 15/4710/17/06 Alto Personal Distributed Computing 15

Alto In Use

Page 16: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 16/4710/17/06 Alto Personal Distributed Computing 16

Alto Awaiting Restoration

Page 17: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 17/47

Page 18: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 18/47

10/17/06 Alto Personal Distributed Computing 18

Laser Printers

Marriage of Xerography and ComputingEARS was the first (1974) print server

E thernetA ltoR esearch Character GeneratorS canning Laser Output Terminal

1 copy/second, 500 dots/inch

Lower-cost and color versions developed laterDover: 300 dpi, small Alto interface. 100 copies

Xerox understood it, built a successful business

Page 19: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 19/47

10/17/06 Alto Personal Distributed Computing 19

SLOT Printer, 1972

Page 20: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 20/47

10/17/06 Alto Personal Distributed Computing 20

The software

ProgrammingServersUser interface

Applications

Software is ―thought -stuff‖

Page 21: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 21/47

10/17/06 Alto Personal Distributed Computing 21

Programming: OS, languages

Main problem: live with.1 MIPS, 128 KB RAM, 5 MB disk

OS: files, programs, network, command line

Open : get rid of any parts you don’t need World-swap to change environments

Languages

BCPL: father of CMesaSmalltalk

Page 22: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 22/47

10/17/06 Alto Personal Distributed Computing 22

Servers

Network: Ethernet and PupFirst internet: Ethernet, Arpanet, phone lines, ...

Printing3 generations of laser printer hardware

3 generations of imagers: Ears, Press, InterpressFiles

―Interim‖ file system Research file systems

EmailTenex Arpanet emailGrapevine distributed naming and email

Page 23: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 23/47

10/17/06 Alto Personal Distributed Computing 23

User interfaces

WindowsSmalltalk pioneered overlapping windowsOther software used tiled windows

Page 24: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 24/47

10/17/06 Alto Personal Distributed Computing 24

Smalltalk

Complete systemOO languageIntegrated edit/debugWindows

BitBlt

Page 25: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 25/47

Page 26: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 26/47

10/17/06 Alto Personal Distributed Computing 26

User interfaces

WindowsSmalltalk pioneered overlapping windowsOther software used tiled windows

Views — compute what you seeSmalltalk browserBravo multiple document viewsLaurel email folders

Page 27: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 27/47

10/17/06 Alto Personal Distributed Computing 27

Page 28: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 28/47

10/17/06 Alto Personal Distributed Computing 28

? 1 Apr. 27 LaurelSupport TO START YOUR TUTORIAL SESSION:Point cursor at ―Display‖ and click the leftmouse button

? 2 Apr. 27 LaurelSupport Displaying a selected message? 3 Apr. 27 LaurelSupport Message number 3 in Tutorial.mail? 4 Apr. 27 LaurelSupport "Delete" and "Undelete"? 5 Apr. 27 LaurelSupport Movable boundaries? 6 Apr. 27 LaurelSupport Thumbing? 7 Apr. 27 LaurelSupport "New mail"? 8 Apr. 27 LaurelSupport "Hardcopy"? 9 Apr. 27 LaurelSupport Composing messages? 10 Apr. 27 LaurelSupport Recipient names

Laurel 6 Friday May 1, 1981 11:07 am PDTLogin please. 891 free disk pagesUser {LaurelSupport.PA } New Mail Mail File { Tutorial } Quit

Laurel Email Header Pane

Page 29: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 29/47

10/17/06 Alto Personal Distributed Computing 29

Laurel/Grapevine

Distributed email systemMultiple servers

Names, mailboxesEventual consistency

3-pane windowHeadersMessage inMessage out

? 1 Apr. 27 LaurelSupport TO START YOUR TUTORIAL SESSION:Point cursor at ―Display‖ and click the leftmouse button

? 2 Apr. 27 LaurelSupport Displaying a selected message ? 3 Apr. 27 LaurelSupport Message number 3 in Tutorial .mail ? 4 Apr. 27 LaurelSupport "Delete" and "Undelete" ? 5 Apr. 27 LaurelSupport Movable boundaries ? 6 Apr. 27 LaurelSupport Thumbing ? 7 Apr. 27 LaurelSupport "New mail" ? 8 Apr. 27 LaurelSupport "Hardcopy" ? 9 Apr. 27 LaurelSupport Composing messages ? 10 Apr. 27 LaurelSupport Recipient names

Laurel 6 Friday May 1, 1981 11:07 am PDTLogin please. 891 free disk pagesUser {LaurelSupport.PA } New Mail Mail File { Tutorial } Quit

Date: 27 April 1981 10:36 am PDT (Monday)From: LaurelSupport.PASubject: TO START YOUR TUTORIAL SESSION: Point cursor at ―Display‖ and

click the left mouse buttonTo: @NewUsers

Welcome to the community of Laurel Users. Laurel is the Alto program thatserves as your mail reading, composition and filing interface to the DistributedMessage System. Since you are reading this message, you have already learned to

se the "Display" command.While reading a message in this middle region you have the ability to scroll up anddown as in Bravo, using the double-headed arrow cursor in the left margin. You

may also notice that it you hold down the left or right mouse button in the scrollarea, then continuous scrolling is performed. If the words End of Message initalics are not visible, then there is more message to be seen, and you should scroll p to see more.

When Laurel started up, it read in this mail file named Tutorial.mail. An index

New form Answer Forward Get Put Copy Run

Subject: ? Topic?To: ? Recipients?cc: ? CopiedTo? , LaurelSupport

? Message?

End of Message

Display Delete Undelete Move to { } Hardcopy

Page 30: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 30/47

10/17/06 Alto Personal Distributed Computing 30

User interfaces

WindowsSmalltalk pioneered overlapping windowsOther software used tiled windows

Views — compute what you seeSmalltalk browserBravo multiple document viewsLaurel email folders

MenusMarkup had pop-up menusSmalltalk had the first icons

Page 31: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 31/47

Page 32: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 32/47

10/17/06 Alto Personal Distributed Computing 32

User interfaces: Displaying things

ImagesBit-maps (as in Paint and Photoshop)Object graphics (as in MacDraw and Illustrator)

FontsSpline outlines for scalable fontsScreen versions hand-drawn — hinting much later

BitBltComputing with rectangular bitmaps

Page 33: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 33/47

10/17/06 Alto Personal Distributed Computing 33

Markup

Pure bit-map editingArbitrary imagesLow resolution

Popup menu

Page 34: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 34/47

Page 35: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 35/47

10/17/06 Alto Personal Distributed Computing 35

SIL for Logic Drawings

Page 36: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 36/47

A li i

Page 37: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 37/47

10/17/06 Alto Personal Distributed Computing 37

Applications

Writing: Bravo Microsoft WordDrawing

Markup Paint programsDraw MacDraw, Illustrator, Powerpoint, etc.Sil CAD programs

Email: Laurel mh, Eudora, Outlook, etc.

h h l l k

Page 38: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 38/47

10/17/06 Alto Personal Distributed Computing 38

What the Alto system was like

Just like today’s personal computing world Writing, drawing, music, networks, printing, email

ExceptThe Web, search enginesSpreadsheetsIntegrationSpeed

Page 39: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 39/47

10/17/06 Alto Personal Distributed Computing 39

Boca Raton — 1976

Big show-and-tell for Xerox execsLots of AltosEthernetLaser printersThe apps you’ve seen

Goal: Get Xerox to make productsResult: Systems Development Division

Star office systemLimited sales of Alto office systems▬ E.g., to White House

Wh X did i h h Al

Page 40: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 40/47

10/17/06 Alto Personal Distributed Computing 40

What Xerox did with the Alto

Electronic printing — many billions of dollarsXerox Star — Office systemFumbled the future?

Yes, but the real story is more interesting

―It’s easier to get a venture capitalist to give youmoney than to persuade the management of a large,

successful company to try something new.‖ — Gordon Moore

X P d P i i

Page 41: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 41/47

10/17/06 Alto Personal Distributed Computing 41

Xerox Products: Printing

9700 — 2 pages/sec computer printer

Based on Xerox 9200 copier▬ Hence sheet fed, good paper handling▬ Hence blue laser

―Character generator‖ based onPARC RCGCompetition: IBM laser printer▬ Fan-fold paper

Low end printersFirst for Star — 8000 print serverLater OEMed, but too expensive

Interpress — ancestor of Postscript

Xerox Products: Star Office System

Page 42: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 42/47

10/17/06 Alto Personal Distributed Computing 42

Xerox Products: Star Office System

Star, shipped 1981 (same as IBM PC)Ran on Dandelion processor

Built on Mesa and PilotReliable, somewhat slow

Highly integrated

Editing, spreadsheet, filing, printingBest office system for at least 10 years

Roughly = 1995 MS Windows /OfficeDidn’t sell— too expensive, closed▬ $20-25k/workstation in total; 25,000 sold▬ Apple Lisa in 1982 failed for the same reasons

Irony: researchers wanted a muchsimpler product

Wh W W ?

Page 43: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 43/47

10/17/06 Alto Personal Distributed Computing 43

What Went Wrong?

PrintingXerox focus on high end copiers and printers▬ ―No money in low end‖

Target existing markets: computer printing▬ Office printing ignored. Apple, HP won this in 1985

Star Office SystemEngineers had a vision, and achieved it▬ A wonderful system: 10 years ahead of its time▬ Too expensive, inflexible

Overwhelmed by IBM PC waveResearchers pushed for something more like Alto

Wh O h Did i h h Al

Page 44: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 44/47

10/17/06 Alto Personal Distributed Computing 44

What Others Did with the Alto

Ethernet Xerox-DEC-Intel

Laser printing, Postscript Adobe, Canon, HP

Lisa, Macintosh Apple

Windows, Word Microsoft

Workstations Apollo, Sun, Lisp machines

Networking Internet, Novell

File and print servers Novell

Page 45: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 45/47

T d

Page 46: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 46/47

10/17/06 Alto Personal Distributed Computing 46

Today

Today’s PC is about 10,000 X an Alto Where did all the resources go?

Visual fidelity and eleganceIntegration

Backward compatibilityScale — books, not just memosTime to market

Response timeDid we foresee it?

Of course: Moore’s law.

T

Page 47: Alto At PARC In 1970s

8/13/2019 Alto At PARC In 1970s

http://slidepdf.com/reader/full/alto-at-parc-in-1970s 47/47

Tomorrow

―The best way to predict the future is to invent it.‖ Are computers boring now? Hardly!Computers are good for three things:

1955: Simulation1980: Communication2005: Embodiment — interact with the physical world

The best is yet to come — see research.microsoft.com/gray

RobotsComputers that see, hear, talk, understandInformation at your fingertips