Transcript
Računarstvo računarstvo (vs. informatika)
algoritamski procesi opisuju i transformišu informaciju teorija, analiza, projektovanje, efikasnost, implementacija, primene
u nauci, tehnici, svakodnevici
(digitalni) računar: programabilna elektronska (matematička)mašina koja svodi svaki zadatak na niz elementarnih (matematičkih)operacija nad brojevima
Oblici?
metode: teorija, projektovanje, eksperiment matematika, tehnika, prirodne nauke
nauka / tehnologija (D. Knuth, R. Hoare, E. Dijkstra, N. Wirth...)
1
Podoblasti računarstva (ACM –Association for Computing Machinery)
1. hardver
2. organizacija računarskih sistema arhitekture
serijska, paralelna, distribuirana - u oblaku, klijent / server
... 3. mreže
mrežne arhitekture, protokoli, algoritmi za mrežnu komunikaciju ...
4. softver i softversko inženjerstvo operativni sistemi, programski jezici, kompilatori, verifikacija
i validacija softvera...
2
Podoblasti računarstva (nast.) 5. teorija izračunavanja
modeli izračunavanja formalni jezici i teorija automata logika analiza i razvoj algoritama, ...
6. matematika izračunavanja diskretna matematika verovatnoća i statistika, ...
3
Podoblasti računarstva (nast.) 7. informacioni sistemi
upravljanje bazama podataka primene informacionih sistema www Pretraživanje informacija
8. bezbednost i privatnost kriptografija formalne metode bezbednost sistema, baza podataka, mreža, softvera, ...
4
Podoblasti računarstva (nast.) 9. Izračunavanje orijentisano ka čoveku
Interakcija čovek – računarUređaji, tehnike, paradigme, vizualizacija, ...
10. metodologije izračunavanja … veštačka inteligencija (i obrada prirodnog jezika) mašinsko učenje računarska grafika, obrada slike, simulacija i modeliranje, ...
5
Podoblasti računarstva (nast.) 11. primene računarstva
e-trgovina fizičke nauke i inženjerstvo, biološke i medicinske nauke
bioinformatika, biomedicina pravo i društvene nauke računarska forenzika umetnost i jezik...
6
Podoblasti računarstva (nast.) 12 društvene i profesionalne teme
računarska industrija upravljanje (projektima, ...) obrazovanje u računarstvu pravni aspekti računarstva... kodeksi dobre prakse i etika, intelektualna svojina, ...
7
Programiranje
Komponenta računarstva Aktivnost izrade programa za elektronsku računsku mašinu Programiranje: veština i nauka Nauka: metode razvoja programa sa unapred poznatim
ponašanjem Izvođenje programa uz dokaz korektnosti Ponašanje programa izvodi se iz teksta programa – bez
testiranja Programski sistemi sa kritičnom bezbednošću
8
Programiranje (nast.) Primer (R.Sethie: Programming Languages – Concepts and
Constructs) jula 1962.g. raketa sa Venerinom sondom bez posade, Mariner I uništena 290 sekundi posle lansiranja gubitak: 18-20 miliona US$ uzrok: greška u programskom fragmentu
if not (raketa u kontaktu sa radarom) thenkorigovati putanju leta
korišćen prethodno u četiri lansiranja na Mesec tri stotine nezavisnih testiranja
9
Programiranje (nast.) Primer (R.Sethie: Programming Languages – Concepts and
Constructs) jula 1962.g. raketa sa Venerinom sondom bez posade, Mariner I uništena 290 sekundi posle lansiranja gubitak: 18-20 miliona US$ uzrok: greška u programskom fragmentu
if not (raketa u kontaktu sa radarom) thenne korigovati putanju leta
korišćen prethodno u četiri lansiranja na Mesec tri stotine nezavisnih testiranja
10
Računari – mehaničke naprave 1600-te: V. Outred, sveštenik: klizajući lenjir „šiber“, logaritmar
– kontinualna računaljka
1642.g. B.Paskal: “Paskalina” sabira i oduzima: digitalnikalkulator, rad sa brojevima
1670.g G.Lajbnic “Paskalina” množi i deli – ideja
12
Računari – mehaničke naprave
1820.g. Č.Bebidž “Diferencijska mašina”: dijagrami kvadrata i kubova brojeva (1991.g. Londonski muzej);3 tone, 2x4m, 4000 delova
1830.g. Č Bebidž: analitička mašina – projekat; sličan današnjim računarima; Augusta Ada Bajron – bušene kartice, program; smatra se prvim programerom!
(Žozef Mari Žakar, automatski razboj, početak 19. veka) Diferencijska mašina
13
Računari – elektromehaničke naprave 1930-40. H.Aiken (Harvard) programabilni računar Mark I:
program (papirna traka), ulaz(bušene kartice), smeštanje rezultata (elekromehanički prekidači); 17x2.5m, 750000 delova, 800km žice, 3 miliona električnih
spojeva; čitava zgrada 1944. završen; buba u releju;
14
Elektronski računari
SAD, Nemačka, Velika Britanija
ABC (Atanasoff-Berry Computer), SAD – sistem lin. j-na, osmišljena pre II sv. rata, 1939.
1941, Nemačka, Konrad Zuse (Cuze), Z3 programabilniračunar – projekat; elektromehanički realizovan
1943, Blečli Park, V. Britanija, Colosus, A. Tjuring(dešifrovanje šifara Enigme); 1800 cevi – aritmetika –delimično programabilan
15
Elektronski računari
1943. američka vojska: ENIAC (“The Electronic Numerical Integrator and Calculator”);
Eckert, Mauchly; 1946. završen; 1700 cevi, 30 tona, 30x3m – računao trajektorije u sekundama – specijalna namena; “programiranje” lemljenjem i prespajanjem kablova
EDVAC – programabilan (projekat);
John von Neumann – 1945-47; arhitektura elektronskog programabilnog računara
1949. EDSAC M. Wilkis – realizacija programabilnog računara 1949. UNIVAC Eckert, Maucly – projekat komercijalnog
računara; 1951. proizveden16
Fon-Nojmanova arhitektura Elementarni fizički objekat – ćelija: 0 / 1 Registar: niz ćelija fiksne dužine Struktura mašine:
CPU (procesor) Upravljačka jedinica Aritmetička jedinica
+ AK, R
Memorija: Program Podaci 4096 registara, adrese Registar: 40 bita
1 ceo 40-bitni broj 2 instrukcije
Ulazno/izlazni sistem Program: mašinski jezik
17
Generacije savremenih elektronskih računara
I generacija (kraj 30-tih do kraj 50-tih) elektronske cevi magnetni doboši bušene kartice mašinski i simbolički jezik vojska, nauka
19
Generacije savremenih elektronskih računara II generacija (kraj 50-tih do sredina 60-tih)
tranzistori Od 1954 – silicijum umesto germanijuma Magnetni diskovi i trake FORTRAN: John Backus, 1957
blizak matematičkoj notaciji efikasno prevođenje na mašinski jezik
LISP, 1958, McCarthy, rad sa listama; COBOL Prenosivost programa, čitljivost Novi korisnici, umrežavanje IBM
20
Generacije savremenih elektronskih računara III generacija (sredina 60-tih do sredina 70-tih)
Integrisana kola – silicijumski čip (mikročip) Poslovna primena Mejnfrejm računari, IBM Mini-računari, DEC – PDP, VAX memorija - silicijumski čip Telekomunikacioni sateliti Operativni sistemi – Unix 1972, Kovalski: Prolog – neproceduralan Algol 60 (60-tih g, J.Backus, P. Naur)
Algol W (1966, Wirth): poboljšano struktuiranje podataka Pascal (1971): dalja poboljšanja Modula 2 (1983): koncept modula (Wirth) Oberon (1988): Wirth
21
Generacije savremenih elektronskih računara
CPL (Strachy 1966) – Combined Programming Language: nije u potpunosti implementiran; uvodi koncepte
BCPL (Richards 1969): Basic CPL – za pisanje kompilatora
C 1972 – Dennis Ritchie – implementacioni jezik za softver vezan za operativni sistem UNIX (1973. prepisan u C)
1977 usavršen sistem tipova C-a
22
Generacije savremenih elektronskih računara IV generacija (sredina 70.tih – danas)
LSI, VLSI – visoko integrisana kola Mikroprocesor: memorija, logika i kontrolna kola 1971. prvi mikroprocesor Intel 4004 Personalni računari, npr. IBM PC, Apple Macintosh Poslovna i lična upotreba Operativni sistemi Microsoft – MS DOS, MS Windows / Mc
OS X Jezici IV generacije – 4GL - specijalne namene - za rad sa
bazama podataka, raširenim tabelama, obradu teksta Internet – teleizračunavanje; web; Google, Yahoo!; Tehnološka konvergencija – pametni telefoni, tableti
23
Generacije savremenih elektronskih računara
Povećanje brzine Smanjenje napona i potrošnje struje Smanjenje zagrevanja Smanjenje površine kola
24
Hardver Hardver: opipljive, fizičke komponente računara
Uređaji hardvera:
procesor (CPU): obrada podataka skladište podataka i programa: operativna memorija periferni uređaji:
ulazno/izlazni uređaji spoljašnja memorija
komunikacioni kanali: magistrale
26
CPU Obrada podataka Poluprovodnički (mikroprocesorski) čip; Murov zakon 1965.
(Gordon Mur, Intel: 4.3 milijarde tranzistora na čipu 2014.g.) Obradna jedinica: skup instrukcija Upravljačka jedinica
Dekoder operacije Instrukcije skoka, zaustavljenje
Registri opšte namene Širine 8, 16, 32, 64 bita
Registri specijalne namene Brzina: MIPS / FLOPS (10TFlops – 1012Flops - u 2014.) Arhitektura procesora Više jezgara (2, 4)
Intel (serija ’86’ – 8086, 80286, 80386, 80486, Pentium, (II, III, IV),Intel Core, Core i3, i5, i7, Xeon, Intel Atom; Motorola (serija 68000), IBM (RISC)
27
Memorija Poluprovodnički čip Kratkotrajna
Programi operativnog sistema Programi koji se trenutno izvršavaju Potrebni podaci
Bajt = 8 bita; adresa Registar = niz bajtova (2, 4, 8); adresa Jedinica:1KB=1024B, 1MB=1024KB, 1GB=1024MB,
1TB=1024GB (peta, exa, zetta, yotta – multiplikator 210=1024 ≈1000=103 ; kibi, mebi, gibi, tebi, pebi…)
RAM ROM Varijante...
28
Memorijska hijerarhija Kapacitet, vreme pristupa:
Registri procesora Keš RAM ROM/BIOS USB diskovi Hard diskovi CD, DVD, Blu-ray, magnetne trake
29
Periferni uređaji Ulaz
uz učešće čoveka – miš, tastatura, džojstik bez učešća čoveka - senzor
Primer: tastatura Upis u memoriju Izdavanje na ekran
Izlaz: ekran, štampač, mikrofilm, glas Npr. ekran: grafička kartica
Spoljašnja memorija magnetni disk, pokretni disk, CD ROM, CD R, CD RW, FD
(fleš disk), DVD (Digital Video Disk), memorijske kartice Sadržaj: spoljašnje datoteke; ekstenzije ukazuju na sadržaj
30
Komunikacini kanali
Magistrala: širina Magistrala adresa (20-64-bitne) Magistrala podataka (8-64-bitne)
“64-bitni procesor” Kontrolna magistrala
KONFIGURACIJA: osnovna karakteristika računarskog sistema
31
Softver
Softver: računarski programi i prateći podaci koji određuju izračunavanja koja vrši računar.
Aplikativni softver / Sistemski softver Aplikativni softver: korisnik neposredno koristi, npr.
Pregledač veba, klijenti elektronske pošte Multimedijalni softver - programi za reprodukciju i obradu
slika, zvuka i video sadržaja Kancelarijski softver Video igre
32
Softver Sistemski softver – kontroliše hardver i pruža usluge
aplikativnom softveru
Operativni sistemi Jezgro:
Dodeljivanje sistemskih resursa (npr. procesora i memorije) Kontrola hardvera Nadgledanje sistemskih aktivnosti Sinhronizacija programa
Korisnički interfejs Razni režimi rada
Serijski, rad u razdeljenom vremenu, itd MS Windows (Vista, 2000, XP, Windows 7, 8, 10), OS/2;
z/OS; UNIX - Android, BSD, iOS, Linux, Mac OS X
33
Softver Sistemski softver – kontroliše hardver i pruža usluge
aplikativnom softveru
Jezički procesori Asembleri Kompilatori Interpreteri
Uslužni programi (antivirus, štediša ekrana, drajveri, tekst editori...)
34
Funkcionisanje računarskog sistema Program na programskom jeziku Prevođenje Povezivanje sa drugim programskim celinama Donošenje u operativnu memoriju Izvršavanje: instrukcija po instrukcija
Sekvencijalna, serijska obrada Mašinski ciklus
1. faza: dekodiranje instrukcije i usmeravanje u procesorske registre (reg. adresa, reg. instrukcija)
2. faza: donose se podaci u registre podataka, ALJ izvršava operaciju, rezultat privremeno smešta u AK
Sledeća instrukcija, do instrukcije završetka Paralelna obrada
35
top related