cosc 1306 computer science and programming jehan-françois pâris [email protected]
TRANSCRIPT
CHAPTER ITHE COMPUTER
Chapter Overview
The computing phenomenonPervasivenessComputers or computing?
Historical perspectiveFour predecessorsThe birth of computers Its evolution
THE COMPUTING PHENOMENON
Computers as life changers
They are everywhere They have changed our lives
Electronic mailWWWOnline order processingTicketless 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 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
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!
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
Counterpoint
Human contacts still count:Main reason why scientists travel
No Internet access means exclusionCase 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 usedSteam-powered looms
One steam engine powered several loomsPower went through transmission belts and
pulleys Dangerous
transmission belts
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,
…
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 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
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?
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-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
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?
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
The issues (cont’d)
Offline storage media become rapidly obsoleteWho can read a 5.25” floppy?A 4 MB floppy?A 100MB Zip disk?
Can you read these?
On an old PCNoNo
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 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”®
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 possibleBlaise PascalJoseph Marie JacquardCharles BabbageSamuel MorseHerman Hollerith
All died well before computers were invented
Blaise Pascal
Seventeenth-century French physicist, Christian polemist and philosopher
His contributionFirst adding machineHe 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 devicesProof 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 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
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 onBoole 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 enginePrototype of a modern computer
Some difference engines were built laterOne 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 endeavorsMade 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 cardsBecame obsolete in the late seventies
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
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.
More inventors (I)
Charles Sanders PierceAmerican philosopher, logician and inventorShowed 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 CollegeBuilt a very limited computer using vacuum
tubes in the 1930’s
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
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
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
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 1Easier 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 count937
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 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
Binary addition and multiplication
0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 10
0 × 0 = 00 × 1 = 01 × 0 = 01 × 1 = 1
The Von Neumann architecture
Input Output Memory containing program and data Processor
DatapathControl
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 tubesWere power hungry and unreliable
UNIVACFirst commercially successful computer
IBMWell 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
CPUMAIN MEMORYprograms + data
PERIPHERALS
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
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
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 PowerShellCan 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 eightiesPersonal computers became almost as cheap
as terminalsTime sharing could not support graphical user
interfaces
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
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 expensiveSmalltalk was very slowGroup 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 calculatorFollowed by an 8-bit version 8008
Used to build very basic personal computers
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)
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
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 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
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
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
Challenges
Openness
Digital divide
Addiction