1625 - Schickard väitis,et tegi I liitev, lahutav, korrutav, jagav masin.
1640 -
Blaise Pascal -aritmeetiline masin –
liitis ,lahutas.Ca 50tki.
1646-1716 -
Leibniz . Leibnizi arvuti(1671)liitis, lahutas, korrutas, jagas.
1714
Kirjutusmasin ,
Henry Mill, ei ehitatud.
1800
Perfokaardid ,
Jacquard ,
1822 Babbage,Ada
Lovelace (I
programmeerija ).
1837 Morse elektritelegraaf.
1847-1854 George
Boole , de Morgan.
1857 perfolint(
Wheatstone ).
1867 “Type
writer ” sholes,glidden,soule.
1879 Kaasaegse
loogika alus:
Gottlob Frege (öloob kaasaegse predikaatarvutuse).
1890 - Hollerith’i perfokaardid->sellest
firmast tekkis IBM.
1845-1918 elas, Hulgateooria: Georg Cantor.
1920…
Enigma kodeerimiseks – Saksa lennu-,merevägi.
1935-1937
Turingi masin1936: Churchi
lambda -arvutus.
1930-1935-1937 Vannevar Bush MIT:dif. Võrrandite lahendamiseks(100t,tuhanded
releed ,150 mootorit,2000lampi).
1889-1951Ludwig
Wittgenstein .
1938,
Shannon ’i magistritöö sidus: Boole
algebra . Elektrilülitid ja -
skeemid . Bitid ja info kodeerimise. Info otsimise
algoritmid .
1939-1942 Atanasoff. esimene elektronarvuti?
1939-44 Mark I (Aiken)– IBMi elektriline(releed)
digitaalne arvuti(5t).
1941-1944:
Konrad Zuse . Z3, Z4. Releedega digitaalarvuti.
1947 – I
transistor (Shockley)- müüma hakkas Bell
Corp .
1949 - Maurice
Wilkes koostas EDSAC, the
first practical stored -
program computer, at
Cambridge University .
1950 – ERA
1101 (I
kommerts comp );
ALGOL 58/60: Hoare, Perlis, Dijkstra,
Kurtz , ..., Kotli;BCPL derivative of ALGOL (Strachey);B simplified derivative of BCPL (Ken
Thompson );
1952 - Nixdorf Computer Corp, liitus 1990 Siemensiga. Heinz Nixdorf
1953 - IBMi first electronic computer, the 701, Speedcoding: John Backus.
1956 - IBM develops the first
hard disk , the RAMAC 305(
math 5mb).
1957 – FORTRAN(loobimuutujatega,sisaldas if,do,goto)I kõrgkeel progekeel,vt70a
prolog .Asutati
Fairchild Semiconductor . 1958 –
First integrated circuit . SAGE – poolautomaatne arvutite võrk usas ja canadas.
1960 – COBOL(Pentagonis
arendas Hopper)-muutujad jades ja kirjetes;LISP(McCarthy)-programm koosn loendite hulgast.
1963 hiire
patent (Engelbart).
1964 - CDC's 6600 supercomputer(
Cray ),
Basic progekeel(Kurtz,Kemeny).
1965 – Moores law(integrated circuits
double iga aasta);PDP8 – I kommerts miniarvuti(
tutvustas DEC).
1967 – I
floppy disk (IBM);
LOGO arvutikeel lastele(Papert).
1968 - Intel Corp(Moore, Noyce – lahkusid Fairchild Semiconductorsst).
1969 – UNIX op.sys(
Belli labor - ritchie,Thompson,XEROX –
laserkiire domonstr(starkweather),avab PARCi;AMD(
Sanders );
1971 – Intel 4004 -
I mikroprotsessor .
Arpanet!! – arvuti-arvutis ühendus(interneti eelkäija).
1972 –
C keel!, Nolan loob Atari,mis teeb Pongi(I-si video mange) ja colossal
cave ;HP progev
kalkulaator magnetribaga;first logic programming
language Prolog(Colmerauer);first object-oriented language Smalltalk(Xerox
Parc ).
1973 - Ethernet (
arvutid traatidega yhenduses)(Metcafe).
1974 - ALTO
personaalarvuti (Xeroxilt) –suur mõju microsoftile ja macintoshile.
SQL 1975 – Micro-
Soft (Gates ja
Allen ), IBM 5100 (I “läpakas”).
1976 -
Apple I Computer(
Jobs , Wozniak);16bit mikroprose;SQL (kommerts) Honeywell Information systems(idee Coddilt IBMis 70-72a).
1977 – Commodore PET, Apple II, Loodi ametlikult
microsoft .
1977 –
Luuakse Oracle Bob Miner ja
Ed Oates 1978 – VAX11/780 ,
inteli 8086 mikropr;Raamat ”C programming language”.
1979 – Motorola 68000(16bit), USENET varane ”web”:tekstid masinast masinase,
VisiCalc Bricklin ja Frankston
!! 1980 – esimene hdd mikroarvutitele(Seagate),
QDOS 1981 – I kaasaskantav arvuti(Osbourne I);IBM 5150 PC ja cga
graafikakaart (16 värvi), 32000 – esimene 32-bit
prose (National Semiconductor)
1982 - loodi SUN ja
Compaq (Canion,
harris ,murto).
1983 – RSIst Oracle; C++, turbo pascal,
1984 – esimene MACINTOSH(edukalt hiirega juhitav), GNU(Stallman)tasuta op.s,
windows 1.0.
1986 –
NNTP – uudised liiguvad TCP/IP (interneti) kaudu;inteli 80386.
1987 – GCC
kompilaator UNIXil, IBMi ps2 vga-ga.
1988 Arpanet(
morris )
nö viirus netis. 1989 – inteli 80486, AOL(America online) Applile ja MACile.
Python !! 1989-90 FIDONET – rahvusvaheline võrguots Eestis – 90a
epost ,USENET
1990 – TBL browser NeXTil,HTML ja www, (berners-lee) – avalikuks 1991,
Windows 3.0
1991 –
Linux .
1992 – Windows 3.11, TCP/IP internetiotsad Eestis, wolfenstein 3d,gsm
mobiil (esimene
operaator Radiolinja Soomes).
1993 – NCSA Mosaic 1.0 – I
popp avalikult saadaval
brauser ;Inteli Pentium prose.
1997 – Google Larry Page,
Sergei Brin
1994 – NCSAst tekib Netscape(
clark ,Andreessen)brauser massidesse.
1995 – Eesti
Päevaleht ja
postimees internetis –
www.zzz.ee/epl, MS win95 ja IE 1.0.
1995 -
Java 1996 - Eestis netipangad (foreks,hoiupank.)
1997 -
Deep blue – maleproge, mis võidab maailmameistrit(Gasparovit).
1998 -
Mozilla , pentium2
XEON prose,
iMac (jobs),Red Hat(linux5.2).
1990-2002: aktsiamull, 90-lõpu dot-com
hype , crash! 1990-1996 kasvas USA
aktsiaturg (nii DOW kui
NASDAQ indeksid) palju kiiremini, kui eelmistel kümnenditel.1996
arvas Fed-i juht Greenspan, et kasv on olnud liiga kiire (“irrational exuberance” speech).1990-lõpuaastatel kiirendas interneti muutumine mainstream-tehnoloogiaks eriti järsult aktsiahindade tõusu.Tekkis palju firmasid, kes ei andnud üldse kasumit, ainult kulutasid raha, kuid mille aktsiaid osteti tohutu hinnaga.See andis hoogu ka nende firmade hinna kasvule, kes kasumit tekitasid.2000 aasta alguses oli NASDAQ index veidi üle
4500 . 2002 sügis oli see 1139!2000-2002 olid nii NASDQ kui DOW pidevalt langenud.
Analoogia eestis: börsimull 1997.2003: börsilangus lõppes, algas harilik kasv.
1999-2007: olulised asjad kümnendil:
Vabavara (GNU/Linux, Apache jne) muutus serverarvutitel (mitte laua-arvutitel) mainstream-tehnoloogiaks.GNU/Linux on olulisem, kui muud UNIX-id. Samas ei ole muutunud desktopil Windowsile tõsiseks konkurendiks. 3D graafikaprotsessorid muutuvad oluliseks standard-kaubaartikliks.Apple läks üle UNIXi-põhisele opsüsteemile (OS X).Microsoft konvergeeris Windows 95/98/ME ja NT/2000: Windows XP, edasi
Vista .
Peer -to-peer (P2P)
tehnoloogial põhinevad failivahetuse-süsteemid ((Napster), (Morpheus), Kazaa, eDonkey, bittorrent jne) ja hiljem netitelefon (mh
Skype ).Instant messengerid muutuvad populaarseks.Google muutub domineerivaks otsimootoriks + võrguteenuste pakkujaks.XML-põhised
veebiteenused ärirakendustes.CSS ja
javascript uuesti olulised brauseritehnoloogiad. Apple liikumine meediamasinatesse: iPod,
iPhone .
Koodinäited:
1.FORTRAN
INTEGER FUNCTI0N sumto(n)
isum = 0
DO i 10 = 0,n
isum = isum + i
10
CONTINUE sumto = isum
RETURN END .
2. COBOL
PROCEDURE SUMTO USING N,
Answer .
Begin .
PERFORM VARYING
LoopCount FROM 0 BY 1
UNTIL LoopCount
GREATER THAN N
MULTIPLY
Answer BY LoopCount
GIVING Answer.
END-PERFORM.
EXIT
PROGRAM .
3. LISP
(defun sumto (n)
(if (= 0 n)
0
(+ n (sumto ( n 1))) )).
4.sumto ja c
C (ja C++ ja Java ja C#)
int sumto(int n) {
int i,sum = 0;
for(i=0; i 10 x) #t #f) )
(
define (every? fn lst)
(if (
pair ? lst)
(if (fn (car lst))
(every? fn (cdr lst))
#f)#t))
(every?
good ? ‘(10 40 50 2 100))
Riistvara : Füüsilised, käegakatsutavad osad. Näited:
klaviatuur ,
monitor , integraalskeemid jms.
Tarkvara :
Programmid ja andmed. Programm on jada instruktsioon.
Algoritm on täpne samm-sammuline, kuid mitte tingimata
formaalne juhend millegi tegemiseks. Näited:Toiduretsept. Juhend ruutvõrrandi lahendamiseks. Algoritmiline probleem - probleem, mille lahenduse saab kirja panna täidetavate juhendite loeteluna.Programm on formaalses, üheselt mõistetavas keeles kirja pandud
algoritm . Arvutid suudavad täita ainult
programme ..Analoogsüsteem - andmeid salvestatakse (peegeldatakse)
proportsionaalselt Näit: termomeeter, vinüülplaat, foto.Digitaalsüsteem-(
pidevad ) andmed lõhutakse üksikuteks tükkideks, mis salvestatakse .eraldiNäit: CD,
arvutiprogramm , kiri tähtede ja bittidena.
Ühelt teisele:
digitaliseerimine .Põhiprotsessor - teeb pea kogu töö.Põhimälu - hoiab aktiivses kasutuses olevaid programme ja andmeid.Välismälu - pikaajaliseks säilitamiseks (kõvaketas, flopid jne).Välisseadmed - monitor, klaviatuur jne. Turing
machine - lihtne teoreetiline masin. Alan Turingi idee, milline võiks olla lihtne universaalne arvuti: suudaks arvutada/järeldada kõike!! Turingi tees: kõike, mida üldse saab mingi
masinaga arvutada/järeldada, saab ka Turingi masinaga arvutada.Mida saab üldse mehaaniliselt arvutada/järeldada? -
Selgub , et kõiki täpselt formuleeritud, selgeid, algoritmilisi probleeme ei saa garanteeritult algoritmiga lahendada. Mis alternatiivid sel juhul on? 1.Valime vahel juhuslikult, ehk: teeme vahel vigu. 2.Valime vahel juhuslikult, ehk: teeme vahel vigu. The
five types of information that are the only types the computer
commonly manipulates:
Visual (pictures) Numeric (
numbers )
Character (text)
Audio (
sound ) Instructions (programs).
Before the computer can use any type of information, it must be stored in the computer’s memory.
Analoog vs diskreet - Pidevad ehk analoog-asjad:
Komaga arvud, murrud jms;
Trigonomeetria ; Matemaatiline analüüs;Klassikaline füüsika;Mõõtmised, tugevus jms klassikaline insenerivärk.
Katkevad ehk diskreetsed asjad:Täisarvud,Loogika,Hulkade
struktuurid , Tekstid, Programmid. Mõtlemisviisid - Arvutiteadus: teha võimalikult keerulisi asju; Inseneriasjandus: teha kõike lihtsamalt;Kommertsrakendused: kliendile meelepäraseid asju. Arvutiteadus - Matemaatiline arvutiteadus(Algebra eriharud, Arvutatavus, Keerukus), Praktilisem arvutiteadus (Algoritmika, Verifitseerimine, järelduste
automatiseerimine , Õppimine,Keeled ja kompilaatorid,Krüpto), Veel praktilisem arvutiteadus (Andmebaaside teooria ja
tehnoloogia ,
Failisüsteemid , Arvutigraafika, Võrgusüsteemide).Kommertsrakendused – Laiatarberakendused(
Opsüsteemid , draiverid jms;Tekstiredaktorid, brauserid, epost; Üldised võrgurakendused: google, youtube, skype; mängud, progemisvahendid), Erirakendused (Pangarakendused, telekomirakendused;
Reaalsed lao- ja tellimissüsteemid; Firma
andmebaasid ).Transistor - kolme või enama väljaviiguga
pooljuhtseadis, mida kasutatakse
elektrisignaalide tekitamiseks, võimendamiseks ja muundamiseks. ühe elektrisignaali abil juhtida ehk tüürida teist elektrisignaali. Akadeemilised IT-
koolkonnad eestis: TTÜ , Küberneetika instituut, TÜ, ITK, Polütehniline instituut, Tallinna ülikool. Arvud Null: Babüloonia 300 BC, India 600 AD,
Abakus : Babüloonia 1,000 BC kuni 500 BC.Loogika olemus - Klassikalisest kreeka keelest sõnast λόγος (logos), algtähendusega sõna ehk mida räägitakse. Loogika on teadus mõtlemise alustest. Loogika uurib mõtlemise paratamatuid
aspekte ehk seda, mis üldse teeb mõtlemisest mõtlemise ehk õige mõtlemise ehk seda, mida ja kuidas üldse mõelda saab.
Informaalne loogika: teatud vaidlusmeetodite analüüs.
Formaalne loogika: reeglisüsteemid ja algoritmid nö mehaaniliseks järelduste tegemiseks. Reeglisüsteemide kui matemaatiliste objektide
uurimine . Arvutid on mõtlemise
masinad . Fundamentaalseid mõtlemismeetodeid:
Deduktsioon , Induktsioon -Erinevalt
deduktsioonist ei taga induktsioon, et kui
eeldused on
tõesed, siis ka
järeldus on tõene. Induktiivsetel
arutlustel puudub loogiline (deduktiivne)
kehtivus.
Matemaatika sissetulek: muutujad;Lausemuutujad:kui A ja B, siis A;ei ole tõsi, et A ja mitte A;kui A-st järeldub B, ning A on tõsi, siis ka B on tõsi. Omadused:Kui kõigil
asjadel on omadus P, siis on olemas asi, millel on omadus P;??? Kui on olemas asi, millel on omadus P, siis on kõigil asjadel omadus P. Loogika teke: Parmenides (5 sajand e.m.a.) : kasutas
pikki loogilisi põhjendusi;
Zenon Eleast (5 sajand e.m.a.) -
apooriad /paradoksid;
Sofistid - Sokrates (470-399 e.m.a) -
Platon (428/427 - 348/347 e.m.a).
Aristoteles : Süllogismide näited:1. eeldus: iga koer on imetaja.2. eeldus: mõned neljajalgsed on
koerad .järeldus: mõned neljajalgsed on
imetajad . 1. eeldus: iga anarhist on süsteemi vastane.2. eeldus: mõned
poliitikud on
anarhistid . järeldus: mõned poliitikud on süsteemi vastased. Tuletuse struktuuri võib seega esitada muutujate x,y ja z abil ning
tuletus on õige sõltumata fraasidest, millega neid muutujaid
asendada :1. eeldus: iga x on y.2. eeldus: mõni z on x.järeldus: mõni z on y. Aristotelese “kategoorilised
väited ”Iga b on a;Mitte ükski b pole a;Mõni b on a;Mõni b ei ole a.
Süllogism on väitlus, kus mingitest etteantud väidetest (eeldustest) järeldub paratamatult uus väide. Aristotelese puhul alati kaks kategoorilist eeldust, üks
kategooriline järeldus.
Stoikud : lausearvutus - Stoikud
uurisid , kuidas saab loogiliste sidesõnade (ja, ei, või, kui...siis) abil lihtsamatest lausete keerulisemaid kokku panna ja kuidas näidata
selliselt moodustatud lausete õigsust.nt.Kui esimene, siis teine; esimene; järelikult teine.Kui esimene, siis teine; mitte teine; järelikult mitte esimene. Mitte korraga esimene ja teine; esimene; järelikult mitte teine. Tõestuse idee:Tõestuse alusidee on tuntud valetaja
paradoks : kas väide ``ma praegu valetan'' on tõene või mitte? Lihtne arutlus näitab, et ta ei saa olla kumbagi. Nt.Koostame nüüd sellise aritmeetilise väite A, mis ütleb, et seesama A ei ole tõestatav (see väide ei ütle, et A ei ole tõsi!). Siis ei saa väide A ise olla vale.
Tõepoolest , kui A oleks vale, siis A sisu kohaselt peaks A olema tõestatav. Kuna me valesid väiteid tõestada ei saa, siib peabki A olema õige. Kuna A on õige, peab kehtima see, mida A väidab: A pole tõestatav. Tõepoolest, kui A oleks tõestatav, siis oleks A sisu ("A ei ole tõestatav") vale, see on aga, nagu näidatud, võimatu. Kokkuvõtteks, A on õige, aga ei A ega A
eitus pole tõestatavad.Kuidas keeles X kirjutatud programmi täidetakse? Pea silmas, et: arvuti suudab täita ainult masinkoodis programme. On olemas kaks põhivarianti keeles X programmi täitmiseks.Kompileerimine: masinkoodis programm nimega kompilaator teisendab keeles X programmi masinkoodfailiks Y. Seejärel täidetakse saadud masinkoodis programm Y. Näide: C.Interpreteerimine: masinkoodis programm nimega interpretaator loeb sisse X keeles faili ja asub seda rida-realt täitma. Näide: vana BASIC.NB! Programmi interpreteerimine on ca 10-200 korda aeglasem, kui kompileeritud koodi täitmine.Põhimõtteliselt saaks igas keeles kirjutatud programme nii interpreteeritult täita kui kompileerida. Praktikas eelistatakse vahel interpreteerimist, vahel kompileerimist. Keelte
erisused : kolm põhiasja:Süntaks (kuidas
kirjutatakse näiteks if .. then ..
else ühes või teises keeles);Semantika ehk tähendus (mida õigesti kirjutatud programm tegelikult siis teeb);Teegid (
libraries ) (millised valmisprogrammijupid on selle keele jaoks kergesti kättesaadavad või kohe kaasa pandud).
Opsüsteemi põhieesmärgid:Pakkuda programmeerijale valmistehtud standardtükke.Võimaldada kasutajal arvutis ühtemoodi ja harjumuspäraselt tegutseda, sõltumatult sellest, mis programmid tal arvutis on. Miks
opsüsteem ?Arvutit saaks programmeerida ka ilma opsüsteemita. Sel juhul:oleks iga programmi tegemine palju raskem kui opsüsteemi olemasolu korral.kasutajate jaoks näeks eri programmid väga eri moodi välja. Mida opsüsteem enamasti teeb? Oskab
kettalt programme lugeda ja neid käima panna.Oskab programme seisma panna (lõplikult või ainult väikese pausi jaoks). Oskab kettale faile ja katalooge kirjutada ja sealt neid lugeda.Oskab välisseadmetega (printer, monitor, klaviatuur jne jne) suhelda.Oskab võrguga suhelda.Kui opsüsteemi ei oleks, peaks iga programm kõiki neid asju ise teha oskama! Opsüs om: 1. Funktsionaalsus (Protsesside
haldamine , Mälu haldamine, Kasutajate haldamine ,Failisüsteemid,Võrguprotokollid ja –teenused,Riistvara tugi), 2. Kasutatavus (
Liides : käsurida (CLI),
graafika (GUI);
Olemasolevad rakendused , teenused,Vajalik riistvara, Haldusvahendid,
kaughaldus ,Stabiilsus,Skaleeruvus,Tugi,Hind). UNIXi filosoofia 1.väike on ilus(iga utiliit/teenus täidab ainult ühte funktsiooni;komponentide ehitus ja opsüsteemi vahendid võimaldavad kerget ja selge liidesega kombineerimist;
keerulisemad teenused pannakse kokku lihtsamatest;tulemuseks on alternatiivsete lahenduste võimalus ja süsteemide mitmekihiline ehitus). 2. kõik on fail(failid, kataloogi,
seadmed on ligipääsetavad sarnase liidesega;minimaalselt baasmõisteid, mis on võimalikult
universaalsed ). Tuuma ülesanded:1.Loob protsessidele stabiilse ja üksteisest isoleeritud “elukeskkonna” ning kommunikatsioonivahendid.2.Loob liidese failidele ja riistvararessurssidele.3.Seostab kõik protsessid, failid jm omanikuga ja piirab protsesside pöördumise failide/ressursside poole vastavalt pääsu- ja kasutusõigustele. Virtualiseerimisvahendid:1.PC riistvara emuleerimine(
Vmware ,Olemas nii Linux, kui Windows
version ,Eri versioonid töökoha ja serverirakendusteks,Virtual PC (Microsoft), Parallels (MacOS)). 2. Linuxipõhised virtualiseerimisvahendid(Virtuozzo. OpenVZ, Vserver, XEN, UML,
QEMU ). 1.Operatsioonisüsteemi tuuma funktsioonid: ressursside haldamine (mälu, protsessor, seadmed),protsesside haldamine, võrguliides ja võrguprotokollid,turvalisuse garanteerimine. 2.Operatsioonisüsteemi muud funkt ,kasutajate
andmebaas ,tarkvarahaldus,kettaressursside haldus,monitoring.
Tarkvara arhitektuur mingi süsteemi tehnoloogilisi põhimõtteid,
millisteks suurteks
osadeks süsteem jaotub,milliseid suuri valmistükke süsteem kasutab. Tarkvarasüsteemid ehitatakse reeglina mitmesuguste komponentide kokkupaneku teel. Neid komponente võib klassifitseerida - näiteks - järgmisel viisil:Terviklikud lõppkasutaja-rakendusprogr, Suured valmiskomponendid,Teegid. GNU ideoloogia:vabadus: primaarne on tarkvara vabadus,
sekundaarne tasuta kättesaadavus;ausus: ausam on kasutada vabavara kui piraatkopeerida;teadmiste vabadus: teadmised, tarkvara tahab olla vaba, on loomu poolest vaba - teadmiste ja tarkvara kopeerimine laiendab ühiskonna majanduslikku võimsust, kaotajaid (rumalamaks jääjaid) pole;raha saab teenida ka tarkvara toetades ja installeerides ja levitades;
motivatsioon senistes
kogustes tarkvara luua väheneb?
vastuargument : 1.
programmeerimine on
põnev ;2. ehk polegi meil nii palju kallilt makstud programmiste vaja?
Eksamis olnud küsimused:
1)Mis vahe on TCP-l ja IP-l? Mille jaoks kasutatakse? Kirjuta TCP ja IP
päis (detaile pole vaja). Joonista skeem, mis näitab,
kumb protokoll ,
kumba sisaldab.
2)Mille jaoks kasutati algselt perfokaarte?
3)Kas positiivsete ja negatiivsete täisarvude hulk on võrdne positiivsete täisarvude
hulgaga ? Põhjenda.
4)Mis firma ja mis kümnendil hakkas
tootma integraalskeeme (mitte mikroprotsessoreid)
5)Millal loodi HTTP ja HTML, kes?
6)Miks on arvutitel vaja cahce mälu? Mis vahe on
cache mälu ja
DRAM tehnoloogial?
Kõik kommentaarid