A NEW PAGE TABLE FOR 64
Download
Report
Transcript A NEW PAGE TABLE FOR 64
COSC 1306
COMPUTER
SCIENCE AND
PROGRAMMING
Jehan-François Pâris
[email protected]
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
now teaches in a
small University in
Montevideo,
Uruguay
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
Ten thousand to one million hours
Ten 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 POPVLSQ[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, sines, 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