cosc 1306 computer science and programming jehan-françois pâris [email protected]

96
COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris [email protected]

Upload: marianna-short

Post on 23-Dec-2015

220 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

COSC 1306COMPUTER SCIENCE AND PROGRAMMING

Jehan-François Pâris

[email protected]

Page 2: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

CHAPTER ITHE COMPUTER

Page 3: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Chapter Overview

The computing phenomenonPervasivenessComputers or computing?

Historical perspectiveFour predecessorsThe birth of computers Its evolution

Page 4: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

THE COMPUTING PHENOMENON

Page 5: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Computers as life changers

They are everywhere They have changed our lives

Electronic mailWWWOnline order processingTicketless travel

Page 6: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Case study

A friend of mine now teaches in a small University in Montevideo, Uruguay

Page 7: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Then

Before the Internet, his life would have been difficultNo access to a good university libraryCould only communicate with colleagues

through Expensive international calls Slow Uruguayan postal service

Nearly total isolation from CS community

Page 8: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Now

He hasFull access to research papers posted onlineCan communicate with colleagues through

Email, instant messages, Facebook, … Skype

Submits papers to conferences through WWW

We write papers together!

Page 9: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

My point

Internet has abolished distance Inexpensive personal computers allow us to

work virtually everywhere Still need a good Internet connection

Changed the lives of computer scientists and mathematicians working inSmall colleges in the boondocksDecent universities in developing countries

Page 10: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Counterpoint

Human contacts still count:Main reason why scientists travel

No Internet access means exclusionCase of most African countries

Page 11: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

The iceberg

Most computing takes place where we do not see it

Page 12: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Examples

Car computers Set-top box Digital television Fly-by-wire planes Smart phones Many medical appliances

Page 13: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

An analogy

Mid-nineteenth century big textile factories usedSteam-powered looms

One steam engine powered several loomsPower went through transmission belts and

pulleys Dangerous

Page 14: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

transmission belts

Page 15: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

