history of computing

Download History of Computing

If you can't read please download the document

Upload: amit-k-gupta

Post on 11-Sep-2014

148 views

Category:

Documents


0 download

TRANSCRIPT

History of ComputingDr. Pierre Vignrashttp://www.vigneras.name/pierre

This work is licensed under a Creative Commons Attribution-Share Alike 2.0 France. See http://creativecommons.org/licenses/by-sa/2.0/fr/ for detailsDr.

Text BooksThe Web: http://wikipedia.org C- How to program (Third Edition) Introduction C++ and Java Deitel & Deitel Prentice HallBooksReference Book: New Perspectives On Computer Concepts Parsons and Oja National Book FoundationDr.

Class, Quiz & Exam Rules

Noentryafterthefirst10minutes Noexitbeforetheendoftheclass UnannouncedQuiz

Weekly,atthebeginningofaclass Fixedtiming(youmaysufferifyouarrivelate) SpreadOut(doitquicklytosaveyourtime) Papersthatarenotstrictlyinfrontofyouwillbe consideredasdone Cheaterswillget'1'mark Yourheadshouldbeinfrontofyourpaper!Dr.

Rules

Grading Policy

Grading Policy

Quiz:20% Mid:30% Final:50% Afinalaveragebelow50/100willbeassigned afailedmark:F.

Dr.

Outline (Important points)

Basics

Numeralbasis Bits&Bytes computercomponents VonNeumannArchitecture Moore'sLaw

HardwareHistory

Dr.

Outline (Important points)

TheoryHistory

GodelTheorem TuringMachine,LambdaCalculus&Boolean Algebra Algorithms(pseudocode,flowcharts) ComputabilityandComplexityTheory CompilationvsInterpretation TypeSystem Typechecking(staticvsdynamic,weakvsstrong)Dr.

LanguageHistory

Outline (Important points)

OperatingSystemHistory

Definitions&Compositions OpenSource(GNU,Linux)

Eras(Unix,Apple,IBMPC,Mac,Windows)

NetworkHistory

Internet,Web,SearchEngine NetworkLayers(OSI,TCP/IP) NetworkTopology

Dr.

Basics BasicsOutline

Dr.

8

