Slide1 :
Sissejuhatus informaatikasse
Riistvara ja tarkvara : Riistvara ja tarkvara
Riistvara
Füüsilised, käegakatsutavad osad.
Näited: klaviatuur, monitor, integraalskeemid jms
Tarkvara
Programmid ja andmed
Programm on jada instruktsioone
Algoritm ja programm : Algoritm ja programm
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.
Analoog- ja digitaalsüsteem : Analoog- ja digitaalsüsteem
Analoogsüsteem
andmeid salvestatakse (peegeldatakse) proportsionaalselt
Näit: termomeeter, vinüülplaat, foto
Digitaalsüsteem
(pidevad) andmed lõhutakse üksikuteks tükkideks, mis salvestatakse eraldi
Näit: CD, arvutiprogramm, kiri tähtede ja bittidena
Ühelt teisele: digitaliseerimine
Arvuti ehitus : Arvuti ehitus
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
Põhiprotsessor (CPU) ja mälu : Põhiprotsessor (CPU) ja mälu
CPU ja muud seadmed : CPU ja muud seadmed
Univ. of Virginia What Is (and Isn’t) a Computer : Univ. of Virginia What Is (and Isn’t) a Computer
A computer is a device which takes data in one form, uses it, and produces a different form of information which is related to (but not the same as) the original data.
The Many Kinds of Computers : The Many Kinds of Computers The three major comparisons of computers are:
Electronic computers versus Mechanical computers
General-purpose versus Special-purpose computers
Digital versus Analog computers
Univ. of Virginia The Many Kinds of Computers : Univ. of Virginia The Many Kinds of Computers Electronic Computers
Constructed from transistors that use electricity to function.
Mechanical Computers
Do not use electricity to function.
Constructed of a combination of gears, levers and springs.
Univ. of Virginia The Many Kinds of Computers : Univ. of Virginia The Many Kinds of Computers General-purpose Computers
Were not manufactured to do any one thing.
Changeable to do any task.
Special-purpose Computers
Manufactured to do a predetermined task or set of tasks.
Univ. of Virginia The General-Purpose Digital Computer : Univ. of Virginia The General-Purpose Digital Computer The General-Purpose Digital Computer
Accepts information of many kinds.
Changes it in a way that is controlled by humans.
Presents results in a way usable by humans.
Univ. of Virginia What Is Information? : Univ. of Virginia What Is Information? The five types of information that are the only types the computer commonly manipulates:
Visual (pictures)
Numeric (numbers)
Character (text)
Audio (sound)
Instructions (programs)
Univ. of Virginia What Is Information? : Univ. of Virginia What Is Information? Before the computer can use any type of information, it must be stored in the computer’s memory.
Problem: How is information stored within the computer?
Information is stored in numerical form within the computer
Modern computers work in a system of numbers called binary numbers
Univ. of Virginia What Is Information? : Univ. of Virginia What Is Information? Binary numbers:
Similar to familiar decimal system.
Uses only two symbols: 0 and 1.
The choice of using binary numbers is dictated by cost and reliability.
Binary circuits:
Electronic circuits are cheapest and most reliable if they only assume two states or conditions.
These binary circuits have only two states, ON or OFF.
Univ. of Virginia Representing Symbols and Text : Univ. of Virginia Representing Symbols and Text Each letter and symbol in a text document must be translated into a binary number for storage in the computer.
Standardized means of storing these codes:
ASCII (American Standard Code for Information Interchange)
EBCDIC (Extended Binary Coded Decimal Interchange Code)
UNICODE (Extended ASCII)
Univ. of Virginia Representing Pictures : Univ. of Virginia Representing Pictures Pictures must be translated into a binary format for storage in the computer.
The picture is broken down into small elements.
These elements are called Pixels (Picture Elements).
Digitizer:
A device that converts a picture into a binary format for storage in the computer.
Examples of digitizers: scanner, digital camera.
Univ. of Virginia Representing Pictures : Univ. of Virginia Representing Pictures Gray-Scale:
Each pixel contains a value representing some shade of gray.
The more shades of gray possible, the more memory will be needed.
4 shades of gray needs 2 bits per pixel:
00, 01, 10, 11
8 shades of gray needs 3 bits per pixel:
000, 001, 010, 011, 100, 101, 110, 111
64 shades of gray needs 6 bits per pixel:
000000, 000001, … 111110, 111111
Univ. of Virginia Storage of Binary Information : Univ. of Virginia Storage of Binary Information Capacity
Instructions as Numbers : Instructions as Numbers Fact:
Declarative: statement of being.
Imparts knowledge.
Instruction:
Imperative: demands action.
Controls information or activity.
Instructions as Numbers : Instructions as Numbers Instructions:
Must be stored within the computer before use.
Must be stored in binary form.
A set of binary instructions is called a program.
The Stored-program Computer : The Stored-program Computer Program:
A collection of instructions for the computer to perform one by one.
Machine Language:
The language of the computing machine.
All instructions must be in the form of binary numbers (binary code).
The Stored-program Computer : The Stored-program Computer Stored-program Computer:
Also known as the von Neumann-type computer.
Has memory - a place to keep both:
instructions (ie program)
and the needed information (ie data)
needed for computation by the computer.
Programs and Algorithms : Programs and Algorithms Algorithm:
A step-by-step process used to solve a problem.
The general solution to the problem.
Usually implemented by a program.
Problem: Cause the ROBOT to walk to the wall it is initially facing and then stop with its arms lowered and facing against the wall. Assume the ROBOT is not initially facing an open doorway.
Remember:
We have NO IDEA how big the room is!
We CAN’T just tell it to STEP X-number of times!
The algorithm has a general solution. (Solves the problem in all situations.)
Programs and Algorithms : Programs and Algorithms Loop - A sequence of instructions which is repeated one or more times when a program is executed.
Infinite loop - A set of instructions which causes the program to repeat the same commands over and over with no possible way of stopping.
Arvud : Arvud Arvud kontidel:
periood 20,000 - 30,000 aastat tagasi Cro-Magnon
inimese ilmumine
Babüloonia: positsiooniline 60-süsteem 1900 kuni 1800 BC
Maiade arvusüsteem
Null:
Babüloonia 300 BC
India 600 AD
Abakus:
Babüloonia 1,000 BC kuni 500 BC,
Loogika olemus : Loogika olemus Loogika on teadus mõtlemise alustest.
Arvutid on mõtlemise masinad.
Loogika ja arvutamine on väga tihedalt seotud.
Loogika uurib mõtlemise paratamatuid aspekte ehk seda, mis üldse teeb mõtlemisest mõtlemise ehk õige mõtlemise.
Mõeldav ja mittemõeldav:
``kui kõik inimesed on surelikud ja kui mina olen inimene, siis ma olen surelik''.
``kui kõik inimesed on surelikud ja kui mina olen inimene, siis ma ei ole surelik''.
Vastaspoolused:
Puhta loogika eesmärk on olla õige kõigis võimalikes maailmades, mitte ainult selles veider-segases vaevarikkas maailmas, kuhu juhus meid on heitnud. Loogik peab eneses alal hoidma teatud annuse jumalikkust: ta ei tohi alanduda selleni, et teha järeldusi enese ümber nähtust. B.Russell, ``Sissejuhatus matemaatilisse filosoofiasse''.
Kui loogika oleks olemas isegi juhul, kui maailma ei oleks, siis kuidas saab loogika olemas olla olukorras, kus maailm on olemas? L.Wittgenstein, ``Tractatus Logico-Philosophicus''
Loogika aine : Loogika aine Fundamentaalseid mõtlemismeetodeid:
Deduktsioon
Induktsioon
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 : 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: väidete struktuur kui iseseisev uurimisobjekt
Loogika teke: Aristoteles : Loogika teke: 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” : 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: lausearvutus Stoikud uurisid, kuidas saab loogiliste sidesõnade (ja, ei, või, kui...siis) abil lihtsamatest lausetest keerulisemaid kokku panna ja kuidas näidata selliselt moodustatud lausete õigsust.
Kui esimene, siis teine; esimene; järelikult teine.
((A
Kui esimene, siis teine; mitte teine; järelikult mitte esimene.
Mitte korraga esimene ja teine; esimene; järelikult mitte teine.
Leonardo da Vinci : Leonardo da Vinci ca 1500
Kalkulaatori joonis:
Hiljem ehitatud katseeksemplar
17 sajand: sümbolkeeled matemaatikas : 17 sajand: sümbolkeeled matemaatikas
Analoogilisi sümbolkeeli püüti luua loogika jaoks.
Kõik püüdlused ebaõnnestusid (kuni 19 sjandi lõpuni!)
Filosoofia: nominalistide ja realistide dihhotoomia
Schickard & Pascal : Schickard & Pascal Schickard 1625: väitis ehitanud olema liitva, lahutava, korrutava, jagava masina
Kristlik filosoof Blaise Pascal 1640:
aritmeetiline masin: ainult liitis ja lahutas
Ehitas ca 50 tükki
Leibniz : Leibniz Saksa filosoof1646-1716
Leibnizi arvuti(1671) liitis, lahutas, korrutas, jagas
Kirjutusmasin : Kirjutusmasin Inglise patent, Henry Mill, 1714, ei ehitatud
Sholes’ klaviatuur ca 1874:
Dvoraki klaviatuur ca 1936
Perfokaardid : Perfokaardid ca 1800, Jacquard
IBM-i perfokaart:
Charles Babbage : Charles Babbage 1822: Difference Engine, jäi pooleli
Idee: Analytical Engine
esimene programmeerija: Ada Lovelace
Telegraaf : Telegraaf Morse 1837: elektritelegraaf
Wheatstone 1857: perfolint
Arvutite perfolint:
1902-1910: teleprinter
George Boole, de Morgan : George Boole, de Morgan Loogika (lausearvutuse) alused 1847-1854
Matemaatilise algebra ideede kasutamine loogika jaoks:
Loogika algebra:
1A = A, 0A = 0, A+0 = A, A+1 = 1
A+B = B+A, AB = BA, AA = A
Lausearvutuse alused : Lausearvutuse alused
Loogikatehted on funktsioonid tõeväärtustel T ja V.
Enimkasutatud tehted on
& (ja e. konjunktsioon)
V (või e. disjunktsioon)
- (ei e. eitus)
=> (järeldus e. implikatsioon)
== (samasus e. ekvivalents)
A & B A V B - A A => B
-------- -------- ---- --------
T T T T T T V T T T T
T V V T T V T V T V V
V V T V T T V T T
V V V V V V V T V
Lausearvutuse alused : Lausearvutuse alused
Elementaartehetest saab kokku panna suvalisi avaldisi, mis
realiseerivad tõeväärtusfunktsioone
(- (A & B)) => (B V C)
----------------------------
V T T T T T T T
T T V V T V T T
T V V T T T T T
T V V V T V T T
V T T T T T T V
T T V V V V V V
T V V T T T T V
T V V V V V V V
2 1 4 3
Kaasaegse loogika alus: Gottlob Frege : Kaasaegse loogika alus: Gottlob Frege 1879: Kontseptuaalne notatsioon ("Begriffsschrift")
loob kaasaegse predikaatarvutuse
Näide:
Isa(Jaan,Mihkel).
Isa(Jaan,Ants).
Isa(Ants,Peeter).
Iga x, y, z jaoks: Isa(x,y) & Isa(y,z) => Vanaisa(x,z).
Tõesta, et eksisteerivad z, u nii et Vanaisa(z,u).
Frege filosoofina: logitsist
Loogika mitmekesisus : Loogika mitmekesisus
Lauservutus Predikaatarvutus Induktsioon jms Teist järku pred. Kõrgemat järku pred. Abstraktsus Väljendusvahendid Minimaalne Intuitsionistlik Klassikaline Modaalne Lineaarne Lahenduvad Ühesuunaliselt lahenduvad Mittemonotoonne Klassikaline
predikaatarvutus:
Frege
Hollerith’i perfokaardid : Hollerith’i perfokaardid 1890: Herman Hollerith: perfokaartidega masin USA rahvaloenduse andmete töötlemiseks
Hollerith’i firmast tekkis IBM
Hulgateooria: Georg Cantor : Hulgateooria: Georg Cantor
Elas 1845-1918
Hulgateooria rajaja
Paradokside avastamine matemaatikas
Matemaatika alused korraga ebakindlad
Russell & Whitehead : Russell & Whitehead 1910-1913: massiivne loogikatraktaat
Principia Mathematica
Paradoksid -> tüüpide teeoria
Filosoofilised vaated: logitsism
Formalism; Hilbert : Formalism; Hilbert Loogik ja matemaatik: 1862-1943
Filosoofilistelt vaadetelt formalist
“Hilberti programm” matemaatikale kindlate aluste rajamiseks:
Matemaatika alused tuleb esitada loogika keeles, range aksiomaatikana.
Tuleb tõestada, et nimetatud aksiomaatika ei ole vastuoluline
Intuitsionism: Brouwer & Heyting : Intuitsionism: Brouwer & Heyting
Ei aktsepteeri näiteks:
A v -A
- -A <=> A
((A
Formaalne süsteem : Formaalne süsteem Tarski ja Carnap
Süntaks
Tuletamisreeglite süsteem
Semantika
Täielikkus ja mittetäielikkus : Täielikkus ja mittetäielikkus Kurt Gödel (1906-1978)
1930: loogika baaskeel predikaatarvutus on täielik
1931: formaalne aritmeetika ei ole täielik, seda ei saagi lõpliku formaalse süsteemiga kirjeldada
Turingi masin & Churchi lambda-arvutus : Turingi masin & Churchi lambda-arvutus
1935-1937: artikkel Turingi masinast: universaalsus, mittelahenduvus
1936: Churchi lambda-arvutus, Churchi tees.
universaalsus, mittelahenduvus
Vannevar Bush : Vannevar Bush MIT: 1930-1935-1937: Differential Analyzer dif. võrrandite lahendamiseks
Ludwig Wittgenstein : Ludwig Wittgenstein 1889-1951
Analüütilise filosoofia juhtkuju
Innustas loogilise positivismi ja Viini ringi teket:
Mõtestatud tekst koosneb kas (a) loogika ja matemaatika formaalsetest väidetest või (b) konkreetsete teadusharude fakte esitavatest lausetest.
Igasugusel fakti esitaval väitel on sisu ainult siis, kui on võimalik öelda, kuidas selle väite kehtivust kontrollida.
Claude Shannon : Claude Shannon MIT, 1938, Shannon’i magistritöö sidus:
Boole algebra
Elektrilülitid ja -skeemid
Bitid ja info kodeerimise
Info otsimise algoritmid
Atanasoff’i arvuti : Atanasoff’i arvuti John Vincent Atanasoff
1939-1942: esimene elektronarvuti?
Zuse arvuti : Zuse arvuti Konrad Zuse
1941-1944: Z3, Z4
Releedega digitaalarvuti
Colossus vs Geheimfernschreiber : Colossus vs Geheimfernschreiber Londonis 1943: saksa allveelaevade salakirja dekodeerimiseks
Ideoloogia ja matemaatika töötas välja Alan Turing, kes varem juhtis lihtsama ENIGMA dekodeerimist
Mark I : Mark I Howard Aiken
IBM’i elektriline (releed) digitaalne arvuti MARK I
1939-1944
1945 : 1945
Konrad Zuse began work on Plankalkul (plan Calculus). The first algorithmic programming language, with an aim of creating the theoretical preconditions for the formulation of problems of a general nature.
1946 : 1946 In February, the public got its first glimpse of the ENIAC, a machine built by John Mauchly and J. Presper Eckert that improved by 1,000 times on the speed of its contemporaries.
Kordamine: raadiolambi tööpõhimõte : Kordamine: raadiolambi tööpõhimõte
Transistori tööpõhimõte : Transistori tööpõhimõte
1949 : 1949
Maurice Wilkes assembled the EDSAC, the first practical stored-program computer, at Cambridge University.
TECHNOLOGY: vacuum tubes
MEMORY: 1K words, 17 bits, mercury delay line
SPEED: 714 operations per second
1950 : 1950 Engineering Research Associates of Minneapolis built the ERA 1101, the first commercially produced computer; the company's first customer was the U.S. Navy.
1951 : 1951 The UNIVAC I delivered to the U.S. Census Bureau was the first commercial computer to attract widespread public attention.
Early AI programs: checkers, chess (in Britain) : Early AI programs: checkers, chess (in Britain) Strachey wrote a checkers program for the Ferranti Mark I at Manchester (with Turing's encouragement and utilising the latter's recently completed Programmers' Handbook for the Ferranti computer). By the summer of 1952 this program could, Strachey reported, "play a complete game of Draughts at a reasonable speed".
Prinz's chess program, also written for the Ferranti Mark I, first ran in November 1951. It was for solving simple problems of the mate-in-two variety. The program would examine every possible move until a solution was found. On average several thousand moves had to be examined in the course of solving a problem, and the program was considerably slower than a human player.
Turing started to program his Turochamp chess-player on the Ferranti Mark I but never completed the task. Unlike Prinz's program, the Turochamp could play a complete game and operated not by exhaustive search but under the guidance of rule-of-thumb principles devised by Turing.
1953 : 1953
IBM shipped its first electronic computer, the 701.
1955 : 1955
William Shockley founds Shockley Semiconductor in Palo Alto, California
1957… : 1957… A new language, FORTRAN (short for formula translator), enabled a computer to perform a repetitive task from a single set of instructions by using loops.
1958 : 1958 At Texas Instruments, Jack St. Clair Kilby comes up with the idea of creating a monolithic device (integrated circuit) on a single piece of silicon.
Later (in 2000) Kilby receives Nobel
price in physics
Jack Kilby completes building
the first integrated circuit, containing
five components on a piece of germanium
half an inch long and thinner than a toothpick.
1960 : 1960 A team drawn from several computer manufacturers and the Pentagon developed COBOL, Common Business Oriented Language. Project leader: Grace Hopper.
LISP made its debut as the first computer language designed for writing artificial intelligence programs. Inventor: John McCarthy.
Moore’s law : Moore’s law
Moore’s Law (1965)
Circuits per chip
= 2 (year-1975) / 1.5 “Each new chip contains roughly twice as much capacity as its predecessor, and is released within 18-24 months of the previous chip.”
1965 : 1965 Digital Equipment Corp. introduced the PDP-8, the first commercially successful minicomputer.
1967… : 1967…
IBM builds the first floppy disk.
…1967 : …1967 Seymour Papert designed LOGO as a computer language for children.
1969 : 1969 Gary Starkweather, at Xerox's research facility in Webster, New York, demonstrates using a laser beam with the xerography process to create a laser printer.
State of the art: software and hardware : State of the art: software and hardware
In 1967 MacHACK VI became the first program to beat a human (rate 1510) at a competition, at the Massachussets State Championship.
In 1968 International Master David Levy made a $3,000 bet that no chess computer would beat him in 10 years. He won his bet. The original bet was with John McCarthy, a distinguished researcher in Artificial Intelligence
Processors at 1968 were solded together from a large number of single transistors and a number of small chips containing relatively small amounts of transistors each
Recollect: Birth of Intel and AMD : Recollect: Birth of Intel and AMD
55: Shockley Semiconductor
(Shockley was one of the inventors of transistor, Nobel price in 56)
57: Fairchild Semiconductors
(group of 8 Shockley engineers)
68: Intel 69: AMD
(Noyce (integr. circuit constructor) & (Sanders + 7 others)
Moore)
58-59: Texas Instruments announces integrated circuits (Kilby)
59: Fairchild announces integrated circuits (Noyce)
69: AMD founded
First microprocessor: Intel 4004 : First microprocessor: Intel 4004
1969
The first microprocessor – CPU
1971
The first commercial 4-bit microprocessor 4004:
-2,300 transistors
-10 µm features
-10 mm2 die
-108 kHz kHz
…1970 : …1970 Relational database software: theory and first research groups
In 1970 an IBM researcher named Ted Codd published the first article on relational databases.
1971… : 1971… Computer-to-computer Communication expanded when the Department of Defense established four nodes on the ARPANET: the University of California-Santa Barbara and UCLA, SRI International, and the University of Utah.
1972 : 1972
Two important programming concepts introduced:
The first object-oriented language Smalltalk developed at XEROX PARC, bsaed on ideas by Alana Kay.
The first logic programming language Prolog developed by Alan Colmerauer at University of Marseilles
…1973 : …1973 Bob Metcalfe invents the Ethernet connectivity system.
Altair : Altair
Altair was one of the first successfully sold personal computer kits for do-it-yourself computing fans. No monitor, no keyboard
Keyboard and cassette drive can be added
Oscilloscope can be attached to be used as a display
…1974 : …1974
Brian Kernighan and Dennis Ritchie develop the C programming language.
…1974: Alto : …1974: Alto
Xerox releases the
Alto computer.
A personal computer to be used for research
First serious machine to feature a modern user interface: windows, mouse, etc invented by Engelbart in 1964
Great influence on Macintosh
Great influence on Microsoft
1975 : 1975 Bill Gates and Paul Allen license their newly written BASIC to MITS, their first customer. This is the first computer language program written for a personal computer.
The Xerox PARC-developed Gypsy word-processing system is first field-tested by end-users. Gypsy is one of the first word processors termed "WYSIWYG", meaning what you see is what you get. Gypsy runs on the PARC-developed Alto personal computer.
1977-1980 : Home computers : 1977-1980 : Home computers
Apple, Commodore, Radio Shack, Microsoft,
more microprocessors, VisiCalc, Sinclair
1977 : 1977 The Commodore PET (Personal Electronic Transactor) -- the first of several personal computers released in 1977 -- came fully assembled and was straightforward to operate.
1977 : 1977 The Apple II became an instant success when released in 1977 with its printed circuit motherboard, switching power supply, keyboard, case assembly, manual, game paddles, A/C powercord, and cassette tape with the computer game "Breakout.“
1979 : 1979
Harvard MBA candidate Daniel Bricklin and programmer Robert Frankston developed VisiCalc, the program that made a business machine of the personal computer, for the Apple II.
79-80: USENET : varane “web” : tekstiuudised : 79-80: USENET : varane “web” : tekstiuudised USENET on hiiglaslik kogus uudisgruppe. Tekstid liiguvad masinast masinasse.
USENET: Unix Users Network founded late 1979.
Info liikus algselt: UUCP protolli abil (Unix to Unix communications protocol, enamasti moodemi abil sissehelistamisega).
Miks 1791: released V7 Unix with UUCP. Two Duke University grad students in North Carolina, Tom Truscott and Jim Ellis, thought of hooking computers together to exchange information with the Unix community. Steve Bellovin, a grad student at the University of North Carolina, put together the first version of the news software using shell scripts and installed it on the first two sites: "unc" and "duke." At the beginning of 1980 the network consisted of those two sites and "phs" (another machine at Duke), and was described at the January Usenix conference.
1986 murrang: Network News Transfer Protocol (NNTP) . Uudised liiguvad TCP/IP (interneti) kaudu.
1981 : 1981 MAIN HIGHLIGHTS
IBM introduced its PC, igniting a fast growth of the personal computer market
The MS-DOS, or Microsoft Disk Operating System, the basic software for the newly released IBM PC, established a long partnership between IBM and Microsoft, which Bill Gates and Paul Allen had founded only six years earlier
Apollo and Silicon Graphics: first workstation companies
1981: big portable : 1981: big portable Adam Osborne completed the first portable computer, the Osborne I, which weighed 24 pounds and cost $1,795. Used Z80 (NOT IBM-PC clone (yet)!)
1981: Silicon Graphics : 1981: Silicon Graphics College professor James Clark found Silicon Graphics, Incorporated. The 1000 and 1200 computers used a Motorola 68000 microprocessor with 8 Mhz and were sold as diskless systems intended for use as a terminal.
1981: IBM PC : 1981: IBM PC IBM announces the IBM 5150 PC Personal Computer, in New York. IBM announces the CGA graphics card for the PC, giving 640x200 resolution with 16 colors.
1981: Microsoft as a main IBM PC software provider : 1981: Microsoft as a main IBM PC software provider The MS-DOS, or Microsoft Disk Operating System, the basic software for the newly released IBM PC, established a long partnership between IBM and Microsoft, which Bill Gates and Paul Allen had founded only six years earlier
Microsoft buys all rights to DOS from Seattle Computer Products, and the name MS-DOS is adopted.
1982 : 1982 MAIN HIGHLIGHTS
Sun Microsystems founded: most influential workstation company so far
Mitch Kapor developed Lotus 1-2-3, writing the software directly into the video system of the IBM PC.
The use of computer-generated graphics in movies took a step forward with Disney's release of "Tron“.
1983 main highlights : 1983 main highlights
Apple introduced its Lisa. The first personal computer with a graphical user interface, its development was central in the move to such systems for personal computers.
Compaq Computer Corp. introduced first PC clone that used the same software as the IBM PC.
Oracle got its name (renamed from “Relational Software”)
Unix system V version, C++ language, Turbo Pascal, MS Word
The Musical Instrument Digital Interface was introduced at the first North American Music Manufacturers show in Los Angeles.
1983 : 1983 Bjorne Stroustrup creates the C++ extension to the C programming language.
1984 main highlights : 1984 main highlights Apple Computer launched the Macintosh, the first successful mouse-driven computer with a graphic user interface, with a single $1.5 million commercial during the 1984 Super Bowl.
The 3 1/2-inch "microfloppy" diskette
GNU project launched
1984 : 1984 Hewlett-Packard introduces the LaserJet laser printer, featuring 300dpi resolution, for US$3,600.
1984 : 1984
Richard Stallman launches the GNU Project, to develop the free operating system GNU (anacronym for ``GNU's Not Unix''), and thereby give computer users the freedom that most of them have lost. GNU is free software: everyone is free to copy it and redistribute it, as well as to make changes either large or small.
1987 : 1987
Side note: CISC vs RISC processor architectures
CISC: complex instruction set computer (Intel, motorola 68000 series, ..)
A large number of instructions, most are relatively slow
RISC: reduced instruction set computer (PowerPC, Sparc, ....)
A small number of instructions, all are very fast
In practice, CISC and RISC ideas converge in newer processors
1987: GCC, the main C compiler nowadays : 1987: GCC, the main C compiler nowadays
Ported to a very large number of processors
Compiles: C, C++, Objective C, Fortran, Java, Ada, (Pascal)
Ülevaade: suured saagad (1980-)1990-2003 : Ülevaade: suured saagad (1980-)1990-2003 Riistvara:
Spetsiaalprotsessorid: sünd ja surm. Üks eranditest: 3D graafikaprotsessorid 1996...
IBM PC, Apple Macintosh, Sun workstations & servers
Pihuarvutid: Apple Newton, Palm. MS Pocket PC opsüsteem.
Tarkvara:
Microsoft muutub IBM PC domineerivaks tarkvara-arendajaks
Microsoft ja IBM tülli: Windows NT vs OS/2
SQL andmebaasikeel ja andmebaasirakendused mainstreamis
Gnu / Linux ja vabavara-liikumine. Linux, Apache jms.
Internet massidesse: html ja brauser
Varasem uudistesüsteem (80-datel: USENET). Internet ülikoolides.
1990 Tim-Berners lee leiutab HTML-i ja kaasaegse brauseri
Netscape viib brauseri massidesse.
WWW muudab interneti mainstream-tehnoloogiaks.
Microsoft haarab Netscape brauseriosa, Netscape käivitab Mozilla vabavara-projekti
Börsimull:
USA börsid liiguvad 90 aastate algusest tempokalt üles
1990 aastate lõpul lähevad interneti- ja tarkvarafirmade aktsiad ülikalliks
2001 aastal murrang: börs langeb kiiresti kuni 2002 sügis: sel hetkel tehnoloogiaaktsiad 96 tasemel, Dow Jones (klassikaliste suurfirmade aktsiad) 97 aasta tasemel.
1989-90: Rahvusvaheline võrguots Eestis: FIDONET : 1989-90: Rahvusvaheline võrguots Eestis: FIDONET
1989 detsembri lõpus panid Andrus Suitsu ja Tarmo Soodla käima Opus-e nimelise P.O.Box-i.
1990 aasta kevadel lülitus Eesti FIDONET Soome kaudu ülemaailmsesse FIDO-võrku, ning sama aasta sügiseks oli Eestis juba sedavõrd palju FIDONET-i huvilisi, et Eesti sai omaette FidoNeti regiooni staatuse (R49).
Mosaic v1.0 is released.
1990: HTML, http and the browser are born : 1990: HTML, http and the browser are born The World Wide Web was born when Tim Berners-Lee, a researcher at CERN, the high-energy physics laboratory in Geneva, developed HyperText Markup Language.
HTML, as it is commonly known, allowed the Internet to expand into the World Wide Web, using specifications he developed such as URL (uniform resource locator) and HTTP (hypertext transfer protocol).
Berners-Lee based the World Wide Web on Enquire, a hypertext system he had developed for himself, with the aim of allowing people to work together by combining their knowledge in a global web of hypertext documents.
With this idea in mind, Berners-Lee designed
both the first World Wide Web server and browser
-- available to the general public in 1991.
First web server address: info.cern.ch
Berners-Lee founded the W3 Consortium,
which coordinates World Wide Web development.
www.w3c.org
1991 : 1991
Linus Torvalds, a student at the University of Helsinki in Finland, starts working as a hobby on Linux. Linus had an interest in Minix, a small UNIX system created by Tannenbaum, and decided to develop a system that exceeded the Minix standards. He began his work in 1991 when he released version 0.02
Linus used both Minix and Gnu for his work: essentially, Linux is a Minix-inspired kernel for Gnu.
1993 : 1993 Apple Computer introduces the Newton MessagePad 100 personal digital assistant at Macworld Expo,
1993: Berners-Lee süsteemi edasiarendus NCSA-s : 1993: Berners-Lee süsteemi edasiarendus NCSA-s
First publicly available popular browser, free to download, runs on several UNIX workstations:
NCSA Mosaic v1.0 is released.
Mosaic v1.0 is released.
1994: GNU/Linux version 1.0 and freeware BSD-s : 1994: GNU/Linux version 1.0 and freeware BSD-s
A freeware version of UNIX BSD branch: 4.4 BSD Lite at Berkeley
Linus Torvalds releases version 1.0 of the Linux Kernel.
NB! Freeware BSD-s and Linux are completely separate projects to create freeware UNIX-es
1995: Windows 95 : 1995: Windows 95 Microsoft releases Windows 95. More than 20,000 retail stores offer copies for sale.
Windows 95 sports a GUI interface somewhat similar to Apple Macintosh.
Microsoft prepares for support calls, with 1600 people staffing tech support lines. 1 million copies of the new and upgrade versions are sold through retail channels within the first 4 days.
One month after the release of Windows 95, an estimated 7 million copies have been sold to end-users.
Microsoft releases Microsoft Internet Explorer 1.0.
Microsoft introduces Microsoft Office 95.
1998: Netscape down, Mozilla born : 1998: Netscape down, Mozilla born Netscape makes source code for Netscape Communicator 5.0 browser available for free download on the Internet
Free Mozilla browser project started.
1999-2003: olulised asjad viimasel viiel aastal : 1999-2003: olulised asjad viimasel viiel aastal 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
HTML-i piiratus tõi kaasa rõhuasetuse XML-põhistele tehnoloogiatele.
Peer-to-peer (P2P) tehnoloogial põhinevad failivahetuse-süsteemid ((Napster), (Morpheus), Kazaa, eDonkey, jne) tekkisid ja muutusid ülipopulaarseks
Instant messengerid muutuvad populaarseks
Lähiperspektiiv: võrguteenused (XML saidid ja tarkvara XML-i teisendamiseks).
Pikem perspektiiv: semantilise webi-põhised tehnoloogiad.
Olulisi põhimõtteid “abstraktsioonide” osas : Olulisi põhimõtteid “abstraktsioonide” osas Kõrgkeeled, komponendid, võrguvärk jms on vajalik ainult selleks, et arendaja saaks rakendusi kiiremini teha.
Arendaja mõtleb “abstraktsioonide” tasemel, aga lõpuks töötab kõik ikkagi transistoridel.
Abstraktsioonid nö “tilguvad läbi”: iga abstraktsiooni juures on vaja põhimõtteliselt aru saada, kuidas töötab alumine, vähem abstraktne tase. Alati on vahel vaja midagi allpool teha!!!
Loe juurde: The law of leaky abstractions: http://www.joelonsoftware.com/articles/LeakyAbstractions.html
Komponendid : Komponendid Peamine idee: transistorid kui “katkestusmootoriga” lülitid
C = (A and -B)
Väikestest komponentidest ehitatakse suuremaid, millest omakorda veel suuremaid.
Komponendid on kui mustad kastid: teame nende väljundit vastava sisendi korral, aga enamasti mitte nende tehnilist sisu.
Sisend A:
vool sees: 1
vool väljas: 0 Väljund C:
vool sees: 1
vool väljas: 0 Lüliti B:
vool sees, 1: katkesta
vool väljas, 0: ühenda
Komponendid (Eck) : Komponendid (Eck) (A and C) or (B and (not C))
Komponendid (Eck) : Komponendid (Eck) (A and (not B)) or (B and (not A))
Mälu : Mälu Tagasiside
Lülitatav tagasiside: triger
Ühebitine mälukiip : Ühebitine mälukiip Kaks sisend- ja üks väljundjuhe
Ecki xComputer : Ecki xComputer
Arvuti põhiosade (protsessor + mälu) simulatsioon väikese Java programmiga.
Käsusüsteem sarnaneb väga esimeste päris-mikroprotsesoritega
Lihtsama arusaadavuse tõttu kasutab kahebaidiseid mälupesi (16 bitti), mitte ühebaidiseid, nagu harilik arvuti.
Mälu on 1024 pesa (1 K), seega 2 Kbaiti.
Aadressi jaoks kasutusel 10 bitti.
Esimestel koduarvutitel oli ka 4-16 Kbaiti (umbes sama hulk mälu)
... Registrid ... : ... Registrid ... The ADDR register specifies a location in main memory. The CPU often needs to read values from memory or write values to memory. Only one location in memory is accessible at any given time. The ADDR register specifies that location. So, for example, if the CPU needs to read the value in location 375, it must first store 375 into the ADDR register. (If you turn on the "Autoscroll" checkbox beneath the memory display, then the memory will automatically be scrolled to the location indicated by the ADDR register every time the value in that register changes.)
The PC register is the program counter. The CPU executes a program by fetching instructions one-by-one from memory and executing them. (This is called the fetch-and-execute cycle.) The PC specifies the location in memory that holds the next instruction to be executed.
The IR is the instruction register. When the CPU fetches a program instruction from main memory, this is where it puts it. The IR holds that instruction while it is being executed.
... Registrid ... : ... Registrid ... The COUNT register counts off the steps in a fetch-and-execute cycle. It takes the CPU several steps to fetch and execute an instruction. When COUNT is 1, it does step 1; when COUNT is 2, it does step 2; and so forth. The last step is always to reset COUNT to 0, to get ready to start the next fetch-and-execute cycle. This is easier to understand after you see it in action. Remember that as the COUNT register counts 0, 1, 2,..., just one machine language program is being executed
Hierarhia pistikutest assemblerini : Hierarhia pistikutest assemblerini Esimene programmeerimismeetod: kaablid ja pistikud
Teine: von Neumanni arhitektuur, programm mälus binaarkoodina:
010111010100101 101010101001
110101011010100 101010010100
111010100101001 110101111010
101010100101001 110011010101
110101001010010 101001000111
101001011101010 110101001001
(arvude liitmine 0…n)
Fortran vs LISP: summeeri arve 0…n : Fortran vs LISP: summeeri arve 0…n FORTRAN
INTEGER FUNCTI0N sumto(n)
isum = 0
DO i 10 = 0,n
isum = isum + i
10 CONTINUE
sumto = isum
RETURN
END
LISP
(defun sumto (n)
(if (= 0 n)
0
(+ n (sumto ( n 1))) ))
Kõrgkeeled : Kõrgkeeled Automatiseerivad ja lihtustavad hulga “harilikke” protseduure, mida assembleris programmeerides vaja
Ei anna assembleriga analoogilist kontrolli masina üle
Kõrgkeeled on erineva abstraktsusastmega:
Masinalähedane ja ebamugav: Fortran, C (portaabel assembler)
Abstraktsem ja mugavam: Lisp, Ada, ML, Java, ….
Kuidas keeles X kirjutatud programmi täidetakse? : 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.
Interpreteerimine: masinkoodis programm nimega interpretaator loeb sisse X keeles faili ja asub seda rida-realt täitma. Näide: vana BASIC.
Kompileerimine: masinkoodis programm nimega kompilaator teisendab keeles X programmi masinkoodfailiks Y. Seejärel täidetakse saadud masinkoodis programm Y. Näide: C.
Kuidas keeles X kirjutatud programmi täidetakse? : Kuidas keeles X kirjutatud programmi täidetakse?
Kompromissvariante:
Kompilaator kompileerib X faili vahekoodiks Y, seejärel interpreteeritakse vahekoodi Y (Python, Java).
Interpretaator interpreteerib vahekoodi Y, kuid kompileerib töö ajal osa Y-st masinkoodiks, mida seejärel täidab (Java) , nn just-in-time compilation ehk JIT.
Keelte erisused: kolm põhiasja : 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)
Miks opsüsteem? : Miks opsüsteem? 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? : 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.
jne
Kui opsüsteemi ei oleks, peaks iga programm kõiki neid asju ise teha oskama!
Naked machine : Naked machine
What is there in the naked machine (unclothed by an OS)?
CPU (registers, opcodes),
Memory (may be several chunks),
Devices (mapped to memory locations, able to transfer data to and from memory).
Operatsioonisüsteemide arengulugu : Operatsioonisüsteemide arengulugu Arvutid ilma OS-ita
Batch processing süsteemid
Multiprotsessing ja terminalid - UNIX
Personaalarvutid - IBM, Xerox, Apple, DOS, Windows
Operatsioonisüsteemide omadused : Operatsioonisüsteemide omadused Funktsionaalsus
Protsesside haldamine
Mälu haldamine
Failisüsteemid
Võrguprotokollid
Kasutajate haldamine
Interrupts : Interrupts The interrupt handler must save the machine state, do some processing, then call the process scheduler and dispatcher.
When an interrupt occurs
1.the processor hardware makes a quick copy of the program counter and CPU registers
2.the hardware switches to kernel mode and jumps to the interrupt service routine
3.the ISR is usually very short. It may inform a device driver that it received the interrupt; it may just increment some clock counters.
4.next the ISR calls the scheduler, which decides which process to run
5.the scheduler calls the dispatcher, and new process (or maybe the same process) resumes where it left off
An important goal of the OS is to hide interrupts from the user---and from user-level processes.
Processes have their own memory areas : Processes have their own memory areas
Processes wait and run – when chance comes : Processes wait and run – when chance comes
Linux & FreeBSD võrdlus : Linux & FreeBSD võrdlus Linux
Hajutatud arendus
Erinevad väljaanded
Kaasaegsem
Laiem riistvara toetus
SysV tüveline
Kasutajasõbralikum FreeBSD
Tuumikmeeskond
Üks väljaanne korraga
Stabiilsem
Väiksem riistvara toetus
BSD tüveline
Tehniliselt terviklikum
Tarkvarasüsteemide harilik arhitektuur : Tarkvarasüsteemide harilik arhitektuur
Tarkvarapakettide komponendid: 1 : Tarkvarapakettide komponendid: 1 Tarkvarapaketid ehitatakse reeglina mitmesuguste komponentide kokkupaneku teel. Neid komponente võib klassifitseerida järgmisel viisil:
Terviklikud lõppkasutaja-rakendusprogrammid (tekstitöötlus, raamatupidamise tarkvara, malemängu programmid jms), mida tihti, kuid mitte alati, saab juhtida ja mõne teise tarkvarapaketiga programmiliselt siduda.
Näiteks Microsoft Office rakendused (Word, Excel jne) on seotavad ja programmeeritavad Microsofti arenduspaketi VisualBasic abil. Nende rakendusprogrammide sidumisel oma tarkvarapaketiga tuleb arvestada, et paketi kasutajal peavad kasutatavad programmid olema ostetud ja arvutisse installeeritud.
Sagedamini kasutatakse seda skeemi operatsioonisüsteemi Windows puhul. Analoogiliselt on paljude rakenduspakettide osaks mõni andmebaasisüsteem, näiteks Oracle, Sybase vms, kusjuures vahel on võimalik ühte andmebaasisüsteemi teise samatüübilise vastu välja vahetada.osseisus.
Tarkvarapakettide komponendid: 3 : Tarkvarapakettide komponendid: 3 Konkreetseid, piiratud funktsioone (graafika joonistamine ekraanile, aritmeetika, failide lugemine ja kirjutamine, internetiühenduse käivitamine mingile aadressile jms) realiseerivad väikesed komponendid ja nende komplektid, nn teegid.
Selliseid komponente levitatakse enamasti komplektis kompilaatorite ja muude tarkvara-arendusvahenditega ning nad on enamasti kasutatavad ainult selle konkreetse programmeerimiskeele ja arendusvahendi koosseisus. komplektis kompilaatorite ja muude tarkvara-arendusvahenditega ning nad on enamasti kasutatavad ainult selle konkreetse programmeerimiskeele
Suletud ja avatud süsteemid : Suletud ja avatud süsteemid Laias laastus võib IT-tootepered jaotada kahe erisuunalise lähenemise vahel:
Personaalsed, suletud süsteemid
Tarkvara on esmajoones ette nähtud kasutaja oma arvuti ja kõvakettaga töötamiseks, teiste arvutite sidumine ja teiste firmade toodete sidumine on võimalik, kuid raskendatud.
Sellise lähenemise peamine baasplatvorm on Windows’i operatsioonisüsteem. Tähtsaim osa süsteemist on reeglina personaalarvuti, mitte server. Windows toetab küll arvutite omavahelist sidumist ning ühiskasutusega servereid (Windows NT baasil), kuid seab neile mitmeid piiranguid. (brauseri) kaudu, mis võib omakorda käivitada Java-keelse programmi. Lähenemist esindab kõige puhtamal kujul Sun, kes soovib Microsofti turupositsiooni nõrgendada. Sun’iga on otseselt liitunud AOL ja Netscape, tihedalt toetavad Oracle ning IBM. Sarnast lähenemist toetab ka laienev vabavara-liikumine, mille põhiplatvorm on tasuta ja avaliku koodiga operatsioonisüsteem Linux.
Suletud ja avatud süsteemid : Suletud ja avatud süsteemid Võrku seotud, avatud süsteemid.
Võimalikult paljud tarkvarakomponendid töötavad mitme kasutaja jaoks ette nähtud, võrku seotud serverarvutites. Üksikkasutaja jaoks on nad sisuliselt teenused. Primaarne on arvutite ja tarkvara lihtne võrku sidumine ja ühendatavus muude tarkvarakomponentidega.
Sellise lähenemise peamine baasplatvorm on serveril asuv Unixi operatsioonisüsteem, kus töötavad andmebaasid ja suured infootsimise-rakendused. Lõppkasutaja personaalarvuti suhtleb võrgu kaudu (enamasti internet) serveriga. Lõppkasutaja arvutis võib olla mistahes operatsioonisüsteem. Sageli suhtleb kasutaja süsteemiga hariliku internetilehitseja (brauseri) kaudu, mis võib omakorda käivitada Java-keelse programmi.
Teegid : Teegid Vaade 3: rakendusteegid
Enamik keeli EI SISALDA STANDARDSEID TEEKE või need teegid on äärmiselt piiratud
Näide: ANSI C. ANSI C teek sisaldab stringtöötlust, failitöötlust, trükkimist, veel paari analoogilist kategooriat.
Reeglina on võimsad rakendusteegid (graafika, aknad, hiir, võrguühendused, paralleelprotsessid jne ...) ebastandardsed, piiratud teatud riistvara ja opsüsteemiga (Windows 95, Windows NT, X windows, Linux, ...)
Pea ainus erand: Java
Arendusvahendid : Arendusvahendid Programmeerimiskeeled, kompilaator
Reeglina tuleb tarkvara loomiseks osata spetsiaalsetes programmeerimiskeeltes programme kirjutada, mis on jõukohane ainult erihariduse ja piisavate praktiliste kogemustega spetsialistidele.
Maailmas on kasutusel tuhandeid programmeerimiskeeli, kuid laiemalt on levinud ehk kümme keelt.
Mingis programmeerimiskeeles kirjutatud programmid teisendatakse arvutil töötavaks programmiks nn kompilaatori abil.
Arendusvahendid : Arendusvahendid Teek
Enamik kaasaegseid programmeerimiskeeli on kihilised, sisaldades väikest ja suhteliselt lihtsat tuuma ning suurt hulka väikesi tarkvarakomponente (nn teeke) mitmete standardülesannete jaoks.
Võrgurakendused: klient-server arhitektuurid : Võrgurakendused: klient-server arhitektuurid Kahekihiline
Kolmekihiline
N-kihiline
Võrgutarkvara praegune arhitektuur : Võrgutarkvara praegune arhitektuur Protokollid
Baasprotokollid
IP
TCP
HTTP
CGI
Laotusprotokollid
HTML - hypertext markup language
CSS - cascading style sheets
DOM - document object model
XML - extended markup language
Edasiarendatud, hajusobjektide protokollid
RMI
CORBA
DCOM
JINI
XML-RPC
SOAP
Rakendused
Võrgutarkvara pregune arhitektuur : Võrgutarkvara pregune arhitektuur Rakendusplatvormid
Serveripoolsed
Skriptikeeled koos teekidega: Perl, Python, Javascript, VBScript
Servletid: Java
Andmebaasid
Rakendusserverid
Kliendipoolsed
Skriptikeeled: Javascript, VBScript,
Appletid jms: Java, Flash
Rakendused: Java, ActiveX
Võrgurakendused: baasterminoloogia : Võrgurakendused: baasterminoloogia Praegune kasutusõiguslik jaotus
Internet Intranet Extranet
Ligipääs lahtine eraldatud piiratud avalik
Kasutajad avalikkus organisatsiooni organisatsiooni
liikmed partnerid
Info üldine privaatne valitud jagamine
Võrgurakendused: miks? : A) Üksikisiku vajadused:
Ligipääs oma dokumentidele ja materjalidele ja programmidele kust tahes, millal tahes: oma laua taga, teisest asutusest, kodust, reisil:
dokumendid, märkmed
kalender
kontaktide andmebaas
pangakonto
e-post
harjumuspärane tarkvara
Võrgurakendused: miks?
Võrgurakendused: miks? : B) Grupitöö ja juhtimisvajadused:
Hajutatud grupitöö: ligipääs töörühma ühistele dokumentidele ja materjalidele kust tahes, millal tahes
ühine kalender, ajaplaneerimine, grupidiskussioon reaalajas
grupil töösolevad dokumendid ja andmebaasid
Ligipääsettevõtte dokumentidele ja andmebaasidele vastavalt õigustele, kust tahes, millal tahes:
raamatupidamine
firma pangakonto
firma andmebaasid
töötajate raportid ja dokumendid
Võrgurakendused: miks?
Võrgurakendused: miks? : C) Automaatsed talletamis-, seostamis- ja infohankevajadused:
Automaatne arhiveerimine ja mugavate arhiiviotsingute võimaldamine
Erinevates osakondades ja ettevõtetes olevate eriostarbeliste andmebaaside andmete ühendamine, ühispäringute sooritamine
Info automaatne ja poolautomaatne otsimine võrgust
Võrgurakendused: miks?
Võrgutarkvara praegune arhitektuur : Võrgutarkvara praegune arhitektuur Protokollid
Baasprotokollid
IP
TCP
HTTP
CGI
Laotusprotokollid (kujundamine, tekstist tükkide kättesaamine jms)
HTML - hypertext markup language
CSS - cascading style sheets
DOM - document object model
Levinud infovahetus-protokoll
XML - extended markup language
Edasiarendatud, hajusobjektide protokollid
RMI
CORBA
JINI
XML-RPC
SOAP
Rakendused
Võrgurakendused: baasterminoloogia : Võrgurakendused: baasterminoloogia Praegune kasutusõiguslik jaotus
Internet Intranet Extranet
Ligipääs lahtine eraldatud piiratud avalik
Kasutajad avalikkus organisatsiooni organisatsiooni
liikmed partnerid
Info üldine privaatne valitud jagamine
DOM - Document Object Model: lühike sissejuhatus : DOM - Document Object Model: lühike sissejuhatus My homepage

My homepage
DOM - Document Object Model: lühike sissejuhatus : DOM - Document Object Model: lühike sissejuhatus
DOM - Document Object Model: lühike sissejuhatus : DOM - Document Object Model: lühike sissejuhatus
Klient ja server: XML - extensible markup language : Klient ja server: XML - extensible markup language High-end: SGML - võimas, keerukas
Low-end: HTML - nõrk, lihtne
Vaja praktilist vahepealset versiooni
Va