Chapter I The Computer - Department of Computer Science

advertisement
COSC 1306
COMPUTER
SCIENCE AND
PROGRAMMING
Jehan-François Pâris
jfparis@uh.edu
CHAPTER I
THE COMPUTER
Chapter Overview


The computing phenomenon
 Pervasiveness
 Computers or computing?
Historical perspective
 Four predecessors
 The birth of computers
 Its evolution
THE COMPUTING
PHENOMENON
Computers as life changers


They are everywhere
They have changed our lives
 Electronic mail
 WWW
 Online order processing
 Ticketless travel
Case study

A friend of mine
was teaching in a
small university in
Montevideo,
Uruguay
 He is now in a
university in El
Salvador
Then


Before the Internet, his life would have been
difficult
 No access to a good university library
 Could only communicate with colleagues
through
 Expensive international calls
 Slow Uruguayan postal service
Nearly total isolation from CS community
Now


He has
 Full access to research papers posted online
 Can communicate with colleagues through
 Email, instant messages, Facebook, …
 Skype
 Submits papers to conferences through
WWW
We write papers together!
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 in
 Small colleges in the boondocks
 Decent universities in developing countries
Counterpoint

Human contacts still count:
 Main reason why scientists travel

No Internet access means exclusion
 Case of most African countries
The iceberg

Most computing
takes place where
we do not see it
Examples






Car computers
Set-top box
Digital television
Fly-by-wire planes
Smart phones
Many medical appliances
An analogy


Mid-nineteenth century big textile factories used
 Steam-powered looms
One steam engine powered several looms
 Power went through transmission belts and
pulleys
 Dangerous
transmission belts
An analogy (cont'd)


Stream engines were progressively replaced
by electrical motors
 Quickly 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 everywhere
 Car power windows, razors, toothbrushes,
…
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
Counterpoint

Are we now living in the best of all possible
worlds?
Social problems

Lack of privacy

Distraction

Nothing is forgotten
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)
The full report

An Investigation of the Therac-25 Accidents
Nancy Leveson, U of Washington
Clark 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
Another big problem

In fly-by-wire planes, pilots’ inputs are handled
by an on-board computer
 What happens when pilots’ inputs conflict with
safety rules implemented in the on-board
computer?
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
An outcome


On June 1, 2009 Air France flight 447 from Rio
to Paris crashed in mid-Atlantic
 Cause of crash was aerodynamic stall
 Preceded 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
A long-term problem


An increasing large number of documents are
exclusively stored in digital format without
any hard copy
 Most of your recent pictures
 Your grades
Will they survive as well as hard copies do?
The issues

Disk failures:
 Hard to figure exact mean time to fail of
hard drives
One hundred thousand to one million
hours
One hundred thousand hours is slightly
more than 11 years
An array of 150 disks will experience an
average of one failure per month
The issues (cont’d)

Offline storage media become rapidly obsolete
 Who can read a 5.25” floppy?
 A 4 MB floppy?
 A 100MB Zip disk?
Can you read these?
No
No
On an old PC
But you can still read this
And this
Or even this
SENATVS POPVLVSQ[UE]
The Senate and the people …
That’s not all


Hard copies were easy to authenticate
 Type of paper and ink that were used
 Typewriter font
Electronic forgeries are harder to detect
 Can use digital signatures
 Become easier to break over time
 Pictures can be “Photoshopped”®
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
HISTORICAL
PERSPECTIVE
Three stages

The ancestors

The pioneers

The continuation
The ancestors

Their contributions made computing possible
 Blaise Pascal
 Joseph Marie Jacquard
 Charles Babbage
 Samuel Morse
 Herman Hollerith

All died well before computers were invented
Blaise Pascal


Seventeenth-century French
physicist, Christian polemist
and philosopher
His contribution
 First adding machine
 He patented it!
La machine de Pascal



Could only add and subtract
Costly to build
Not a commercial success
Long-term impact

Showed that arithmetic operations could be
performed by mechanical devices
 Proof of concept

People kept building and using mechanical
computing machines until the late sixties
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
Jacquard loom
Long-term impact


Jacquard loom was quickly adopted
 Reduced 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
Charles Babbage


English mathematician and
mechanical engineer
Proposed a mechanical
calculator that could
tabulate polynomial
functions
 Not built until much later
Motivation

Polynomials were used—and are still used—to
compute logarithms, sinus, cosines and so on
 Boole wanted to speed up the computation of
numerical tables
The differential engine
Long-term impact



Boole went on to design a much more ambitious
analytical engine
 Prototype of a modern computer
Some difference engines were built later
 One was used to produce printed logarithmic
tables
Showed that computations can be programmed
Samuel Morse



American painter and inventor
Invented the telegraph
 First practical application of
electricity
 "Queen Victoria's Internet"
Huge immediate impact on
many human endeavors
 Made the world smaller
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
Herman Hollerith