An analogy (cont'd)

Stream engines were progressively replaced by electrical motorsQuickly found it was better to have one

smaller motor per loom Got rid of transmission belts Allowed more flexible plant layouts

Now electrical motors are everywhereCar power windows, razors, toothbrushes,

Page 16: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

How it applies

Started with a few giant "electronic brains" Replaced by time sharing computers and

individual terminals Moved to personal computers Each of us is now likely to have several

computing devices

Page 17: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Counterpoint

Are we now living in the best of all possible worlds?

Page 18: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Social problems

Lack of privacy

Distraction

Nothing is forgotten

Page 19: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

More pressing problems

What happens when computers that control critical aspects of our lives go wrong? In 1985 a Canadian-built radiation-treatment

device began blasting holes through patients' bodies. How a series of simple computer errors sabotaged a state-of-the-art medical wonder.

(http://www.ccnr.org/fatal_dose.html)

Page 20: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

The full report

An Investigation of the Therac-25 Accidents

Nancy Leveson, U of WashingtonClark S. Turner, UC Irvine

IEEE Computer, Vol. 26, No. 7, July 1993, pp. 18-41

http://courses.cs.vt.edu/cs3604/lib/Therac_25/Therac_1.html

Page 21: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Another big problem

In fly-by-wire planes, pilots’ inputs are handled by an on-board computerWhat happens when pilots’ inputs conflict with

safety rules implemented in the on-board computer?

Page 22: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

The answer It depends

On Boeing planes, the pilot wins Great for airlines with highly-trained

pilots Not so good otherwise

On Airbus planes, the computer wins Great for airlines with not-so-well-trained

pilots Pilots can still override computer

Page 23: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

An outcome

On June 1, 2009 Air France flight 447 from Rio to Paris crashed in mid-AtlanticCause of crash was aerodynamic stallPreceded by problems with speed sensors

Inquiry noted that "pilots had not been trained to fly the aircraft in manual mode "

http://en.wikipedia.org/wiki/Air_France_Flight_447

Page 24: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

A long-term problem

An increasing large number of documents are exclusively stored in digital format without any hard copyMost of your recent picturesYour grades

Will they survive as well as hard copies do?

Page 25: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

The issues

Disk failures: Hard to figure exact mean time to fail of

hard drivesTen thousand to one million hoursTen thousand hours is slightly more than

11 yearsAn array of 150 disks will experience an

average of one failure per month

Page 26: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

The issues (cont’d)

Offline storage media become rapidly obsoleteWho can read a 5.25” floppy?A 4 MB floppy?A 100MB Zip disk?

Page 27: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Can you read these?

On an old PCNoNo

Page 28: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

But you can still read this

Page 29: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

And this

Page 30: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Or even this

SENATVS POPVLSQ[UE]The Senate and the people …

Page 31: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

That’s not all

Hard copies were easy to authenticateType of paper and ink that were usedTypewriter font

Electronic forgeries are harder to detectCan use digital signatures

Become easier to break over timePictures can be “Photoshopped”®

Page 32: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

My conclusion

We are not in the best of all possible worlds Rolling clock backward is not possible

The genie is out the bottle! Must understand the issues and push for action

Course will only help you with first part

Page 33: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

HISTORICAL PERSPECTIVE

Page 34: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Three stages

The ancestors

The pioneers

The continuation

Page 35: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

The ancestors

Their contributions made computing possibleBlaise PascalJoseph Marie JacquardCharles BabbageSamuel MorseHerman Hollerith

All died well before computers were invented

Page 36: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Blaise Pascal

Seventeenth-century French physicist, Christian polemist and philosopher

His contributionFirst adding machineHe patented it!

Page 37: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

La machine de Pascal

Could only add and subtract Costly to build Not a commercial success

Page 38: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Long-term impact

Showed that arithmetic operations could be performed by mechanical devicesProof of concept

People kept building and using mechanical computing machines until the late sixties

Page 39: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Joseph Marie Jacquard

Self-taught French inventor Invented in 1801 a mechanical loom

that simplified the weaving of fabrics with complex patterns (brocade, damask, …)

Key idea was to use punched cards to store the patterns

Page 40: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Jacquard loom

Page 41: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Long-term impact

Jacquard loom was quickly adoptedReduced manpower needs for weaving of

fabrics with complex patterns Caused a workers' revolt in Lyon in 1831

Still in use today Showed that information could be stored in a

machine-readable form

Page 42: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Charles Babbage

English mathematician and mechanical engineer

Proposed a mechanical calculator that could tabulate polynomial functions Not built until much later

Page 43: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Motivation

Polynomials were used—and are still used—to compute logarithms, sines, cosines and so onBoole wanted to speed up the computation of

numerical tables

Page 44: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

The differential engine

Page 45: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Long-term impact

Boole went on to design a much more ambitious analytical enginePrototype of a modern computer

Some difference engines were built laterOne was used to produce printed logarithmic

tables Showed that computations can be programmed

Page 46: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Samuel Morse

American painter and inventor Invented the telegraph

First practical application of electricity

"Queen Victoria's Internet" Huge immediate impact on

many human endeavorsMade the world smaller

Page 47: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Long-term impact

Was developed to avoid continued fighting after peace treaty (Treaty of Ghent 1814)Did not guarantee universal peace among

nations Showed that information could travel fast over

long distances

Page 48: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Herman Hollerith

American statistician Tried to speed up

the processing of the 1890 census

Invented the tabulating machine

Page 49: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Tabulating machine and sorter

Page 50: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

How they worked (I) Used punched cards

Hollerith cardsBecame obsolete in the late seventies

Page 51: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

How they worked (II)

When tabulating machine read a card, it couldAdd the values stored in some columns to

one of its registers Instruct the sorter to open one of its slots

Next step was to make cards move within tabulator and sorter without any human intervention

Page 52: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Long-term impact

Tabulating machines were produced until the mid-seventiesWere used all around the worldMade IBM

While Babbage’s differential engine was purely mechanical, Hollerith tabulating machines were electromechanical.

Page 53: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

More inventors (I)

Charles Sanders PierceAmerican philosopher, logician and inventorShowed in 1880’s that Boolean algebra could

be implemented by electrical circuits

Page 54: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Boolean algebra

Uses two quantities (0 or 1; true or false) Basic operations include

AND:p AND q is true iff both p and q are true

OR:p OR q is true unless both p and q are false

NOT:NOT p is true if p is false and false otherwise

Page 55: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Boolean algebra and circuits

Convention:Switch on is 1, switch off is zero

AND:

OR:

Page 56: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

More inventors (II)

John Atanasoff and Clifford Berry Iowa State CollegeBuilt a very limited computer using vacuum

tubes in the 1930’s

Page 57: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

World War II

United States had to build very quickly large armed forcesTrain and equip them

Needed better ballistic tables to predict naval gun trajectoriesResulted in development of two computers

Page 58: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Harvard Mark I

Designed by Howard H. Aiken Built by IBM from switches, relays and other

electromechanical parts First programmable computer

Read its instructions from a punched paper tapeExecuted them in sequenceLoops were implemented by making a paper loop

Page 59: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

ENIAC

Electronic Numerical Integrator And Computer Designed and built at University of Pennsylvania

by a team headed by John Mauchly and J. Presper Eckert

Used vacuum tubesThousand times faster than Harvard Mark I

Came too late to contribute to war effort Needed to be programmed externally

Page 60: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

EDVAC

Successor to ENIAC Designed by same authors Used binary arithmetic

Simpler Stored its programs in its memory

Could even modify them while running

(Von Neumann architecture)

Page 61: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Other WW II Computers

Set of top secret machines developed in UK to crack German Enigma code

Collectively known as Colossus

Existence was not known until much later

Page 62: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Binary arithmetic

Used by all computers Two-digit arithmetic

0 and 1Easier to implement

Two voltages HIGH and LOW

Page 63: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Binary numbers

0 same as decimal 0 1 same as decimal 1 10 same as decimal 2 11 same as decimal 3 100 same as decimal 4 1K = 1 followed by ten zeroes, same as 1,02410

1M = 1 followed by twenty zeroes a million 1G = 1 followed by thirty zeroes a billion

Page 64: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Deciphering decimal numbers

Both digit value and position count937

Rightmost value indicates units Value at its left indicates tens Leftmost value indicates hundreds

We read 937 as nine hundred thirty-seven

Page 65: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Deciphering binary numbers

Both digit value and position count110

Rightmost value indicates units Value at its left should be multiplied by 2 Leftmost value should be multiplied by 4

We read 110 as 0×1 + 1×2 + 1×4 = 6

Page 66: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Binary addition and multiplication

0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 10

0 × 0 = 00 × 1 = 01 × 0 = 01 × 1 = 1

Page 67: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

The Von Neumann architecture

Input Output Memory containing program and data Processor

DatapathControl

Storage subsystem came later

Page 68: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

A single bus realization

Page 69: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

A more recent realization Northbridge chip is

much faster than Southbridge chip

Trend is to include the functionality of the Northbridge in the CPU chip Intel Sandy Bridge AMD Fusion

Page 70: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

A laptop motherboard

Page 71: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

THE FIRST GENERATION

Used vacuum tubesWere power hungry and unreliable

UNIVACFirst commercially successful computer

IBMWell established tabulating machine maker Started dominating the field in the mid to

late fifties

Page 72: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

The UNIVAC I

Page 73: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Overall organization

Quite similar to that of today’s computers

CPUMAIN MEMORYprograms + data

PERIPHERALS

Page 74: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Evolution

Revolution was started by UNIVAC IBM quickly become the leader

Was a true computer companyWell introduced in most businesses

Already used IBM tabulating machines In the sixties and seventies, most people

identified IBM as “the” computer maker

Page 75: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Batch systems

Allow users to submit a batches of requests to be processed in sequence

Include a command language specifying what to do with the inputsCompile Link editExecute and so forth

Page 76: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

An IBM 1401

Page 77: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Interactive systems

Came later Allow users to interact with the OS through their

terminals: Include an interactive command language

UNIX shells, Windows PowerShellCan also be used to write scripts

Page 78: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Time sharing (I)

Lets several interactive users to access a single computer at the same time

Standard solution when computers were expensive

Page 79: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Time sharing (II)

Page 80: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

UNIX (I)

Started at Bell Labs in the early 70's as an attempt to build a sophisticated time-sharing system on a very small minicomputer.

First OS to be almost entirely written in C Ported to the VAX architecture in the late 70’s

at U. C. Berkeley: Added virtual memory and networking

Page 81: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

The fathers of UNIX

Ken Thompson and Denis Ritchie

Page 82: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

UNIX (II)

Became the standard operating systems for workstations

Selected by Sun Microsystems Became less popular because

Two many variants Berkeley BSD, ATT System V, …

PCs displaced workstations Windows has a better user interface

Page 83: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

UNIX Today

Several free versions exist (FreeBSD, Linux): Source code of these free versions is

available at no cost Ideal platform for OS research

UNIX/Linux-based kernels used by Apple OS X and iOS operating system Android operating systems Chrome OS is barely modified Linux

Page 84: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Time sharing (III)

Time sharing become much less important by the end of the eightiesPersonal computers became almost as cheap

as terminalsTime sharing could not support graphical user

interfaces

Page 85: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Why?

A graphical user interface must transfer a lot of data between the processor and the display unitCannot do it if distance exceeds a few feet

The workstation was bornCombines a computer with its display

Page 86: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Graphical user interfaces

Called GUIs (pronounced goo-eys): Macintosh, Windows, X-Windows, Linux

Require a dedicated computer for each user Pioneered at XEROX Palo Alto Research Center Popularized by the Macintosh Dominated the market with Microsoft Windows

Page 87: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Xerox PARC (I)

Founded by XEROX in 1970 Invented

Laser printing Ethernet The GUI paradigm Object-oriented programming (Smalltalk)

Page 88: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Xerox PARC (II)

All their inventions were brought to market by other concerns

Popular belief is that Xerox management blew it In reality

Alto workstations were very expensiveSmalltalk was very slowGroup was too small to deliver a full system

Page 89: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

The personal computer

By 1971, it was possible to put a very simple CPU on a single chip Intel 4004 was a four-bit microprocessor

designed for a desktop calculatorFollowed by an 8-bit version 8008

Used to build very basic personal computers

Page 90: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Evolution (I)

1977: Apple ][First widely successful mass-produced PCKiller app was Visicalc spreadsheet

1981: IBM PCBig success because people trusted IBMMicrosoft designed the OS (PC-DOS)

Page 91: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Evolution (II)

1984: MacintoshFirst mass-produced PC with GUIWas not an instant successRescued by laser printer

1992: Windows 3.1MSDOS + Windows 3.1 offered the first GUI

solution for IBM PCs

Page 92: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

How IBM lost the PC market (I)

IBM PC used “off-the-shelf” components Microsoft retained the rights to sell PC-DOS

to other computer makers (MS-DOS) Sole specific part was BIOS

Very basic operating system stored in read-only memory

Loads MS-DOS/Windows in main memory© IBM

Page 93: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

How IBM lost the PC market (II)

Chip makers learned to produce functionally equivalent BIOS without violating IBM copyrightReverse engineering:

Define IBM BIOS by all its outputs for all possible inputs

Hire people who had never seen the IBM BIOS to rewrite it

Page 94: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

How IBM lost the PC market (III)

Rivals could sell PCs at cheaper prices than IBMLeaner cost structure

Could come with new models faster than IBM didLess cumbersome review process

Page 95: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

The new frontiers

Smaller devices:Now-defunct PDAs, smart phones, tabletsCheaper than PCs (but tablets)Much bigger market

New microprocessor architectures: Intel—and AMD—pulverized the competition

(Motorola 68000, MIPS, PowerPC, Sun SPARC)

Now competing with ARM chips

Page 96: COSC 1306 COMPUTER SCIENCE AND PROGRAMMING Jehan-François Pâris jfparis@uh.edu

Challenges

Openness

Digital divide

Addiction