Computer: definition(http://en.wikipedia.org/wiki/Computer)

Origin

Personwhoperformednumericalcalculations, oftenwiththeaidofamechanicalcalculating device Machineformanipulatingdataaccordingtoa listofinstructionsknownasaprogram.

Today

I. Basics

VarioussortSupercomputer,Mainframe,Servers PersonalComputers,Laptop PDA,CellularPhones,SmartcardsDr.

Vocabulary(http://en.wikipedia.org/wiki/Digital http://en.wikipedia.org/wiki/Bit)

Digital=discrete

Comesfromdigits(Latinorigin=fingers)

Analogue=continuous(reallife) Bit=1binarydigit

Canhaveeitherthevalue1or0 Usedtorepresent(almost)everything Physicalrepresentation:

I. Basics

1==electricityispresent 0==noelectricityDr.

Abyteisacollectionof8bits

Numeral BasesBase 10: Decimal Base 10: Decimal Base 2: Binary Base 2: Binary Base 8: Octal Base 8: Octal Base 16: Hexadecimal Base 16: Hexadecimal10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000 10001 10010 8 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 16 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 12

I. Basics

Common values: Common values: 28=256 268=256 21 16 =65,536 20 =65,536 21 10 =1,024(kilo) 20 =1,024 (kilo) 22 20 =1,048,576(Mega) 20 =1,048,576 (Mega) 23 30 :1 mega kilo (Giga) 20 : 1 mega kilo (Giga) 24 40 :1 giga kilo (Tera) 2 : 1 giga kilo (Tera)

1 kb = 1024 bits 1 kb = 1024 bits 1 kB = 1024 bytes 1 kB = 1024 bytes 1 CD = 650 MB 1 CD = 650 MB 1 DVD = 4.5 GB 1 DVD = 4.5 GB 1 photo ~ 2 MB 1 photo ~ 2 MB 1 character = 1 B 1 character = 1 B 1 text email ~ 5 kB 1 text email ~ 5 kB

Dr.

Personal Computer Architecture(1)Screen (2)Motherboard (3)Processor(CPU) (4)Memory(RAM) (5)ExtensionCards (6)PowerSupply

I. Basics

(7)Opticaldiskdrive (CD/DVD) (8)HardDiskDrive(HDD)Dr.

(9)Keyboard

Memory(http://en.wikipedia.org/wiki/Random_Access_Memory)

RandomAccessMemory(Mainmemory)

Erasedwhencomputerisshutdown Alistofcells

Eachcellisassignedanaddress(anumber)andcan storeafixedamountofinformations(8,16,32or64 bits) Thecelladdressed#1234contains0101 0101maymeans:

Memorycancontainsinstructionsordata

I. Basics

thenumber5indecimal, thecharacter'F', theinstruction:increasethevalueofthenextcellbyone Dr.

Central Processing Unit(Processor)(http://en.wikipedia.org/wiki/CPU)

Readsinstructionsfromthememory, executesthemandwritestheresultinthe memory

Operationspossible

addition,subtraction,multiplication,division comparisons,stringmanipulations,... Frequency=Numberofticks(cycle)persecond Performance=InstructionsPerCycle* Frequency

I. Basics

Drivenbyatimer

AMDAthlonXP~2.5IPC IntelPIV~2IPCDr.

Input/Output Devices

Harddrives

Storepermanentlydata

Programsanddata(documents)

Networkcards(Ethernetcard)

Usedtoconnectseveralcomputers Readonlystoragedevices(music,video,data) DrivenbytheCPUtotransmitdataonscreen(s) ContainsaGraphicprocessor(GPU)Dr.

CD/DVDdrives

I. Basics

VideoCard(3Dspecializedhardware)

The 2006 market

CPUs(futuretrendsismulticore)

Intel:PIV(~3.8GHz),CoreDuo(~2GHz) AMD:Athlon64,Opteron(~2Ghz)

Memory:[5121512]MB HardDrives:[60800]GB NetworkCards:

I. Basics

Ethernet:1Gb/s Wireless(WiFi):~54Mb/s

VideoCards:~256MB,400MHz Screens:CRT17'&19';TFT15'&17'(trend)Dr.

Internet(http://en.wikipedia.org/wiki/Internet)

Worldwide,publiclyaccessiblenetworkof interconnectedcomputernetworksthat transmitdatausingtheIPprotocol(language) WorldWideWeb(WWW):

collectionofinterconnecteddocuments,linkedby HyperlinksandURLs accessibleviatheInternet,asaremanyotherservices www!=Internet Youneedaclientapplication(calledawebbrowser)http://images.google.com/preferences(www)Dr. fish://192.168.1.1/documents(SSH)

I. Basics

URL:protocol://address[:port]/ressource

Searching on the web

SearchEngines

Google:http://www.google.pk Yahoo:http://www.yahoo.com Duringthenight,arobotscanstheweband indexeswebpagesmakingpairs[word,{URLs}] Whenyouenterakeyword,thesearchengine lookinitstableforamatching[word,{URLs}] Itthenpresentthesetof{URLs}Dr.

Howdoesitwork?

I. Basics

Internetdoesnotprovidetrueinformations

E-Mail

WorksovertheInternetlikethenormal (slow)mailsystem(alsocalledsnail) Youneedaclientapplication

Canbeawebbrowser(webmail) Canbeadedicatedmailreader

I. Basics

Youshouldfollowthenetiquette(Internet Etiquette)

Catchalltermfortheconventionsofpoliteness See:http://tools.ietf.org/html/rfc1855RFC1855(standard) http://www.penmachine.com/techie/emailtrouble_200307.html(short)Dr.

History HistoryOutline

Dr.

20

Parallel Worlds

Theory

Engineering

Models Languages Complexity Computability Cryptography

Hardware

Processors,Hard drives,Memory,... Design,Operating Systems,Project Management,...

Software

II. History

EdsgerDijkstra:"Computerscience isnomoreaboutcomputersthan astronomyisabouttelescopes.

Using a computer does not make one a computer scientist!Dr. 21

Hardware HardwareII. History http://www.eingang.org/Lecture/Dr. 22

Counting

II. History/Hardware

Fromtheverybeginning,menstartedoffby countingontheirdigitsforvariousreasons

Sharingfooditemsfairly Religion&ceremoniesaccordingtotime etc.

Manypossibilities(base):10,16,12,6,... Someattemptstocreatecountingmachines

Helpcountinguptobignumbers Abacus(China),Pascaline(BlaisePascal,1642), TheDifferenceEngine(CharlesBabbage,1812)Dr. 23

Cards

1890:HermanHollerithpresents

II. History/Hardware

PunchedCards&TabulatingMachine ForU.S.CensusBureau UseduntilthehighlycontroversialUnitedStates presidentialelectionof2000 TabulatingMachineisagreatsuccess:creationof IBMbyHermanHollerith

Limitedtotabulation

Dr.

24

Cards(http://en.wikipedia.org/wiki/Punch_card)

II. History/Hardware

Dr.

25

Cards(http://en.wikipedia.org/wiki/Punch_card)

II. History/Hardware

Dr.

26

Binary Representation

II. History/Hardware

In1941,KonradZusecreatestheZ3 Usesbinarysystem

Dr.

27

Engineering Improvements

MarkI(IBM,19301959)

II. History/Hardware

Fullyautomaticmachine Fouroperationson23decimalsnumbers Subroutines(logarithm&trigonometric functions) 3to5secondspermultiplication InuseatHarvarduntil1959 10decimaldigitswords WireyourowninstructiontechniqueDr. 28

ENIAC(MauchlyandEckert,19461955)

John Von Neumann(http://en.wikipedia.org/wiki/Von_Neumann_Architecture )

II. History/Hardware

DataandProgramcanbestoredinthesame space

Themachineitselfcanaltereitheritsprogramor itsinternaldata

Conditionalgoto'stootherpointinthecode Oftenusedsubroutinescanbestoredin memory Firstmachineappearsin1947(EDVAC& UNIVAC)

Stilltheoverallarchitectureofcomputerstoday!Dr. 29

Von Neumann Architecture

II. History/Hardware

Dr.

30

Major engineering advances

II. History/Hardware

Transistors(Shockley,Bardeen,Walter; 1947)

Freedomfromvacuumtubes,whichwere extremelybulky Akachip collectionoftinytransistorswhichareconnected together onlyconnectionswereneededtootherelectronic components31

IntegratedCircuits(Kilby,1959)

Dr. Machinesbecomessmallerandmore

Moore's Law(http://en.wikipedia.org/wiki/Moore's_law)

1965:Moore,acofounderofIntel.

II. History/Hardware

Thecomplexityofintegratedcircuitsdoublesevery 24months Quotedas[...]doublesevery18months! goalforanentireindustry.

EmpiricalObservationsandprediction

Moore'slawmeansanaverageperformance improvementintheindustryasawholeof over1%aweek.

Anewproductthatisexpectedtotakethreeyearsto developandisjusttwoorthreemonthslateis10to 32 Dr.

II. History/Hardware

Moore's law

Dr. 33

Moore's Law effect

II. History/Hardware

Dr.

34

Moore's Law limitation

2006stateoftheart

IBMpublishedapaperfora30nmtechnology GordonMoorestatedinaninterviewthatthelawmay notholdvalidfortoolong,sincetransistorsmayreach thelimitsofminiaturizationatatomiclevels Moore'sLawofIntegratedCircuitswasnotthefirst, butthefifthparadigmtoprovideacceleratingprice performance. Newtypeoftechnologywillreplacecurrentintegrated circuittechnology,andthatMoore'sLawwillholdtrue longafter2020. Dr. 35

II. History/Hardware

April2005

2003:Kurzweilconjecture

General Moore's Law

II. History/Hardware

Dr.

36

2006 Trends(http://en.wikipedia.org/wiki/Multicore_CPU)

Majormisunderstanding:

Performanceisnotequivalenttoclockspeed! Moore'slawisnotaboutdoublingperformance anyway! PuttwoCPUsonthesamesilicondie:dualcore Intel,AMD,IBM,Sunarefocusingonthis NoneedforanewCPUdesign:lessriskDr. 37

Doublingthenumberoftransistors:

Thefutureismulticoresystems

Majorissueatthesoftwarelevel

Theory TheoryII. History

Dr.

38

The Godel Theorem (1931)(http://en.wikipedia.org/wiki/Gdel's_incompleten ess_theorems)

II. History/Theory

Insomecases,itispossibletoprove somethinganditscontrary(inconsistency). Somemathematicaltruthareimpossibleto prove(incompleteness)

Idea:AnyFrenchisalierhassaidbyaFrench Sketchoftheproof:

supposeaprogram'P'cantellifapropositionisTRUE orFALSEwithouterror. Proposition:Theprogram'P'doesnotreplyTRUEto thisproposition.

CantheprogramreplyTRUEorFALSE?Neither! Andwhataboutus?IsthepropositionTRUE?Yes! Dr.39

Alan Turing Machine (1936)(http://en.wikipedia.org/wiki/Turing_machine)

Infinitetape(dividedintoadjacentcells)

Eachcellcontainsasymbolfromsomefinite alphabet:{a,...,z};{0,...,9};{0,1} read/writesymbols movethetapeleftandrightonecellatatime. whatsymboltowrite howtomovethehead whatitsnewstatewillbe40

II. History/Theory

Head

Tableofinstructionsthattellsthemachine:

Stateregisterthatstoresthe(finite)stateofthe Dr.

Turing Machine

(Abbrev: TM)

(http://en.wikipedia.org/wiki/Turing_machine)

II. History/Theory

Dr.

41

Alan Turing Machine (1936)(http://en.wikipedia.org/wiki/Turing_machine)

Stone(1972):fullydescriptionrequires

Thealphabet Theinputforminwhichtheparametersare presentedonthetape Theoutputforminwhichanswerswillbe representedonthetapewhentheTuring machinehalts TheinitialstateoftheTuringmachine ThemachineprogramDr. 42

II. History/Theory

Turing Machine(http://en.wikipedia.org/wiki/Turing_machine)

Example:incrementfunction:inc(x)=x+1

Tapealphabet:{0,1} Input:Anumberinbaseoneenclosedbyzero Starting points 010 :0...010...0 110 :0...0110...0 410 :0...0111110...0 1010 :0...0111111111110...01,> s0

0,1

0,>>Dr.

43

Turing Machines

TuringMachinescanbecomposedtocreatemore complexones. Example: f(x)=x+21,> s0

0,1 1,>> s0

0,>>

1,>

Turing Machines

TuringMachinescanbecomposedtocreatemore complexones. Example: f(x)=x+21,> s0

0,1 1,>>

0,>>

1,>

Turing Machines

TuringMachinescanbecomposedtocreatemore complexones. Example: f(x)=x+21,> 0,>> 1,> s0

0,1

Relabel states

s2

0,1Dr.

0,>>

Turing Machines and Algorithms

ATuringMachinedescribesamechanical procedure

Sortofrecipe Eachstepissimpleandwelldefinedsoitcanbe followedbyanyhumanusingapaperandapencil

II. History/Theory

Verycomplexprocedurescanbedescribedusing Turingmachines Addition,multiplication,...(anything?) ATuringmachineprovidesaneasytounderstand abstractionofhowcomputers(humansormachines) areactuallyworking TuringMachinesaretheactualformalisationof 47 Dr.

Algorithms(http://en.wikipedia.org/wiki/Algorithm)

FromthefamousArabscientistAlkhwarizmi

Solvingproblemsinanorderedstepbystep sequence

II. History/Theory

Analgorithmisafinitesetofwelldefined instructionsforaccomplishingsometask which,givenaninitialstate,will terminateinadefinedendstate.

Orderofcomputationisusuallycriticaltothe functioningofthealgorithm. Instructionsareusuallylistedexplicitlystarting 'fromthetop'andgoing'downtothebottom':this Dr. 48

Algorithm Representations

ATuringMachineisonerepresentationofan algorithm Otherrepresentationsinclude:

II. History/Theory

Naturallanguage(tooverboseandambiguous) pseudocode(nostandard)

derivedfromprogramminglanguages schematicrepresentationofaprocess derivedfromTuringMachinesrepresentation

flowcharts (tooverbose)

programminglanguages(toodetailed)

Sowhichonetochoose?Itdepends!

Allofthembutfordifferentsituations Dr.

49

Algorithm Example: largest numberNatural Language

Input:anunsortedlistofnumbers Output:theindex(rank)ofthelargestnumberinthelist

1.Assumethefirstitemislargest.

II. History/Theory

2.Lookateachoftheremainingitemsinthelist andifitislargerthanthelargestitemsofar, makeanoteofitsrank. 3.Thelastnotedrankistheoneofthelargest elementinthelistwhentheprocessiscomplete.

Complexity:requiresNcomparisonswhereN isthesizeofthelistDr. 50

Algorithm Example: largest number Pseudo-code(http://en.wikipedia.org/wiki/Pseudo-code) max = 0 Assignment for (all i such that 0Noreduction! Logicandpredicates TRUE:=xy.x,FALSE:=xy.y AND:=pq.pqFALSE,OR:=pq.pTRUEq NOT:=p.pFALSETRUE, IFTHENELSE:=pxy.pxy

Dr.

77

Basis of Programming Languages

TuringMachineleadstousualrepresentation ofalgorithms

II. History/Theory

expressedinaniterativeway,insequencesof welldefinedsteps expressed using only functions Use recursivity extensively Proven!

-calculus leads to another way of expressing algorithms

Same expressive power than Turing Machine

Dr.

78

(http://en.wikibooks.org/wiki/Computer_programming)

Functionnal language ExamplePrefix notation

Only functions

II. History/Theory

(defun f (n) (defun f (n) (if (< n 2) 1 (if (< n 2) 1 (* n (f (- n 1))) (* n (f (- n 1))) ) ) ) )

Recursive callPrefix notation example: f(x-y)+ z --> (+ (f (- x y)) z) Prefix notation example: f(x-y)+ z --> (+ (f (- x y)) z) (f 4) ==24 ==4! ; ;(f n) ==n! (f 4) 24 4! (f n) n! Where are data types? Where are data types?Dr.

Inferred! Inferred!79

Church-Turing Thesis(http://en.wikipedia.org/wiki/Church-Turing_thesis)

hypothesisaboutthenatureofcomputers

digitalcomputer humanwithapencilandapaperfollowingaset ofrules.

II. History/Theory

claimsthatanycalculationthatispossible canbeperformedbyanalgorithmrunningon acomputer,providedthatsufficienttimeand storagespaceareavailable.

mayberegardedasaphysicallaworasa definition,asithasnotbeenmathematically proven.Dr.

80

The Art of Computer Programming(http://en.wikipedia.org/wiki/The_Art_of_Computer_Progr amming)

MonographwrittenbyDonald.E.Knuth

Startedin1962 2006:7Volumes!

II. History/Theory

ConsideredbytheAmericanScientistasoneofthe besttwelvephysicalsciencemonographsofthe21th century Computersciencecommunityregardsitasthefirst andstillthebestcomprehensivetreatmentofits subject. BillGates:"Ifyouthinkyou'reareallygood programmer...read(Knuth's)book...Youshould...Dr. 81

The Art of Computer Programming

Givessolutionstocommonprogramming problemsfoundincomputersciences

II. History/Theory

Datastructures,sorting,searching,lexicalanalysis, graphs,...

Complexityanalysisofeachsolutionisalso described

Example:numberofstepsrequiredtosortalist

Algorithmsarewritteninpseudoassembly languagecalledMIX

MaybehardtounderstandDr. 82

Accessiblealgorithmstextbooksusehighlevel

Complexity Theory(http://en.wikipedia.org/wiki/Computational_complexity_ theory)

II. History/Theory

Studytheresources,orcost,ofthe computationrequiredtosolveagiven computationalproblem. Costismeasuredintermsofabstract parameterssuchastimeandspace

computationalresources.

Time:numberofstepsrequired Space:quantityofinformationstorage required AComplexityClassisthesetofallofthe Dr. 83 problemswhichcanbesolvedusingacertain

Complexity Theory(http://en.wikipedia.org/wiki/Computational_complexity_ theory)

II. History/Theory

Tradeoffsbetweentimeandspace Alternativealgorithmmayrequirelesstime butmorespace(orviceversa)tosolveagiven problem. Parallelprocessorscanalsobeconsidered.

"parallelizabletime"and"nonparallelizable time"(i.e.sequentialtime)areconsidered. Sequentialtimegivesalimittohowfarthe computationcanbeparallelized.Somestepsmust bedonesequentiallybecausetheydependonthe resultsofprevioussteps.Dr. 84

Practical ComplexitiesGraph Overview1000 900

II. History/Theory

800 700 600 500 400 300 200 100 0log(n) n n.log(n) n n3 2n

Dr.

Practical Complexitieslog(n) 0 1 2 3 4 5 n 1 2 4 8 16 32 n.log(n) n 0 1 2 4 8 16 24 64 64 256 160 1024 n 2n 1 2 8 4 64 16 512 256 4096 65536 32768 42949672963

II. History/Theory

Complexities below exponential are practically feasible Complexities below exponential are practically feasible

Dr.

Complexities Consequences

www.top500.org:bestcomputersintheworld 2006:nextgenerationwillbebeyond PetaFLOPS/s

II. History/Theory

10^12 instructionspersecond! Algorithminn2instructionsrequires 100*100=10,000instructions,lessthan1second Algorithmin2n requires2100 instructions 2100 >10^30 instructions,morethan400millionsof yearsofcomputation!!Dr.

Foraproblemofsize100

Example: Travelling Salesman Problem (TSP)

Given:

asetofcities, thedistancebetween them

II. History/Theory

Brute force requires n! steps Brute force requires n! nsteps Best algorithm requires 2 nsteps Best algorithm requires 2 stepsDr.

Findthecheapest roundtriproutethat visitseachcity exactlyonceand thenreturnstothe startingcity88

Polynomial Complexity Class: P(http://en.wikipedia.org/wiki/P_(complexity))

Pisthesetofdecisionproblemsthatcanbe solvedbyaTMinpolynomialtime.

II. History/Theory

Intuitively,setofproblemswhichcanbe effectivelysolvedintheworstcases GreatestCommonDivider, Sorting,Searching,Merging,... isanumberprime(provenin2002)

Examples:

MajorityofproblemsinParepractically feasiblesDr. Rarearetheonesthatneedsn10000 steps! 89

Non-deterministic Polynomial Complexity Class: NP

ThecomplexityclassNPisthesetofdecision problemsthatcanbe"verified"byaTMin polynomialtime

(http://en.wikipedia.org/wiki/NP_(complexity))

II. History/Theory

TheymaynotbesolvedbyaTMinpolynomial timebuttheanswershouldbecheckable efficiently(inpolynomialtime) Integerfactorization DecisionversionoftheTSP(istherearoutewith cost