American statistician
Tried to speed up
the processing of the
1890 census
Invented the
tabulating machine
Tabulating machine and sorter
How they worked (I)

Used punched cards
 Hollerith cards
 Became obsolete in the late seventies
How they worked (II)

When tabulating machine read a card, it could
 Add 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
Long-term impact

Tabulating machines were produced until the
mid-seventies
 Were used all around the world
 Made IBM

While Babbage’s differential engine was purely
mechanical, Hollerith tabulating machines were
electromechanical.
More inventors (I)

Charles Sanders Pierce
 American philosopher, logician and inventor
 Showed in 1880’s that Boolean algebra could
be implemented by electrical circuits
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
Boolean algebra and circuits

Convention:
Switch on is 1, switch off is zero

AND:

OR:
More inventors (II)

John Atanasoff and Clifford Berry
 Iowa State College
 Built a very limited computer using vacuum
tubes in the 1930’s
World War II


United States had to build very quickly large
armed forces
 Train and equip them
Needed better ballistic tables to predict naval
gun trajectories
 Resulted in development of two computers
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
tape
 Executed them in sequence
 Loops were implemented by making a paper
loop
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 tubes
 Thousand times faster than Harvard Mark I
Came too late to contribute to war effort
Needed to be programmed externally
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)
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

Binary arithmetic


Used by all computers
Two-digit arithmetic
 0 and 1
 Easier to implement
 Two voltages HIGH and LOW
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
Deciphering decimal numbers

Both digit value and position count
 937
 Rightmost value indicates units
 Value at its left indicates tens
 Leftmost value indicates hundreds
 We read 937 as nine hundred thirty-seven
Deciphering binary numbers

Both digit value and position count
 110
 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
Binary addition and multiplication

0+0=0
0+1=1
1+0=1
1 + 1 = 10

0×0=0
0×1=0
1×0=0
1×1=1
The Von Neumann architecture





Input
Output
Memory containing program and data
Processor
 Datapath
 Control
Storage subsystem came later
A single bus realization
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
A laptop motherboard
THE FIRST GENERATION



Used vacuum tubes
 Were power hungry and unreliable
UNIVAC
 First commercially successful computer
IBM
 Well established tabulating machine maker
 Started dominating the field in the mid to
late fifties
The UNIVAC I
Overall organization

Quite similar to that of today’s computers
CPU
PERIPHERALS
MAIN MEMORY
programs + data
Evolution



Revolution was started by UNIVAC
IBM quickly become the leader
 Was a true computer company
 Well introduced in most businesses
 Already used IBM tabulating machines
In the sixties and seventies, most people
identified IBM as “the” computer maker
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 inputs
 Compile
 Link edit
 Execute and so forth
An IBM 1401
Interactive systems



Came later
Allow users to interact with the OS through their
terminals:
Include an interactive command language
 UNIX shells, Windows PowerShell
 Can also be used to write scripts
Time sharing (I)


Lets several interactive users to access a single
computer at the same time
Standard solution when computers were
expensive
Time sharing (II)
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
The fathers of UNIX
Ken Thompson and Denis Ritchie
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
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
Time sharing (III)

Time sharing become much less important by
the end of the eighties
 Personal computers became almost as cheap
as terminals
 Time sharing could not support graphical user
interfaces
Why?

A graphical user interface must transfer a lot of
data between the processor and the display unit
 Cannot do it if distance exceeds a few feet

The workstation was born
 Combines a computer with its display
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
Xerox PARC (I)


Founded by XEROX in 1970
Invented
 Laser printing
 Ethernet
 The GUI paradigm
 Object-oriented programming (Smalltalk)
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 expensive
 Smalltalk was very slow
 Group was too small to deliver a full system
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 calculator
 Followed by an 8-bit version 8008
 Used to build very basic personal
computers
Evolution (I)


1977: Apple ][
 First widely successful mass-produced PC
 Killer app was Visicalc spreadsheet
1981: IBM PC
 Big success because people trusted IBM
 Microsoft designed the OS (PC-DOS)
Evolution (II)


1984: Macintosh
 First mass-produced PC with GUI
 Was not an instant success
 Rescued by laser printer
1992: Windows 3.1
 MSDOS + Windows 3.1 offered the first GUI
solution for IBM PCs
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
How IBM lost the PC market
(II)

Chip makers learned to produce functionally
equivalent BIOS without violating IBM
copyright
 Reverse engineering:
 Define IBM BIOS by all its outputs for all
possible inputs
 Hire people who had never seen the
IBM BIOS to rewrite it
How IBM lost the PC market
(III)

Rivals could sell PCs at cheaper prices than
IBM
 Leaner cost structure

Could come with new models faster than IBM
did
 Less cumbersome review process
The new frontiers


Smaller devices:
 Now-defunct PDAs, smart phones, tablets
 Cheaper 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
Challenges

Openness

Digital divide

Addiction
Download