1. PC komponente PC se sastoji od centralne jedinice (koja se često naziva računar) i različitih periferala koji su povezani sa računarom putem žice ili bežični. Komponente računara i periferala su date na slici. Komponente računara Periferali Matična ploča: CPU, RAM, cache, ROM Tastatura i miš BIOS, CMOS, chipset ( kontroleri ) Joystick portovi, bus-ovi, ekspanzioni slotovi Monitor Printer Drajveri: hard disk, floppy disk, CD-ROM, Skener DVD itd. Zvučnici Mikrofoni Ekspanzione kartice: grafička kartica, Slušalice (video adapter), mrežna kartica, SCSI Eksterni modemi kontroler, zvučna kartica, video i TV kartica, Eksterni drajveri (zip, trake, USB flash interni modem, ISDN kartica itd. drajveri itd.) Slika Komponente računara i periferali Još davne 1940 godine John von Neumann je podjelio HW u pet dijelova: − CPU (Central Processing Unit) − Radna memorija (Glavna memorija, RAM) − Input − Output − Permanentna memorija (eksterna memorija) Ako ovaj dizajn primjenimo na PC- to će izgledati kao što je prikazano na slici. Izlaz
Monitori Printeri
TV Zvuk Video Modem
Memorija RAM BUS-ovi Cache(L1 i L2)
CPU
Kontroleri
Tastatura Ulaz
Miš Skener Digitalna kamera
Diskete Drajveri
Hard diskovi Optički drajveri CD-ROM, DVD itd.
Slika PC i Neumann-ov koncept računara
2
2. Matična ploča (Motherboard) Matična ploča je ploča koja sadrži logička kola koja povezuju sve dijelove PC-ja. Ona sadrži konektore za CPU, BIOS, CMOS, memoriju, chipset-ove, video-uređaje, zvučne uređaje itd., i na taj način formira integrisani set komponenti. 3. ROM čip ROM (Read Only Memory) je memorija koja se može samo čitati, i ona sadrži specifične instrukcije za određenu matičnu ploču. ROM sadrži start-up instrukcije unutar kojih postoji nekoliko različitih programa. ROM čip POST rutine SETUP program BIOS program BOOT instrukcije ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ Slika ROM čip POST (Power On Self Test) je samotestiranje HW-a Setup instrukcije za komunikaciju sa CMOS instrukcijama BIOS (Basic Input Output System) instrukcije koje se odnose na različite HW periferale BOOT instrukcije koje pozivaju OS ROM BIOS programi sadrže male programske rutine koje upravljaju specifičnim HW jedinicama, npr. Rutinu koja čita tastaturu. BIOS se u toku startanja računara kopira u RAM, radi veće brzine pristupa. Ranije je svaka izmjena BIOS-a zahtjevala novi čip, a danas se koriste flash BIOS-i koji omogućavaju pisanje u EEPROM čip BIOS-a. 4. CMOS RAM CMOS (Complementary Metal Oxid Semiconductor) RAM (Random Access Memory) je mala memorija u CMOS čipu. Podaci se održavaju pomoću baterije. CMOS sadrži važne sistemske podatke koji se upotrebljavaju u startanju sistema od strane POST i BIOS programa. Konfiguracija nekih CMOS podataka je data na slici. CMOS se najčešće ažurira od strane korisnika kada se dodaje novi HW, mijenja lozinka (password), boot sekvenca itd., dok većina ostalih operacija nije interesantna za korisnika. Komunikacija BIOS programa i CMOS memorije se odvija pomoću setup programa, u koji se ulazi pritiskom na tipku Delete, nakon uključivanja računara. CMOS podaci Tip hard diska Password (lozinka) Vrijeme i datum Potrošnja el.energije BOOT sekvenca (A,C,CD-ROM) ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ Slika Neki CMOS podaci
3
CMOS data Setup-program
ROM-BIOS na motherboard
Korisnik, izbor diskete, HDD, itd.
ROM-BIOS na adapterima
BIOS data za OS Slika Setup program, CMOS i ROM-BIOS 5. PC BUS-ovi PC prima i šalje podatke preko BUS-ova (magistrala, saobraćajnica), a BUS-ovi se dijele na: Sistemske BUS-ove i I/O BUS-ove (Ulazno/Izlazne BUS-ove) Dok je CPU mozak PC-a, za BUS-ove se može reći da su nervni sistem matične ploče. BUSovi spajaju CPU sa svim ostalim komponentama i mogu se posmatrati kao žice, odnosno staze, na štampanoj ploči, preko kojih se vrši transmisija podataka, i to je jedan bit po jednoj stazi. Sistemski BUS povezuje CPU sa RAM i još se naziva FSB (Front Side Bus). Tipični FSB-ovi imaju širinu (broj staza) 64 bita i rade na 66, 133, 266,...,533MHz. I/O BUS-ovi spajaju CPU sa drugim komponentama, izuzev RAM-a. Oni su sporiji od sistemskog BUS-a i obično ih ima četiri, a razlikuju se po širini i radnoj frekvenciji: ISA (Industry Standard Architecture) Bus ima širinu 16 bita i radi na 8 MHz i u trendu je nestajanja u PC dizajnu. ISA bus je prikazan na slici. ISA BUS Kontroler
Interne Eksterne jedinice jedinice Disketa Tastatura Adapter 1 COM 1 i 2 Adapter 2 LPT Adapter 3 Slika ISA Bus
PCI (Peripheral Component Interconnection) bus je 32- bitni, bus koji radi na 33 MHz, i prikazan je na slici.
4
PCI BUS Kontroler
Interne jedinice
Eksterne jedinice
EIDE kanal 1 EIDE kanal 2 EIDE kanal 3 EIDE kanal 4
Adapter 1 Adapter 2 Adapter 3 Adapter 4
Slika PCI Bus
USB (Universal Serial Bus) je noviji, moderniji, jednostavniji i inteligetniji bus. USB je pojednostavio PC dizajn i donio jedinstven i jednostavan interfejs za mnoge periferale: o Tastature o Miševe o Zvučnike, mikrofone i druge zvučne uređaje o Modeme i ISDN adaptere o Skenere i kamere o Eksterne drajvere, kao što su: USB diskovi, CD-RW itd. o i druge adaptere Sve ove jedinice i još mnogo drugih, mogu biti spojene na jedan USB port računara u lanac od 127 jedinica. Za ovo se koriste USB hub-ovi, koji mogu biti i na monitoru i na tastaturi. Jedinice se mogu priključivati i kada računar radi (hot plug). Ako nema drajvera za tu jedinicu, računar će tražiti da se drajver instalira prvi put. Takođe, USB pruža mogućnost napajanja jedinica, sa malom potrošnjom električne energije preko njega. USB 1.1 je imao brzinu od 12 Mbps (Mega bita po sekundi), a sadašnji USBspecifikacija USB 2.0 – pokriva tri brzine: 480 Mbps,12 Mbps i 1.5 Mbps. Iz ovoga se vidi da je USB 2.0 brži od USB 1.1 četrdeset puta. AGP (Accelerated Graphics Port) je brzi video bus za grafičke kartice. AGP je konekcija sa visokim perfomansama između chipset-a i grafičkog kontrolera. AGP otklanja ograničenja PCI bus-a za intezivnu 3D grafiku i video saobraćaj. Podaci se spremaju u sistemsku memoriju, a zatim se direktno preko AGP isporučuju u frame buffer, kao što je prikazano na slici.
5
CPU
Lokalna memorija
Graphics Controller
Frame Buffer
Sistemska memorija
Textures
Chipset AGP
PCI Disk Drive Slika AGP
BUS-ovi, fizičkog aspekta, mogu biti: o Bus-ovi za podatke o Adresni bus-ovi o Upravljački bus-ovi Veza između sistemskog bus-a i I/O bus-a je prikazana na slici.
CPU
Sistemski bus
Bridge (most)
L2 Cache RAM
I/O bus-ovi
Slika Veza sistemskog i I/O bus-ova
RAM
I/O jedinice tastatura miš drajveri adapteri portovi, itd.
Chipset Chipset je skup inteligentnih čipova za kontrolu, i on je most između CPU, ISA i PCI bus-ova Nalazi se na svakoj matičnoj ploči, i sastoji se od dva osnovna dijela (čipa): North bridge (sjeverni most) i South bridge (južni most) Sjeverni (north) čip se brine o komunikaciji sa CPU, RAM i grafičkom karticom, dok se južni (south) čip brine o komunikaciji sa periferalima (diskovi, modemi, mreža itd.), to je prikazano na slici.
6
AGP
CPU
FSB
Sjeverni most
Južni most
ISA
PCI
RAM
Tastatura
COM 1 i 2 LPT EIDE NIC Drugi adapteri
USB Slika Uloga chipset-a 6. Glavna memorija – RAM RAM (Random Access Memory) je glavna memorija sa slučajnim pristupom, što znači da se svakoj memorijskoj ćeliji može pristupiti ako se zna red i kolona. Na njihovom presjeku je adresirana ćelija. RAM je radna memorija, i svi podaci i programi sa kojima radi CPU moraju biti učitani u RAM, obično sa hard diska, CD-a, floppy-a itd. Odnos RAM-a, CPU-a i hard diska prikazan je na slici. RAM
CPU
Hard Drive Slika RAM, CPU i hard disk
7
Treba razlikovati: RAM tipove (SDRAM, RDRAM, DDR RAM itd.) RAM module (SIMM, DIMM, RIMM) Odnos RAM-a i sistemskog bus-a Početkom 80-tih godina PC-ji su imali 64 KB, 128 KB, 256 KB i konačno 1 MB. 90-tih godina sa pojavom Windows OS, PC je zahtjevao mnogo više RAM-a, i 4 MB su postali standard. Danas se koriste RAM-ovi reda GB (Pentium IV može imati i 64 GB RAM-a). Tradicionalni RAM tipovi su: SRAM (Static RAM) koji pamti sadržaj, brži je od DRAM-a i upotrebljava se u različitim verzijama L2 cache. DRAM (Dynamic RAM) koji se mora refreširati (osvježavati) svakih nekoliko milisekundi. Postoji četiri tipa DRAM-a: FPM (Fast Page Mode) ECC (Error Correcting Code) EDO (Extended Data Output) SDRAM (Synchronous Dynamic RAM) FPM je bio tradicionalni RAM prije pojave EDO RAM-a. Montirao se u SIMM module od 2, 4, 8, 16 ili 32 MB, a vrijeme pristupa je bilo 60 ns. Maksimalna brzina prenosa je 176 MB/sec. ECC je skuplja memorija sa mogućnošću korekcije greške. EDO je poboljšanje u odnosu na FPM, ali je i on zamjenjen bržim SDRAM-om. Maksimalna brzina prenosa od RAM-a do L2 cache je 264 MB/sec. SDRAM ima sinhronizovan memorijski pristup i CPU takt. Tako se dobije brži transfer. Dok se jedan dio podataka prebacuje u CPU, drugi se dio priprema za transfer. DDR RAM (Double Data Rate) vrši prenos podataka na obje ivice taktnog impulsa i on je u stvari, udvostručen SDRAM, tj. 133 MHz SDRAM čip može vrlo lako biti zamjenjen sa 266 MHz DDR čipom. Novi tip DDR je DDR II sa znatno boljim perfomansama. RDRAM (Rambus Direct RAM) je razvijen iz klasičnog DRAM-a ali mu je arhitektura posve nova. U zadnjih 10 godina brzina CPU je porasla 200 puta, a memorije samo 20 puta. To je bio razlog za razvijanje novih RAM tipova. Neki proizvođači su se odlučili za DDR, a drugi za RDRAM. Rambus dizajn omogućava inteligetniji pristup RAM-u. Ideja je da se podaci čitaju u malim paketima (16 bitova za razliku od 64 bitnog SDRAM-a) na vrlo visokoj frekvenciji. Rambus je brža i skuplja memorija od SDRAM-a i DDR-a. RAM tipovi se ne mogu jednostavno instalirati na matičnu ploču jer su kontrolisani i od chipset-a, a to znači da se mora instalirati onaj tip RAM-a koji je saglasan i matičnoj ploči i chipset-u. Takođe, RAM-ovi se moraju slagati i sa fizičkim dimenzijama matične ploče. RAM-ovi se razlikuju i po modulima: SIMM, DIMM i RIMM. SIMM (Single Inline Memory Modules) moduli su u početku bili u 8-bitnom izdanju. To su bile male kartice sa 1 ili 2 MB RAM-a. Kasnije su nastali 16- bitni i 32-bitni (DRAM) moduli. DIMM (Dual Inline Memory Modules) je najviše upotrebljavan tip memorije. SDRAM je napravljen od 64 bitnih modula, nazvanih DIMM. Moduli su 8, 16, 64, 128, 256 i 512 MB, sa brzinama 6, 8, 10 i 12 ns.Obično se na matičnoj ploči nalaze 2-4 DIMM socket-a (mjesto gdje se utiče modul). Neke matične ploče imaju i DIMM i SIMM socket-e. RIMM (Rambus Inline Memory Modules) su RDRAM moduli 16 bitne širine. Karakteristike različitih RAM tipova su prikazane na slici.
8
RAM tip Theoretska max. propustljivost SDRAM 100 MHz 100 MHz × 64 bit= 800 MB/sec SDRAM 133 MHz 133 MHz × 64 bit= 1064 MB/sec DDR RAM 200 MHz (PC1600) 2 × 100 MHz × 64 bit= 1600 MB/sec DDR RAM 266 MHz (PC2100) 2 × 133 MHz × 64 bit= 2128 MB/sec DDR RAM 366 MHz (PC2600) 2 × 166 MHz × 64 bit= 2656 MB/sec RDRAM 600 MHz 600 MHz × 16 bit= 1200 MB/sec RDRAM 700 MHz 700 MHz × 16 bit= 1400 MB/sec RDRAM 800 MHz 800 MHz × 16 bit= 1600 MB/sec Slika Karakteristike različitih RAM tipova Ostali značajniji tipovi memorija su: ROM, PROM, EPROM, EEPROM i FLASH. Razlikuju se po mogućnostima čitanja, pisanja i čuvanja podataka kada nema napajanja. 7. Procesor – CPU Procesor (kraća forma od mikroprocesor) se često naziva CPU (Central Processing Unit), tj. centralna procesna jedinica. CPU je centralna komponenta PC-a i on je odgovoran za sve što PC radi (procesira). Ujedno je i najskuplji dio PC-a i on određuje koji OS može biti upotrebljen, koji SW može raditi na njemu, koliko je stabilan sistem i još niz drugih stvari. U zadnje dvije dekade razvijene su dvije arhitekture procesora: CISC(Complex Instruction Set Computer) RISC(Reduced Instruction Set Computer) CISC je tradicionalna arhitektura računara 80-tih i 90-tih godina. CISC računari su organizovani tako da se smanji broj instrukcija uvođenjem kompleksnih instrukcija koje izvode višestruke funkcije u jednoj instrukciji i za dekodiranje ovih instrukcija potrebna su složena elektronska kola. 1984. godine uveden je koncept RISC računara, a razlog tome je bio što su studije pokazale da se aproksimativno 80% posla PC-a izvodi sa 20% instrukcija. RISC procesira jednostavne instrukcije mnogo brže od CISC-a, a i dizajn i proizvodnja su jeftiniji, ali on gubi efikasnost kada su u pitanju kompleksnije instrukcije. RISC mašine imaju veliki uticaj na SW, jer RISC kompajleri moraju generisati SW rutine za izvođenje kompleksnih instrukcija, dok je to kod CISC mašina ugrađeno u HW. U zadnje vrijeme ove dvije arhitekture se približavaju jedna drugoj, tj. postaju slične.Mnogi današnji RISC čipovi podržavaju onoliko mnogo instrukcija koliko dojučerašnji CISC čipovi. S druge strane, CISC čipovi upotrebljavaju mnoge tehnologije RISC čipova. Bazični način izvođenja instrukcije na PC se sastoji iz tri ciklusa: Fetch (dohvat instrukcije u registar), Dekode (dekodiranje, da se zna šta instrukcija radi) i Execute (izvođenje same instrukcije). Npr. instrukciju ADD A to B giving C kompajler prevodi u više manjih mašinskih instrukcija koje CPU razumije. Ove instrukcije se smještaju u RAM i nakon toga se, pojednostavljeno, dešava sljedeće: Svaka instrukcija se prebacuje u fetch ciklusu iz RAM-a u CPU registar Instrukcija se dekodira, u ovom slučaju to je instrukcija sabiranja, i traže se podaci na lokacijama A i B i prebacuje u CPU registre Podaci u A i B se sabiraju i spremaju u registar Registar koji sadrži sumu se prebacuje u lokaciju C u RAM-u Dohvata se sljedeća instrukcija i ciklus se ponavlja Mnogi procesori danas omogućavaju pipeline(procesne linije). Svako stanje (stage) pipeline-a odgovara stanju u kome se instrukcija nalazi (dohvaća se, dekodira se, izvodi se itd.) i svako stanje proslijeđuje instrukciju u sljedeće stanje dok se instrukcija ne završi. Pentium IV ima 20 pipeline stanja. To znači da u jednom momentu može izvršavati više instrukcija u
9
različitim stanjima. Pipeline je prikazan na slici. U prvom kloku se dohvaća instrukcija A, u drugom kloku se dohvaća instrukcija B, a instrukcija A se dekodira.U trećem kloku se dohvaća instrukcija C, instrukcija B se dekodira, a instrukcija A se izvodi itd. RAM A B C D
KLOK FETCH DECODE EXECUTE
1 A
PIPELINE 2 B A
3 C B A
4 D C B
Sl. Pipeline Pored pipeline-a, mnogi procesori danas imaju superskalarnu arhitekturu. To znači da su elektronska kola za svako stanje pipeline-a duplirana, a to pretpostavlja da se više instrukcija može izvoditi paralelno. Istorijat CPU-a počinje sa prvim Intelovim čipom 8088, upotrebljenim u IBM PC-u. Iako je već tada Intel imao bolji i brzi čip 8086, razlozi za upotrebu 8088 su bile ekonomske prirode: 8-bitni bus je zahtijevao jeftiniju matičnu ploču za 8086 od 16-bitne, a i većina ostalih čipova je imala 8-bitni dizajn. Nakon toga se na tržištu pojavio sedam – osam generacija procesora, kao što je prikazano na slici. Tip/ Generacija
Godina
Data/Adress bus širina
Level 1 Cache (KB)
Memory bus brzina (MHz)
8088/Prva 8086/Prva 80286/Druga 80386DX/Treća 80386SX/Treća 80486DX/Četvrta 80486SX/Četvrta 80486DX2/Četvrta 80486DX4/Četvrta Pentium/Peta MMX/Peta PentiumPro/Šesta Pentium II/Šesta Pentium II/Šesta Pentium III/Šesta AMD Athlon/Sedma
1979 1978 1982 1985 1988 1989 1989 1992 1994 1993 1997 1995 1997 1998 1999
8/20 bit 16/20 bit 16/24 bit 32/32 bit 16/32 bit 32/32 bit 32/32 bit 32/32 bit 32/32 bit 64/32 bit 64/32 bit 64/36 bit 64/36 bit 64/36 bit 64/36 bit
None None None None 8 8 8 8 8+8 8+8 16+16 8+8 16+16 16+16 16+16
4.77-8 4.77-8 6-20 16-33 16-33 25-50 25-50 25-40 25-40 60-66 66 66 66 66/100 100
Internal clock brzina (MHz) 4.77-8 4.77-8 6-20 16-33 16-33 25-50 25-50 50-80 75-120 60-200 166-233 150-200 233-300 300-450 450-1200
1999
64/36 bit
64+64
266
500-1670
PentiumIV/Sedma
2001
64/36 bit
12+8
533
1400-3060
Generacije procesora Osma generacija su Intel Itanium i AMD Sledgehammer procesori. 10
Control Unit (Upravljačka jedinica) pretražuje instrukcije u memoriji, dohvata instrukcije (fetch) i dekodira instrukcije. CPU preko sistemskog bus-a prima dvije vrste podataka: instrukcije i podatke koji obrađuju te instrukcije. Najveći posao za CPU je da dekodira instrukcije i locira podatke. Svi CPU PC su '8086' kompatibilni, što znači da programi komuniciraju sa CPU putem specifične familije instrukcija. Svi novi procesori, bez obzira na to koliko su jaki i napredni, moraju biti u mogućnosti da rukuju sa 8086 instrukcionim formatom i, zbog kompatibilnosti prema dole, CPU mora potrošiti dosta vremena da prevede 8086 instrukcije u interni instrukcioni kod, kao što je prikazano na slici. ('Prevođenje 8086 instrukcija u interne instrukcije'). Branch predictor (Prediktor grananja) pokušava da pogodi koja će sekvenca instrukcija biti izvedena svaki put kada program sadrži uslovni skok tako da prefetch i decode jedinice mogu dobiti spremnu instrukciju unaprijed.
Instrukcije
”8086” instrukcije
CPU
Translacija
Interne instrukcije CICS i RISC
Korisnik i podaci
Prevođenje 8086 instrukcija u interne instrukcije
ALU (Arithmetic and Logic Unit) – aritmetičko-logička jedinica radi u konjukciji sa General Purpose Registers (registrima opšte namjene), privremenim lokacijama u memoriji – u koje se može upisivati sadržaj memorije ili se njihov sadržaj može upisivati u memoriju – i izvodi operacije sa integer-ima (integer ALU) i realnim brojevima (Floating Point Unit i multimedija instrukcijama ), kao i logičke operacije. ALU takođe mijenja bitove u SR (Status Registar), koji nakon izvođenja svake instrukcije sadrži podatke o rezultatu (ispravno, broj izvan opsega, dijeljenje sa 0 itd.). Registri: pored već pomenutog SR registra, postoji još registara, od kojih su najznačajniji PC (Program Counter), programski brojač koji sadrži adresu sljedeće instrukcije koja će
11
biti izvedena i IR (Instruction Registar), instrukcioni registar preko koga kontrolna jedinica vrši transfer instrukcija iz memorije.
Cache (keš) memorija služi da premosti razliku i brzinu CPU-a i RAM-a, jer je CPU znatno brži. To je specijalna memorija RAM tipa, malog kapaciteta i velike brzine, koja se upotrebljava kao bafer. Postoje dva tipa ove memorije: L1 i L2 (Level 1 i Level 2). L1 je integrisan u CPU čipu, a L2 se nalazi u čipu na matičnoj ploči. Ako instrukcije ili podatka nema u L1 kešu, oni se uzimaju iz L2 keša. Kada je u pitanju keš memorija, postoje dva tipa: - I-cache (instrukcioni keš) i - D-cache (keš podataka) Kod Pentium 4, umjesto konvencionalnog I-keša postoji '' trace cache '' veličine 12 KB, koji sadrži dekodirane mikrooperacije u redoslijedu izvođenja programa i tako izbacuje dekoder iz glavne egzekucione petlje. Na ovaj način se integer instrukcije , kao što su Add, Subtract, Logical AND i OR izvode u ½ klok ciklusa. Pentium IV sadrži i 8 KB keša podataka, dok mu je L2 keš veličine 512 KB. Na slici je prikazan koncept keš memorije.
CPU Registri L1 Cache
L2 Cache
RAM
I/O bus ISA, PCI
System bus Slika. Prošireni koncept keš memorije 8. I/O adapteri I/O adapteri se nazivaju i I/O kontroleri, kartice, ekspanzione kartice, i oni služe kao interfejs između periferala i bus-ova (kao što je prikazano na slici). Kontroleri mogu biti integrisani na matičnoj ploči, a mogu biti i zasebne ekspanzione kartice. Svaka matična ploča sadrži: floppy kontroler, serijske portove, paralelne portove i kontroler tastature (keyboard). Dva serijska porta RS232 služe za asinhroni prenos, dok paralelni port LPT1 služi, uglavnom za povezivanje printera, ali se na njega mogu vezati i drugi uređaji ako nema USB portova. Kontroler tastature skenira kod prilikom svakog pritiska i otpuštanja tipke i takav kod se zatim prevodi u ASCII kod. Matična ploča, pored navedenih jedinica, sadrži i 4 EIDE jedinice za povezivanje tvrdih diskova i CD-ova, i to: primary master, primary slave, secondary master i secondary slave.
12
Zbog modularnog PC dizajna, postoji veliki broj ekspanzionih kartica koje se, po želji, mogu ugrađivati u PC (modemi, mrežne karte, ISDN adapteri, video i zvučne karte itd.). Adapteri omogućuju funkcije koje su odvojene od matične ploče, proširuju mogućnost PC-a i jednostavno se instaliraju u ekspanzione slotove (ISA i PCI) na matičnoj ploči. Adapter na I/O bus-u upotrebljava IRQ (Interrupt ReQuest) koncept za signalizaciju primanja, odnosno slanja podataka i završetka operacije. Printer, paralelni port, skener, drajveri itd. Miš, modem, i drugi serijski uređaji ISA adapteri ISA
Unutrašnji kontroleri
EIDE kontroler
LPT1 COM1 COM2 Floppy KBD Sound Blaster zvučna kartica
Drugi 16- bitni adapteri
Ultra DMA hard diskovi, Zip i drugi uređaji
CD-ROM uređaji i rekorderi
Grafički adapter Mrežna kartica
PCI PCI adapteri
SCSI kontroler
FireWire kontroler
Tastatura
Drugi 32- bitni adapteri
Hard diskovi, drugi uređaji, skener itd.
Drajveri visokih perfomansi
AGP
AGP slot
USB
USB-jedinica i hub-ovi
Grafički adapteri
Tastatura
Skener
Digitalna kamera
Slika Adapteri i bus-ovi
SCSI (Small Computer System Interface – skazi) je HW interfejs koji dopušta konekciju do 7 ili 15 periferala na ekspanzionu karticu koja se još naziva SCSI host adapter ili SCSI kontroler. SCSI periferali se ulančavaju, i svaki periferal ima drugi port za vezu sa sljedećim periferalom u lancu. Zadnji uređaji u internom i eksternom lancu moraju biti terminirani. Grafička kartica se ranije spajala preko standardnog PCI bus-a, čija je ukupna propustljivost bila 133 MB/s. To nije bilo dovoljno za kvalitetnu grafiku, a posebno ako se propustljivost PCI dijeli sa drugim karticama. Ovaj problem je riješen sa AGP bus-om. Prva specifikacija AGP je imala 1× i 2× protokole (256 i 633 MB/s), zatim dolazi 4× protokol (1 GB/s), i od prošle godine, 8× protokol sa propustljivosti 2.1 GB/s. Sve AGP sabirnice su 32-bitne, a radni
13
takt se kreće između 66 i 533 MHz. Svaka grafička kartica se sastoji od par osnovnih dijelova i karakteristika: Grafički čip Memorija (danas 64 do 128 MB DDR) Radni takt jezgre (200 do 300 MHz) Radni takt memorije (400 do 650 MHz) Interfejs (AGP 4× i 8×) DVI (Digital Video Interface) konektor za digitalni CRT monitor S-video konektor za kompozitni konektor za TV/VCR VGA konektor za analogni CRT monitor Broj pixela, rezolucija (640 × 480, 1024 × 768, 1600 × 1200 pixela po x i y osi). Pixel je skraćenica od picture element (element slike) i predstavlja najmanji segment slike. Broj kolora koje može prikazati pixel zavisi od bit (pixel,kolor) dubine (8 bita – 256 boja, 24 bita – 16777216 boja itd.) Softver i dodatna oprema Modem (MODulator – DEModulator) je uređaj koji spaja računar na analognu telefonsku liniju, pri čemu se vrši D/A i A/D konverziju. Kada se kaže modem, obično se misli na V.90 modeme sa brzinom do 56 Kbps ili na V.34 sa brzinom od 28.8 Kbps. Ovaj termin se takođe upotrebljava i za brze DSL modeme ili ISDN adaptere koji tehnički nisu modemi. Modemi mogu biti interni i eksterni. Interni modemi zahtjevaju prazan ekspanzioni slot, a eksterniserijski ili USB port. Većina modema upotrebljava Hayes-ove AT komande za upravljanje modemom. Za modem je takođe potrebno imati odgovarajući softverski drajver. Ako je računar vezan u LAN (Local Area Network), onda se umjesto modema upotebljava mrežna kartica NIC (Network Interface Card), brzine 10/100 Mbs. Na zvučnu karticu se priključuju zvučnici, mikrofoni i slušalice. Plug and Play (PnP) je industrijski standard za ekspanzione kartice i ako kartica potvrdi standard – instalacija je vrlo jednostavna, tj. kartica se konfiguriše automatski. 9. Memorijski mediji (floppy, flash, optički diskovi) Pored drajvera koje je ime za više memorijskih medija i imena (eksterna, pomoćna, sekundarna memorija), osim RAM-a pridružuje se i ime fajl sistema koji je objašnjen kasnije. Ovi mediji mogu biti fiksni i izmjenljivi. Par objašnjenja za potrebu korišćenja izmjenljivih memorijskih medija: Fajl se ne može prebaciti preko mreže Više PC je na jednom mjestu, a nisu umreženi Zahtjeva se fizički transport fajla Nadogradnja PC-a Zaštićeni podaci BACKUP/RESTORE Drajveri se obično označavaju slovima (fizički i logički drajv), kao što je prikazano na slici. Memorijski medij Slovo Floppy disc A: , B: Hard disc C: , D:, E: CDROM/DVD F: MO drive G: Network drive M: RAM disc O: Slika Oznaka drajvera Prema tehnologiji drajveri mogu biti: 14
Tehnologija Magnetski Optički Magnetno optički
Drive Floppy diskovi Hard diskovi Zip drajveri itd. CD-ROM, DVD itd. Ostali drajveri
Slika Tehnologije drajvera Tradicionalni Floppy drajveri (disketa) To su mali, jeftini diskovi ograničenog kapaciteta. Kapacitet im je do 1.44 MB, i danas se koriste uglavnom za fizički prenos manjih fajlova i za pravljenje sistemskog diska za pokretanje sistema u slučaju potrebe. Organizacija im je ista kao kod hard diska. Za smještanje većeg broja podataka (pakovanih) koristi se ZIP softver. Međutim danas postoje drajveri koji su naslijedili diskete sa većim kapacitetom. ZIP drajv ima kapacitet 70-71 diskete (3.5″), JAZ može imati na sebi 700 disketa, a SyJet 1000 i više disketa (1.5 GB). Portabilni USB Flash drajveri Ovi drajveri, za sada, mogu podržati do 1 GB memorijskog prostora. To je 710 puta više nego klasični floppy drajv od 1.44 MB. USB flash disk drajv je PnP drajv koji se spaja na USB port, a PC ga automatski detektuje kao promjenljivi disk. Sa ovog drajvera se mogu izvoditi aplikacije, slušati mp3 muzika, gledati video itd. Veličina ovog drajvera je kao BIC jednokratni upaljač i u mnogim slučajevima se ne mora nositi notebook računar, ukoliko se posjeduje ovaj drajv i USB port na drugom računaru. Optički diskovi CD-ROM i DVD (Digital Video Disc) spadaju u optičke diskove. Ovi diskovi, za razliku od magnetnih, mogu čuvati informacije znatno duže. Bazirani su na laserima i imaju veću gustinu pakovanja podataka i veću stabilnost. Preteča ovih diskova je bio CD (Compact Disc), koji je trebao da zamjeni LP (Long Play) ploče u 80-tim godinama. Kompakt diskovi su bili organizovani po stazama (tracks), od kojih je svaka imala broj. CD-ROM (Read Only Memory) se pojavio 1984 godine., kao ekstenzija CD. Razlika je bila samo u organizaciji podataka (umjesto staza upotrebljeni su sektori koji su se mogli čitati nezavisno). Kapacitet je 650/700 MB. Razlika između tvrdih i optičkih diskova je u tome što tvrdi diskovi imaju koncentrične staze, a CD spiralne. Danas postoji više tipova CD i DVD, koji se razlikuju po tome šta mogu da rade, što je prikazano na slici. Tip drajvera Ime Šta može da radi CD-ROM Compact Disc Read Only Memory Čita CD-ROM i CD-R CD-R Compact Disc Recordable Čita CD-ROM,CD-R i piše samo jednom CD-R CD-RW Compact Disc ReWriteable Čita CD-ROM, CD-R i piše više puta CD-RW DVD ROM Digital Versatile Disc Kao CD-ROM DVD-R DVD Recordable Kao CD-R DVD+RW DVD RAM Read/Write Čita sve CD formate, DVD ROM i čita i piše DVD diskove Slika CD i DVD Rotaciona brzina i transfer podataka zavise od generacije CD-ROM, i izražavaju se kao: Za CD-ove × je brzina prenosa od 150 KB/sec. Za DVD–ove × je brzina prenosa od 1.385 KB/sec DVD postoje u nekoliko verzija (samostalni i računarski) i razlikuju se po mogućnostima i kapacitetima. DVD imaju kapacitet od 3.8 do 4.7 GB, pa u različitim tipovima do 17 GB. 15
Pošto su DVD+RW uređaji ujedno i CD-R, CD-RW, CD i DVD, potrebno je razlikovati × brzine DVD-ova i CD-ova. Brzina 12×/2.4×/10×/32×/8× znači da se mediji: CD-R pišu brzinom do 12× DVD+RW pišu brzinom do 2.4× CD-RW mediji pišu brzinom do 10× CD mediji se čitaju brzinom 32× DVD mediji se čitaju brzinom 8× 10. Tvrdi diskovi (Hard disks) Hard diskovi (HDD) su jedan od ključnih elemenata perfomansi PC-a, jer mogu biti uzročnik velikih kašnjenja i predstavljati usko grlo. Dok se vremena pristupa RAM-u mjere u nanosekundama, vrijeme pristupa hard diskovima se mjeri u milisekundama. Nekoliko magnetnih ploča je montirano na zajedničku osovinu i one rotiraju konstantnom brzinom koja se mjeri u broju obrtaja u minuti (rpm-revolutions per minute). Tipične brzine su 3600, 4500, 7200, 10000 rpm. S druge strane postoji češalj - glava, odnosno ruka sa glavama za čitanje i pisanje, koje se kreću kroz k-pozicija. Svaka adresibilna jedinica na disku je određena sa tri koordinate (c, p, s), gdje je c- indeks cilindra, p-indeks ploče (staze) i s- indeks sektora. Cilindri su skup staza istog radijusa, i sve glave su uvijek na istom cilindru. Staze su skup bajtova na određenoj poziciji glave za R/W, a sektori su dijelovi staze. Faktori koji utiču na brzinu hard diska jesu: Rotaciona brzina Broj cilindara Broj sektora po stazi Vrijeme pozicioniranja glava (seek time) i odabiranje glave Rotaciono kašnjenje Brzina prenosa podataka Keš na HDD Organizacija podataka Interfejs (EIDE, SCSI, USB) Najbrže vrijeme pozicioniranja je kada se pozicionira slijedeći cilindar, a najsporije od prvog do zadnjeg cilindra. Zato se uzima prosječno vrijeme pozicioniranja od prvog do srednjeg cilindra. Kada se glave pozicioniraju na željeni cilindar i odabere glava, mora se čekati nailazak pravog sektora, i to je rotaciono kašnjenje, a zatim nastupa transfer podataka. Za ubrzanje rada diskova koristi se RAM keš, tj. u jednom pristupu disku se više podataka prebacuje u RAM. Slijedeće obraćanje disku se svodi na pristup kešu, koji je mnogo brži. Ako je podatak u kešu, ne pristupa se HDD-u. Postoje i diskovi koji imaju vlastiti keš. RAID diskovi RAID (Redudant Array of Inexpensive Disks) su redudatni niz jeftinih diskova. Ideja za ove diskove potiče iz 1987 godine sa Berkley univerziteta, kada su Peterson, Gibson i Katz objavili rad ″A Case for Redunant Arrays of Inexpensive Disks″, što znači kombinovati redundantni niz jeftinih diskova. Cilj je bio da se postignu: Bolje perfomanse Veći kapacitet Otpornost na kvarove - rekonstrukcija podataka bez gubitaka u slučaju kvara
Ideja je bila: 16
Kombinovati više malih, jeftinih diskova u niz diskova koji se računaru predstavljaju kao jedan logički disk Raspoređivanje Dupliciranje podataka Diskovi u nizu treba da budu podjednako opterećeni Podjela RAID tehnologija je izvršena u šest standardizovanih nivoa, označenih brojevima od 0 do 5, sa dodatkom kombinacija. Svaki nivo zavisi od cijene, pouzdanosti, brzine propusnosti i srednjeg vremena između greške (MTBF – Mean Time Beetwen Failure) individualnog diska. Implementacija RAID-a zavisi od HW i SW. HW RAID implementacija obuhvata: Ultra SCSI inteligentni kontroler koji upravlja RAID podsistemom nezavisno od hosta Fibre Channel (veća brzina) SW RAID: Okupira glavnu memoriju Konzumira CPU ciklus Zavisan je od OS Degradira perfomanse u odnosu na druge aplikacije Separatni boot drajver za RAID softver OS NT server podržava i HW i SW pristup, jer je SW ugrađen u upravljačke programe FTDISK-a, koji radi pod fajl sistemima NTFS i FAT. Kod HW, sva upravljačka kola su u RAID kontroleru i tako su sve operacije, izuzev operacija niskog nivoa, u HW RAID kontroleru. Razlike u pristupima (SW, HW) su u brzini, cijeni, otvorenosti, prilagodljivosti i mogućnosti za dodatnu pouzdanost (vruća zamjena - bez isključivanja RAID podsistema). RAID 0 RAID 0 obuhvata segmentiranje (striping) diskova što znači podešavanje dva ili više diskova da podatke raspoređuju ravnomjerno među sobom. Podaci se razbijaju u blokove, i svaki blok se piše na drugi disk. Striping je metod konkatinacije više diskova u jednu logičku jedinicu. Stripovi (segmenti) su od 512 B do nekoliko KB (NT – 64 KB). Ovdje nema podataka o prioritetu, perfomanse su bolje, omogućuje se višestruki pristup diskovima istovremeno, nema redundantnosti i mora se omogućiti sinhronizacija rotacije diskova. RAID 0 diskovi su prikazani na slici. RAID 0
A E I M
B F J N
C G K O
D H L Etc..
Slika RAID 0 diskovi RAID 1
17
RAID 1 omogućava redundansu pisanja na dva ili više diskova istih podataka i time postiže veću pouzdanost, gubitak kapaciteta, a perfomanse su bolje kada je u pitanju čitanje (dva pisanja, jedno čitanje). Ako je jedan disk u kvaru, drugi preuzima njegovu funkciju. Diskovi se zovu primar i sjenka, i kapacitet odlučuje manji disk. Organizacija RAID 1 je prikazana na slici. RAID 1
A B C D
=
A B C D
E F G H
=
E F G H
I J K L
=
I J K L
M N O P
=
M N O P
Slika RAID 1 RAID 2 RAID 2 diskovi upotrebljavaju Hamming-ov za detekciju greške. Namjenjeni su diskovima koji nemaju ugrađenu detekciju greške, a svi SCSI diskovi to imaju. RAID 3 RAID 3 je, u stvari, RAID 0 + paritet koji stripuje podatke, izuzev paritetnog diska i dobar je za veće sekvencijalne datoteke. RAID 4 RAID 4 je sličan RAID 3, samo što umjesto strip-a upotrebljava blokove podataka sa paritetom. Perfomanse su dobre za čitanje-pisanje, tj. za ažuriranje podataka. RAID 5 RAID 5 je najviše u upotrebi, jer koristi segmentiranje sa paritetom + redundansu. Kada su svi diskovi ispravni, podaci se jednostavno očitavaju. Ako jedan disk otkaže, podaci se mogu restaurirati, jer se sadrže na drugim diskovima. Organizacija RAID 5 je prikazana na slici. RAID 5 A
Blocks
B
Blocks
AO A1 A2 A3
B0 B1 B2 3 parity
4 parity
B4
C
Blocks D C0 C1
2 parity
C3 C4
Blocks
E Blocks
D0
0 parity
1 parity
E1 E2 E3 E4
D2 D3 D4
Slika RAID 5 Ostali RAID diskovi su poboljšane varijante i kombinacije prethodnih. Npr., RAID 10 je RAID 1 + RAID 0. RAID sistem ima kapacitet reda terabajta. 11. Printeri
18
Printeri (štampači) su uređaji za produkovanje teksta ili grafike na papiru ili plastici. Za razliku od printera, ploteri se koriste za produkovanje većih slika, inženjerskih crteža, mapa itd. Glavni tipovi printera su: Matrični printeri Ink jet printeri koji ubrizgavaju tintu Laserski printeri Termalni printeri Matrični printeri Ovi printeri su bili prvi nasljednici printera sa bubnjem i lancem (linijski printeri), koji su se koristili za veliki obim štampanja. Bili su klasični za PC. Znak, odnosno karakter, se na ovim printerima predstavlja sa 14 odnosno 24 pina (iglice). Za štampanje koriste ribone (indigo traka), a štampaju znak po znak različitim brzinama, u jednom ili oba smjera. Danas nisu popularne kao ostale vrste printera i sve manje se upotrebljavju. Ink jet printeri Bazirani su na ubrizgavanju tinte na papir. Cijena im je između cijene matričnih i laserskih printera. Glava za štampanje sadrži obično četiri kasete (patrone) sa tintom (crvena, plava, žuta i crna) i ne mogu štampati višestruke kopije. Prednost ovih štampača u odnosu na laserske (crno-bijele) je štampa u boji, niža cijena, a mane su im: sporija štampa, lošiji kvalitet, specijalni papir itd. Laserski printeri Ovo su najbrži, uobičajeni, svakodnevni i najpopularniji printeri na tržištu. Oni takođe ne mogu štampati višestruke kopije. Preteča ovih printera su bili kopir aparati. Rade na principu prenosa tonera na papir i stvaranju slike sa ekrana na papiru. Slika se sa ekrana iscrtava laserom na bubanj koji na tim dijelovima postaje elektrostatičan i privlači toner (prah). Nakon zagrijavanja se nakupljeni toner prenosi na papir i tako se dobija slika ili tekst na papiru. Kada su u pitanju toner i bubanj, većina štampača to ima zajedno, pa promjena istrošenog tonera znači i promjenu bubnja, iako je trajanje bubnja nekoliko puta veće od trajanja tonera, što poskupljuje štampu, ali donosi kvalitet. Prilikom crtanja na bubnju najmanji djelić slike, odnosno teksta, jeste tačka (dot). Broj tačaka koji čine sliku je rezolucija štampača. Jedinica mjere je dot po inču (dots per inch – DPI). Prvi laserski printeri su imali 300 DPI, a današnji imaju od 600 do 1200 DPI. Brzina printera se izražava u broju stranica po minuti (PPM – Page Per Minute), samo ovdje treba uzeti u obzir šta se štampa (tekst, grafika) i koliko je popunjena stranica, koji se font upotrebljava itd. Brzina štampe je nekoliko desetaka PPM. Bitan je još i format papira, memorija štampača, softver itd. Laserski štampači se spajaju na računar, ili preko USB ili paralelnog porta. Postoje i mrežni štampači koji se spajaju na mrežu bez prisustva računara i imaju vlastitu mrežnu karticu. Svakako je bitan element i drajver za štampač, samo što korisnik nema uticaja na to, jer dobija ono što proizvođač nudi. Laserski printeri se mogu podijeliti u dvije grupe: GDI ili Windows laserski printeri koji od računara dobijaju već pripremljenu stranicu za štampu Printeri koji od računara dobijaju dokument koji sami pretvaraju u stranicu za štampu i imaju vlastiti procesor i memoriju Kada su u pitanju laserski printeri potrebno je spomenuti još jednu stvar, a to je jezik koji se koristi za opis stranice PDL (Page Description Language). Najpoznatiji su PostScript i PCL i oni opisuju način na koji računar šalje podatke printeru.
19
PostScript je objektno orjentisani jezik kompanije Adobe, koji tekst tretira kao skup geometrijskih objekata. Kada se za štampač kaže da ima postscript, to znači da ima ugrađen interpreter za taj jezik. PCL (Printer Control Language) je proizvod Hewlett-Packard-a. Koristi se na isti način kao i PostScript, iako im je sintaksa različita. Štampači sa PDL imaju bolji ispis grafičkih dokumenata, ali su sporiji zbog prevođenja, i skuplji su. Laserski kolor štampači se koriste pri profesionalnoj štampi i po cijeni su vrlo skupi, zbog upotrebe tonera (četiri boje za štampu). Kolor termalni printeri Ovi printeri su za sada, preskupi za normalnu upotrebu. Upotrebljavju se za štampu knjiga, tj. u izdavačkoj djelatnosti. I potrošni materijal (catridges) i specijalni papir su skupi. 12. Sistemski softver Sistemski softver uključuje niz programa, koji se mogu svrstati u tri glavne funkcionalne kategorije: Programi za kontrolu sistema Kontrolišu korišćenje resursa (hardverskih, softverskih i informacionih) kompjuterskog sistema tokom izvršavanja obrade podataka od strane korisnika. Najvažniji kontrolni programi su: operativni sistemi, sistemi za upravljanje bazama podataka i programi koji nadziru komunikacije. Programi za podršku sistemu Podržavaju operacije, upravljanje i korisnike kompjuterskog sistema. Glavni programi te vrste su: uslužni programi, programi koji nadziru perfomanse sistema i programi koji nadziru sigurnost sistema. Sistemski razvojni programi Pomažu korisnicima pri razvoju programa i postupaka za obradu podataka i pripremaju korisničke programe za izvršavanje na kompjuteru. Glavni razvojni programi su jezički prevodioci i sistemi za razvoj aplikacija. Sistemski razvojni programi - Jezicki prevodioci - Sistemi za razvoj aplikacija Sistemski softver sadrži sledeće komponente - Uslužne programe - Komunikacioni softver - Sistemi za upravljanje bazama podataka - Grafički sistemi - Sistemi za upravljanje korisničkim interfejsom - Kompajlere - Editore - Debugere - Asemblere itd.
13. Virtualne mašine Operativni sistem definiše nekoliko jezika pomoću kojih se može opisati pravila dijeljenja sistema i zahtjeva za opsluživanje.
20
Jezik za upravljanje poslom Korisnicima omogućava da se identifikuju i da opišu zahtjeve računarskih poslova: tipove i količine potrebnih sredstava i imena korištenih programa i datoteka. Jezik virtualne mašine To je skup mašinskih operacija koji stoje na raspolaganju korisniku za vrijeme izvršenja programa. Korisnici moraju na neki način da obavljaju ulazno/izlazne operacije. Da bi to omogućio operativni sistem im dopušta da pozivaju izvjesne standardne procedure koji upravljaju periferijskim uređajima na dobro definisan način. Za korisnički program ove standardne procedure izgledaju kao proširenje rasploživog mašinskog jezika. 14. Prekid Problem sinhronizacije centralnog procesora i perifernih uređaja po završetku ulazno/izlaznih operacija riješen je pomoću pojma prekid. Prekid je vremenski signal koga periferni uređaj smiješta u registar povezan sa centralnim procesorom. Centralni procesor ispituje sadržaj registra nakon izvršenja svake instrukcije. Kada se pojavi prekid, centralni procesor prestaje da izvršava tekući program i otpočinje drugi program-operativni sistem. Nakon što je OS pravilno odgovorio na signal uređaja on može da nastavi izvršenje prekinutog programa ili da otpočinje hitni program. Ova tehnika omogućila je da centralni procesor i njegovi periferni uređaji rade uporedo. Tehnika programiranja upotrebljena za upravljanje uporednim radom naziva se multiprogramiranje. Ubrzo se vidjelo da se ova ista tehnika može iskoristiti za simulaciju uporednog izvršenja više korisničkih programa na jednom procesoru. Svakom programu je dozvoljeno izvršavanje u određenom vremenskom intervalu, recimo reda nano sekunde. Na kraju intervala vremenski signalizator prekida program i otpočinje operativni sistem. Ovaj dalje odabira drugi program, koji se izvršava dok signal prekida ne upozori da sistem odabere treći program, i tako redom. Ovakav način raspoređivanja, kad više korisnika, smjenjujući se jedan za drugim dijele isto sredstvo naziva se multipleksiranje. 15. Supling sistem Konstruisanjem velikih pomoćnih memorija, diskova i doboša, koje dozvoljavaju brz, direktan pristup podacima i programima u kombinaciji sa multiprogramiranjem omogućava izgradnju OS koji rade sa neprekidnim tokom ulaza, računanja i izlaza na jednom računaru. Centralni procesor je multipleksiran između četiri programa: jedan upravlja ulazom u red u pomoćnoj memoriji, drugi odabira korisničke poslove iz svog ulaznog reda i otpočinje da ih izvršava jedan po jedan, treći upravlja štampanjem iz pomoćne memorije. Ova tri programa čine OS. Četvrti program, smješten u operativnoj memoriji, je tekući korisnički program, koji učitava svoje podatke iz ulaznog reda i ispisuju svoje rezultate u ulazni red u pomoćnoj memoriji. Razlog zašto se pomoćna memorija koristi kao prihvatnik jeste taj što se ulazni podaci mogu unijeti u mašinu prije izvršenja posla, a njegov izlaz se može štampati u toku izvršenja narednih poslova. Direktan pristup pomoćnoj memoriji omogućava raspoređivanje poslova o redoslijedu prioriteta, a ne o redoslijedu pristizanja. Pomoćna memorija Ulazni red Izlazni red
Ulazni program Program za raspoređivanje Izlazni program Korisnički program
Ulaz Linijski štampač
16. Operativni sistem Operativni sistem (OS) je dio sistemskog softvera koji organizuje rad računara, omogućava efikasno korišćenje svih resursa računara, kao i upravljanje izvršenjem drugih programa. 21
Korisnik komunicira sa OS preko komandnog jezika (Command Language) ili grafičkog interfejsa GUI (Graphical User Interface). Mjesto i uloga OS u odnosu na okruženje su prikazani na slici. Pored OS, sistemski softver sadrži slijedeće komponente: • Uslužne programe (utility) • Komunikacioni softver • Sistem za upravljanje bazama podataka • Grafički sistem • Sistem za upravljanje korisničkim interfejsom • Kompajlere • Editore • Debugere • Asemblere itd. Users
Utilities
Shell
Kernel The operating system
Hardware
KORISNIK WINDOWS SISTEM SHELL APLIKACIJE
KOMANDE
KERNEL HARDVER Slika Mjesto i uloga OS Kao resurs, menadžer OS mora raditi slijedeće: • Prepoznati resurs • Voditi računa o tome ko, kada i koliko resursa dobija
22
• •
Dodijeliti resurs Osloboditi resurs
Resursi kojima upravlja OS jesu: • Procesor • Memorija • Ulazno-izlazni uređaji • Podaci/fajlovi 17. Klasifikacija operativnih sistema Operativni sistemi mogu biti klasifikovani kako slijedi: Multi-user - Timesharing (višekorisnički) koji dopuštaju simultani pristup računaru sa dva ili više terminala. Neki OS dopuštaju i hiljade konkuretnih korisnika. Uniprocessors (Jednoprocesorski sistemi) omogućavaju rad sa samo jednim procesorom. Čak i kada računar ima hardverske mogućnosti da paralelno izvršava ulaz/izlaz sa glavnim programom, ima U/I procesor i/ili komunikacioni procesor, u jednom trenutku se može izvršavati samo jedan program i na njemu može raditi samo jedan korisnik, te se takav računar smatra jednoprocesorskim. Multiprocessing podržava izvođenje programa na više procesora. Multiprogramming sistemi se karakterišu time da više aktivnih programa može istovremeno konkurisati za resurse sistema. Batch (paket) sistemi omogućavaju obradu kod koje se programi izvršavaju serijski, bez interakcije između korisnika i programa. Programi i podaci se unaprijed pripremaju na spoljnim medijima i organizuju u vidu paketa, korištenjem naredbi komandnog jezika. Multitasking omogućava da više programa radi konkuretno. Multihreading (višenitni) omogućava da različiti dijelovi jednog programa rade konkuretno. RTOS (Real Time Operating Systems) su vezani za vremenski kritične aplikacije, kod kojih je potrebno unaprijed znati odzivno vrijeme računara na neki događaj. Network OS (mrežni OS) omogućavaju povezivanje više računara u mrežu i vezivanje na Internet. Većina današnjih OS su mrežni, jer u sebi sadrže mrežnu komponentu (npr.TCP/P) Open OS (otvoreni OS) moraju zadovoljiti atribute: portabilnost, skalarnost i interoperabilnost (PSI) i ako su za njih definisani međunarodni standardi. Portabilnost označava prenosivost aplikativnog softvera između različitih mašina, bez dodatnih zahvata na izvornom kodu, a skalarnost proširuje tu mogućnost na različite nivoe mašina. Sa druge strane, interoperabilnost štiti dosadašnje investicije korisnika i obezbjeđuje vezu između novih i starih instalacija. 18. Procesi (sekvencijalni, uporedni) Većina današnjih OS je orjentisana na procese, a ne na izvodljive programe, jer u programu nisu sadržane mnoge stvari vezane za njegovo izvođenje (npr. ko može izvoditi program). 23
Proces predstavlja totalno okruženje u kome se izvodi program, u programu dolaze i odlaze, a proces ostaje. Sekvencijalni process Niz događaja koji se dešavaju jedan za drugim nazivaju se sekvencijalni procesi. Računari se sastoje od nekliko velikih sekvencijalnih komponenata: - Memorijskih modula koji mogu da pristupe samo jednoj po jednoj riječi - Aritmetičkih jedinica koji mogu da obavljaju samo jedno po jedno sabiranje - Periferni uređaja koji opet mogu da prenose samo jedan po jedan blok podataka
r1 r1 x1 r xp211 x2 r p321 rx23
rp43
x2
x4 r5Sekvencijalno računanje Uporedno računanje
P r o c e s o r i
Računari i programi Formalni opis računara naziva se program, a jezik kojim se on izvršava naziva se programski jezik. Programi se mogu koristiti za prenošenje algoritama između ljudi, ali ih ipak uglavnom koristimo da bi smo rješavali probleme na računaru. Prema tome, računarsku instalaciju definisaćemo kao fizički sistem slobodan za obavljanje računanja na osnovu tumačenja programa.
Memorija
24
Memorija je fizička komponenta u kojoj se podatci i programi mogu sačuvati za buduću upotrebu. Podijeljena je na konačan skup osnovnih komponenata nazvane lokacijama. Procesor je fizička komponenta koja može da obavlja sekvencijalni proces definisan programom. U vrijeme izvršavanja programa je smješten u memoriji kao niz podataka nazvane instrukcije. Instrukcije se sastoje od komponenata koje definišu operaciju, njen ulaz i izlaz i sljedeću instrukciju. Podatci koji se koriste za identifikaciju memorijskih lokacija nazivaju se adrese. Procesori mogu da rade uporedo, dijeleći zajedničku memoriju. Neki od procesora se nazivaju terminalni ili periferijski uređaji, oni su namjenjeni za prenošenje podataka između okoline i memorije. Ostali procesori nazivaju se centralni procesori: oni mahom rade s podatcima smještenim u memoriji. Uporedni procesi Proces je niz operacija koji se obavljaju jedna za drugom. Definicija operacija zavisi od toga koliko je detaljno opisan proces. Za neku određenu svrhu, proces se može smatrati jednom operacijom. A, u nekim drugim slučajevima podesnije je da se isti proces posmatra kao niz jednostavni operacija B, C, D i E, a kad ga ispitate još detaljnije, prethodno uočene operacije se mogu podijeliti na još jednostavnije F, G, H itd. A
B
F
G
C
H
D
I
E
J
K
L
Vrijeme Isti proces posmatran na različitim nivoima detaljnosti kao vremenski niz operacija Procesi su uporedni ako se njihovo izvršavanje vremenski poklapa.
P R Q Vrijeme Proces P Proces Q
A
B C
D Vrijeme
25
Dva uporedna procesa P i Q sastavljena od operacije A, B, C, D 19. Komuniciranje procesa Da bi sarađivali na zajedničkim zadatcima procesi moraju biti u stanju da razmjenjuju podatke. Proces P stvara i šalje niz podataka drugom procesu C, koji ih prima i upotrebljava. Podatci se razmjenjuju između procesa u diskretnim cjelinama nazvanim poruke. Proces P ih smatra svojim izlazom, a C svojim ulazom. Kako su brzine ovih dvaju procesa međusobno nezavisne moguće je da pošiljalac stvori poruku u vrijeme kada primalac nije spreman da je upotrijebi. Da bi se izbjeglo zadržavanje pošiljalaca u ovakvoj situaciji uvodimo privremenu memorijsku oblast u kojoj pošiljalac može da smjesti jednu ili više poruka sve dok primalac ne bude spreman da ih upotrijebi. Ovakva memorijska oblast zove se prihvatnik i obilježava sa B.
P B
C 20. Semafori, blokiranja Semafori U nekim slučajevima proces je jedino zainteresovan da od drugog procesa primi vremenski signal kad se pojavi određen događaj. Osim ovoga ne traži se nikakva druga razmjena podataka. Primjer su procesi koji se završavaju prije od dodijeljenog vremena pa se mora zadržavati dok ne prođe određeni vremenski interval. To se može smatrati specijalnim slučajem komuniciranja procesa u kome se svaki put kad se pojavi određen događaj šalje prazna poruka. Kako su poruke prazne (znači nije ih moguće razlikovati), dovoljno ih je brojati. Prihvatnik je zato sveden na jednu jedinu, negativnu cjelobrojnu promjenljivu. Blokiranja Blokiranje je stanje u kojem dva ili više procesa neograničeno dugo čekaju na uslove koji se neće nikada ispuniti. Blokiranja uključuju kružno čekanje: svaki od procesa čeka na uslove koji može da ispuni samo jedan od ostalih, ali kako svaki proces očekuje da jedan od ostali riješi konflikt oni nisu u stanju da nastave s radom. 21. Dijelovi procesa Proces se sastoji iz tri dijela : 1. Hardverski kontekst 2. Softverski kontekst 3. Virtuelni adresni prostor Hardverski kontekst je sadržan u registrima centralnog procesora i, kada se proces ne izvodi, ovaj sadržaj se premiješta u glavnu ili pomoćnu memoriju i tako se može izvoditi drugi proces, a kasnije restaurirati orginalni. Registri koji čuvaju hardverski kontekst su: PSW – Program Status Word (kondicioni kodovi, akcesni modovi, informacije o prekidima) PC - Program Counter (programski brojač), koji pokazuje sljedeću instrukciju koja će biti izvedena
26
Ostali registri opšte namjene (npr. stack pointer itd.)
Softverski kontekst opisuje softverski status procesa : Indetifikaciju procesa Prioritete Potrošnju resursa Privilegije Kvote itd. Virtuelni adresni prostor predstavlja virtuelne adrese referencirane od izvodljivog programa. 22. Upravljanje procesorima Dijeljenje računarske instalacije između više korisnika je ekonomska neophodnost. Ona dovodi do situacije u kojoj se oskudijeva u sredstvima, jer nema dovoljno fizičkih procesora i memorija za istovremeno izvršavanje svih procesa koji zahtijevaju korisnici. Raspoloživa sredstva mogu biti dijeljena na takav način da se procesi pojedinačno izvršavaju do kraja, ili da se naizmjenično izvršava više procesa brzim smjenjivanjem u kratkim vremenskim intervalima. U oba slučaja svaki procesor mora s vremena na vrijeme, da pauzira i odluči da li da nastavi sa izvršavanjem tekućeg procesa ili da umjesto toga izbaci na neki drugi. Pravilo prema kome se donosi ova odluka naziva se algoritam raspoređivanja. - Niži nivo raspoređivanja – upravljanje hardverom ili kratkoročno raspoređivanje. Cilj je da se fizička sredstva dodijele procesima čim budu raspoloživa, da bi se odradio visok stepen korištenja opreme. Ovaj nivo programiranja simulira po jednu virtualnu mašinu na svaki proces, kao i skup osnovnih operacija koje omogućuju da uporedni procesi postignu uzajamno isključivanje kritičnih oblasti i da komuniciraju jedni sa drugim. - Viši nivo raspoređivanja – upravljanje sredstvima korisnika ili srednjoročno raspoređivanje. Cilj je da se virtualne mašine dodijele korisnicima prema pravilima koje je uprava instalacije odredila. Tipični zadatci na ovom nivou su: ustanovljenje identiteta, unošenje i analiziranje njihovih zahtjeva, instalacija i upravljanje računanjima, vođenje evidencije o korištenju sredstava, održanje integriteta sistema uprkos povremenim otkazima hardvera. spreman 1
6 čeka
4 5
2 3 izvršava se
završen
1 – Započinje proces 2 – Izvrši proces 3 – Završi proces 4 – Istisni proces 5 – Čekaj 6 - Signaliziraj
Kratkoročno raspoređivanje U početku proces je završen ili ne postoji. Kada je proces započet, on ulazi u red procesa koji su spremni na izvršavanje. Kada se oslobodi neki od procesora, proces počinje da se izvršava. U stanje izvršavanja procesa može da se izvrši ili da čeka na signal za vremensko usklađivanje. U posljednjem slučaju, proces će se vratiti na stanje «spreman» kada neki drugi proces otvori taj signal.
27
23. Stanje procesa Stanja procesa od kreiranja do završetka su prikazani na sljedećoj slici.
NEW
Admit
Dispatch READY
RUN Time-out
Event Occurs
EXIT Release
Event Wait WAIT
Slika Stanja procesa
NEW READY RUN WAIT
EXIT
- proces je kreiran, ali još nije ponuđen (admit) za izvođenje - proces je spreman za izvođenje i to zavisi samo od raspoloživosti CPU-a. - proces se izvodi - proces je blokiran i čeka komplementiranje specifičnog događaja (event occurs) kao što je I/O operacija. - proces je završen normalno ili nenormalno (release).
24. Komponente memorije Memorija se koristi za čuvanje podataka i programa sve dok ih procesor ne zatraži u vrijeme izvršenja. Podijeljena je na konačan skup komponenata nazvane lokacije. Svaka lokacija može da predstavi bilo koju od konačnog skupa vrijednosti podataka. Ove vrijednosti se bilježe i dobijaju pomoću operacija piši i čitaj. Uporedni procesi dijele dva vitalna sredstva: procesore i memoriju. Memorija sa sekvencijalnim pristupom Sastoji se od lokacija kojima se može pristupiti samo sekvencijalnim redoslijedom (magnetne trake). Memorija sa direktnim pristupom Sastoji se od lokacija kojima se može pristupiti proizvoljnim redoslijedom pomoću indeksa. Većina računara koristi dvije vrste memorije sa direktnim pristupom: 1) Unutrašnja memorija omogućava brz direktan pristup lokacijama nazvanim riječ. Koristi se za smještaj podataka i programa u vrijeme izvršenja. Memorijski medijumi su obično brza magnetna traka. Integrisana kola se koriste za ostvarivanja malog skupa vrlo brzih lokacija nazvanih registri. 2) Pomoćna memorija omogućava sporiji, direktan pristup lokacijama koje se sastoje od blokova riječi. Koriste se za smještaj podataka i programa sve dok ne budu potrebna računanjima u unutrašnjoj memoriji. Memorijski medijumi su obično spora magnetna jezgra ili rotirajuće magnetne površine, kao što su doboši i diskovi.
28
Memorija sa datotekama
Pomoćna memorija
Unutrašnja memorija
Magnetna traka disk
Doboš Spora jezgra
Brza jezgra integrisana kola
Slika Hijerarhija memorije 25. Adresiranje memorije Upravljanje memorijom pokreće tri osnovna pitanja: 1) Koja je jedinica pogodna za dodjelu jedinice računanjima 2) Kako se ove jednice smiještaju u unutrašnju memoriju prije njihovog korištenja 3) Na koji način im računanja pristupaju za vrijeme izvršavanja. Segmentiranje programa Za korisnika višeg programskog jezika, virtuelna memorija se sastoji od podataka označenih nizova znakova nazvanim indikatori. Ona predstavlja preslikavanje identifikatora u vrijednost. virtuelna memorija: identifikator – vrijednost Za projektanta računarskih sistema, stvarna memorija se sastoji od lokacija označenih uzastopnim brojevima nazvanim adresa. Ona predstavlja preslikavanje adresa u vrijednosti stvarna memorija: adresa – vrijednost Prije izvršenja, programu se moraju dodijeliti lokacije u stvarnoj memoriji. Ovo takozvano dodijeljivanje memorije definiše međupreslikavanje identifikatora u adrese. dodijeljivanje memorije: identifikator – adresa Memoriju djelimično dodijeljuje kompilator, a djelimično operativni sistem (kompiliranje – ispravno dodjeljivanje memorijske adrese programima). Metodama dijeljenja memorije nastoji se ostvariti dva protivrječna cilja: 1) Što brži pristup 2) Dijeljenje memorije između uporednih poslova Najbrži pristup se postiže fiksnim dodjeljivanjem memorije programima u vrijeme kompiliranja. To omogućava programima da direktno pristupaju lokacijama u vrijeme izvršenja. Da bi se omogućilo dijeljenje i dobila prihvatljiva brzina pristupa, učinjen je sljedeći kompromis: Programi i podatci su podijeljeni u nekoliko vremenskih segmenata. Svaki segment se sastoji od povezanih podataka koji se mogu smjestiti bilo gdje unutar memorije i adresirati u odnosu na zajednički početak. Brzine adrese su jednistvene unutar čitave memorije, a relativne adrese su jedinstvene unutar segmenta. Nazivaju se stvarne i virtualne adrese. Dijeljenje programa u segmente i zamjenu identifikatora relativnim adresama obavlja kompilator. Kad se segmenti zatraže za vrijeme programa operativni sistemi im dodjeljuju mjesto i definiše bazne adrese.
29
Segment odrađen pomoću bazne adrese, dužine i lokacija unutar segmenta određena relativnom adresom. Broj baznih adresa se može održavati malim ako se segmenti održavaju dovoljno velikim. Zato je praktično da se bazne adrese tokom izvršavanja nalaze u direktno pristupačnim lokacijama ili registrima, da bi se tim osigurao brz pristup. Kad se kompiliran program obraća lokaciji u segmentu prema njenoj relativnoj adresi, centralni procesor automatski dodaje adresu segmentu i direktno pristupa lokaciji. Efikasno dodjeljivanje unutrašnje memorije sa direktnim pristupom zahtijeva segmentiranje programa u vrijeme kompiliranja i preslikavanja adrese u vrijeme izvršavanja. virtuelna memorija: identifikator – virtuelna adresa – stvarna adresa – vrijednost
Dužina
Relativna adresa
Bazna adresa
26. Kontinualni segment memorije Algoritam smiještanja je pravilo na osnovu koga se u raspoloživu unutrašnju memoriju smiješta segment prije korištenja. Najradikalniji prilaz ovom problemu je smiještanje segmenata u lokacije koje se nalaze jedna uz drugu u stvarnoj memoriji (u lokacije sa susjednim stvarnim adresama). Kada se upotrijebi ovaj metod, rezultat nepredvidivog formiranja i poništavanja je podjela memorije na slučajno raspoređene segmente različitih dužina pomiješane sa prazninama raspoložive memorije takođe različitih dužina. Ako je dužina segmenta za vrijeme njegovog postojanja nepromjenjiva, nameću se sljedeći algoritmi smještanja: Prva prilika: segmenti se smiještaju u prvu prazninu koja je dovoljno velika da ga primi Najbolja prilika: segmenti se smiještaju u najmanju prazninu koja je dovoljno velika da ga primi. Ako traženje prve praznine koja odgovara počinje uvijek s istog kraja memorije, manje praznine teže da se prikupe na tom kraju i time povećaju vrijeme traženja većih praznina. Ovaj efekat se može izbjeći cikličnim pretraživanjem memorije, počinjući svaki put od različitih praznina. Glavni problem s kontinuiranim segmentima je u tome što oni cijepaju raspoloživu memoriju u praznine različite dužine. Zbog toga se može desiti da je na neki segment nemoguće naći odgovarajuću prazninu, iako mu treba manje od količine raspoložive memorije.
27. Sažimanje memorije Jedan metod dinamičkog premještanja jeste pomijeranje svih segmenata u jedan kraj memorije, tako da se sve praznine stapaju na drugom kraju.
30
A A
B
B C
C
Poslije sažimanja Prije sažimanja U dobro projektovanom sistemu sažimanje se dešava veoma rijetko, tako da je vrijeme procesora utrošeno na premještanje zanemarljivo. 28. Ustraničeni segment Sistemi koji koriste kontinualne segmente, vremenom, mogu izdijeliti memoriju na nepredvidivu mješavinu nejednakih praznina. Rješenje ovog problema je stranično dijeljenje memorije. Memorije su podijeljene u memorijske jedinice jednake dužine, nazvane stranični okvir, a segmenti su podijeljeni u jedinice podataka iste dužine, nazvane stranice. Prilikom izvršavanja, stranica se može smjestiti u bilo koji raspoloživi stranični okvir.
A
C
B
A
C (a.) (b.)
B
31
29. Principi rada sa virtuelnom memorijom Problemi kod upravljanja MM (Memory Menagment): 1. Veličina glavne memorije u odnosu na veličinu programa 2. Kontinuirani smještaj u memoriji Tehnike rješavanja MM Memorije • Jednostavno kontinuirano upravljanje memorijom koje pretpostavlja monoprogramiranje tj. pretpostavlja da je samo jedan program u glavnoj memoriji, ako je manji od raspoložive glavne memorije, i on mora biti kontinuiran. Ovo rezultira slabom iskoristivošću GM i CPU. • Particionirano upravljanje memorijom pretpostavlja multiprogramiranje i memorija je podijeljena u više particija koje mogu sadržavati programe koji su manji od veličine particije, ali i dalje moraju biti kontinuirani. I ovdje je slaba iskoristivost GM, zbog fragmentacije (ostatak slobodnog prostora u particiji). • Stranično upravljanje (paged) pretpostavlja podjelu memorije u blokove (frame), a adresnog prostora programa u stranice. Ovdje program ne mora biti kontinuiran u memoriji, ali još ne može biti veći od raspoložive GM. • Stranično na zahtjev (demand paged) pretpostavlja virtuelnu memoriju (VM) tj. tehniku koja dopušta da program ne mora biti kompletan u GM i ne mora biti kontinuiran. VM se odnosi na apstrkciju razdvajanja logičke memorije koju vidi procesor i fizičke memorije koju vidi procesor. Ova apstrakcija je implementirana upotrebom sekundarne (eksterne) memorije koja povećava GM. Ako se referencira stranica koja nije u GM, ona se uzima sa diska, a neka druga stranica iz GM se vraća na disk po unaprijed određenom algoritmu zamjene stranica da bi, napravila mjesto referenciranoj stranici sa diska. Ako podaci koji se prebacuju imaju fiksnu dužinu, npr. 512 B (stranica), onda je to paging, a ako je dozvoljena varijabilna dužina i podaci su podijeljeni u logičke cijeline (subroutine, polja, radna područja, matrice), onda je to segmentirano upravljanje. Neki OS kombiniraju segmentaciju i paging. Princip rada sa virtuelnom memorijom prikazan je na slici.
32
VIRTUAL MEMORY
MAIN MEMORY
2
CPU 1
MAPPER
(not present)
(present) 3
page frames
logical page
frame page + x 4
5
logical page + x VIRTUAL ADDRESS
SECONDARY STORAGE Slika Koncept virtuelne memorije Program generiše adresu (1) ili ″logičku adresu″, koja se sastoji od logičkog broja strane, plus lokaciju unutar te strane-page (x), i to mora biti ″mapirano″ sa stvarnom fizičkom adresom u GM od strane OS uz pomoć translacione funkcije ili mapera (2). Ako je stranica prisutna u glavnoj memoriji, maper na osnovu broja stranice određuje broj memorijskog bloka (frame) (3). Ako maper detektuje da tražena stranica nije prisutna u GM, događa se greška stranice (page fault). Tražena stranica mora biti učitana u blok (frame) GM sa diska (4, 5). Ova tehnika upravljanja GM koristi tri seta tabela : • PMT (Page Map Table) – jedna po adresnom prostoru • MPT (Memory Block Table) – jedna po sistemu • FMT (File Map Table) – jedna po adresnom prostoru Za zamjenu stranice, tj. za odluku koju stranicu izbaciti iz GM, postoje različiti algoritmi koji se razlikuju po svojoj efikasnosti, a najpoznatiji su FIFO (First In First Out) i LRU (Last Recently Used) 30. Upravljanje ulazno/izlaznim uređajima (I/O podsistem) Ovaj modul obuhvata sljedeće funkcije: • Obezbjeđenje nezavisnosti uređaja • Obezbjeđenje efikasnosti rada uređaja • Realizaciju određene strategije dodjele uređaja • Dodjelu uređaja • Oslobađanje uređaja I/O podsistem predstavlja interfejs između I/O uređaja i OS, a sastoji se od HW i SW podrške.
33
Hardverska podrška je bilo šta što se može priključiti na računar (tastatura, monitor, miš, štampač, ploter, disk, CD, skener, zvučnici, mikrofon itd.). Postoje dva osnovna tipa ulazno-izlaznih uređaja: • I/O uređaji blok tipa (prenose nizove blokova podataka, npr. diskovi) • I/O uređaji znakovnog tipa (prenose znak po znak npr. terminali). Da bi se I/O uređaj vezao na računar, potreban mu je interfejs, koji se zove kontroler I/O uređaja. Zadatak kontrolera je da premosti razlike u brzini i nekompatibilnosti na nivou signala između CPU i I/O uređaja i da prevede generičke I/O komande koje izdaje CPU u upravljačke signale I/O uređaja. Obično su kontroleri nezavisne kartice sa standardnim interfejsom (ANSI, IEEE, ISO itd.) koje se postavljaju na bus računara i na koje se veže neki uređaj. Jedan kontroler može upravljati sa više I/O uređaja. Svaki kontroler ima skup registara sa I/O adresama koje koristi za komunikaciju sa CPU i kod nekih računara ovi registri su dio adresnog prostora memorije ili specijalni adresni prostor i IRQ (Interrupt Request) vektor prekida, npr. Communications port (COM1) ima I/O adresu 03F8-03FF i vektor prekida 04 Printer port (LPT1) 0378-037B 07 OS izvršava I/O tako što upisuje odgvarajuću I/O naredbu u registre kontrolera i onda inicira njihovo izvođenje. Nakon toga, CPU ostavlja kontroler da izvrši zadanu operaciju. Kada je operacija gotova, kontroler prekidom obavještava CPU da prihvati rezultat i nastavi obradu. Softverska podrška I/O je struktuirana u slojeve, pri čemu su: • Sve specifičnosti HW sakrivene u nižim slojevima • A viši slojevi interfejs sa korisnikom Sloj Osnovne funkcije sloja ↓ Korisnički proces ↑ I/O poziv, format ↓ SW nezavisan od I/O uređaja ↑ Imenovanje, zaštita, blokiranje, buferovanje, dodjela itd. ↓ Drajver I/O uređaja ↑ Postavljanje I/O registara i promjena stanja ↓ Rukovodilac prekidom ↑ Buđenje drajvera nakon I/O operacije HW Izvršenje I/O operacije Rukovodilac prekidima (Interrupt handler) – Mnogi I/O uređaji koriste tehniku prekida za prenos podataka. Pri pojavi signala za prekid, prekida se obrada tekućeg procesa i aktivira se rutina za obradu prekida. Rutine za obradu prekida prihvataju i obrađuju prekid od I/O uređaja, a potom vraćaju kontrolu prekinutom procesu. Kada je I/O operacija završena, rukovodilac prekidom budi drajver koji je inicirao I/O i startuje sljedeću operaciju. To su male fiksne rutine koje se nalaze na fiksnim lokacijama u kernelu ili u BIOS-u. Drajveri uređaja upravljaju radom I/O uređaja i sadrže SW podršku koja podržava jedan tip ili jednu klasu uređaja i na osnovu znanja o strukturi kontrolera (broj i vrsta registara, indikatora stanja, indikator greške) i skupa naredbi (čitanje, pisanje, upravljanje glavama za čitanje/pisanje itd.), diktiraju kontroleru šta treba da radi. Zadatak drajvera je da prihvati zahtjev od višeg sloja iznad njega (SW nezavisan od uređaja) i da ga proslijedi na obradu kontroleru. Ako drajver nije slobodan, zahtjev se smješta u red čekanja I/O zahtjeva. Način rada drajvera je sljedeći: • Prevodi zahtjev iz apstraktnog oblika u konkretan format • Provjerava da li je zahtjev prihvatljiv za taj uređaj i generiše naredbe koje šalje kontroleru i redoslijed njihovog izvršavanja. Može slati jednu po jednu naredbu ili grupu naredbi. 34
• • •
Najčešće, nakon toga, uspavljuje sam sebe i čeka da ga kontroler prekidom obavijesti o završetku. Po završetku I/O operacije, drajver provjerava njenu ispravnost i, ako je ispravna, prenosi podatke SW iznad njega. Uzima novi zahtjev iz reda čekanja, ako ga ima, a ako ga nema uspavljuje se.
I/O SW nezavisan od uređaja ima funkciju da obezbijedi: • Uniformni interfejs za drajvere • Dodjelu imena • Zaštitu • Veličinu bloka nezavisnu od uređaja • Baferovanje(veličina bloka, veličina sloga) • Dodjelu memorijskog prostora uređajima blok tipa • Dodjelu i oslobađanje nedjeljivih uređaja • Izvještavanje o greškama 31. Fajl sistem - FAT Fajl sistem – sistem datoteka FAT (File Allocation Table) je tabela na hard disku ( u daljem tekstu disk) koji održava OS, a koja omogućava mapiranje cluster-a (baznih logičkih jedinica memorije na disku) i služi za spremanje i pretraživanje fajlova na disku. Kao što je već rečeno, podaci se sastoje od bitova odnosno bajtova koji čine fajl, i jedan od glavnih zadataka OS je da piše i čita te fajlove sa diska. Diskovi, diskete i zip diskovi moraju biti formatizovani da bi se podaci mogli smjestiti na njih. Kada je disk formatizovan, na njemu postoji fajl sistem. Disk se može formatizovati sa nekoliko različitih fajl sistema: FAT, koji se još naziva i FAT 16, je orginalni 16-bitni DOS sistem FAT 32 je 32-bitni fajl sistem, uveden sa Windows 95, a poboljšan u Windows 98 NTFS je 32-bitni fajl sistem za Windows NT HPFS (High Perfomance File System), koji upotrebljava OS/2 ISO 9660 za CDROM i ISO 13346 za DVD UDF (Universal Disk Format) se koristi za diskove velikog kapaciteta kao što je DVD UNIX serveri koriste svoj vlastiti fajl sistem Relacije između fajl sistema i OS prikazane su na sljedećoj tabeli: OS Fajl sistem DOS FAT 16 Windows95/98/SE/Me FAT 16, FAT 32 Windows NT FAT16, NTFS Windows 2000/XP FAT 16, FAT 32, NTFS OS/2 FAT 16, HPFS Fajl sistem je, u stvari, interfejs između OS i uređaja i kada aplikacija (npr.Word) otvara fajl, on se obraća OS, a ovaj fajl sistemu, kao što je prikazano na slici. Fajl sistem zna gdje se fajl nalazi i on ga pronalazi i čita odgovarajuće sektore , te ih isporučuje OS.
35
Aplikacija
C:\Documents\Softver.doc
Operativni sistem Fajl sistem Word
OS Fajl sistem Slika Veza između aplikacije, OS i fajl sistema Prije upotrebe disk mora biti formatizovan sa nekim fajl sistemom (kao ťto je prikazano na slici). FAT
FiziÄ?ki disk
Programi, dokumenti i drugi tipovi podataka
Slika Formatizovani disk sa podacima
36
Sektor je najmanja disk jedinica koja se sastoji od 512 bajtova i on je dio koncentrične staze (track). Odnos sektor/staza je prikazan na slici.
Sektor
Staza Slika Sektor i staza Pošto je DOS mogao adresirati samo 216 (65536) disk jedinica, sektori su grupisani u clustere (alokacione jedinice) veličine 2, 4, 8, 16, 32 i 64 sektora. Odnos sektora, staze i cluster-a prikazan je na slici.
A sektor =512 bytes
A track
A cluster of 4 sectors
Slika Odnos sektor, staze i cluster Za vrijeme formatizovanja, disk je podijeljen u više sektora koji sadrže podatke korisnika i podatke za administriranje fajl sistemom. Svaki disk ili njegova particija sadrže četiri fundamentalna područja: Boot record (zapis) koji je uvijek u prvom sektoru Dvije indetične FAT tabele Root direktorij Područje podataka (fajlovi i poddirktoriji) koji pripadaju root direktoriju.
37
32. Način startanja DOS sistema Uvijek mora postojati jedna primarna particija na disku sa koje se učitava OS. Jezgro OS se nalazi u dva skrivena (hidden) fajla IO.SYS i MSDOS.SYS. Ovi fajlovi imaju ista imena u Windows 95/98, ali je njihov sadržaj, u odnosu na DOS, znatno drukčiji. IO.SYS mora biti prvi, a MSDOS.SYS drugi ulaz u root direktorij. Radi jednostavnosti, dat je proces startanja DOS sistema. Kada start-up program završi POST (Power On Self Test) tj. prozove uključene jedinice, i nakon punjenja BIOS rutina, starta se boot proces u sljedećim koracima: 1. Čisti se CPU; CPU registar se postavlja na adresu BIOS-a čipa 2. Boot program iz BIOS čipa se puni u memoriju 3. Boot program izvodi POST (Power On Self Test) tj. proziva priključene uređaje i provjerava njihovu ispravnost 4. Na disku obično (A: ili C: ) se traži boot record, kada se nađe, puni se u memoriju na određenu adresu i BIOS prepušta kontrolu boot record-u 5. Boot record puni fajl IO.SYS, koji sadrži ekstenziju BIOS-a, i uključuje program SYSINIT, koji rukuje ostatkom boot procesa. Boot record se, zatim, zamjenjuje u RAM-u drugim programskim kodom 6. SYSINIT zatim puni fajl MSDOS.SYS u RAM. MSDOS.SYS asistira BIOS-u da upravlja fajlovima, izvodi programe i rukuje HW interrupt-ovima 7. SYSINIT pronalazi CONFIG.SYS fajl i upotrebljava MSDOS.SYS da izvede komande u CONFIG.SYS-u 8. SYSINIT inicira MSDOS.SYS da napuni COMAND.COM u memoriju. Dio COMAND.COM-a je napunjen u memoriji kao dio BIOS-a. Interne DOS komande iz COMAND.COM-a se pune u memoriju 9. Treći dio COMAND.COM-a pronalazi fajl AUTOEXEC.BAT i izvodi ga 10. PC je spreman za rad 33.
Windows 98/SE/Me
Ovaj OS se pojavio 1998. godine. Izvorno je bio nazvan Memphis, a zatim Windows 98. Windows 98 nudi podršku za jedan broj novih tehnologija kao što su: FAT - je nova verzija fajl sistema FAT (File Access Table). FAT 32 povećava broj bitova za adresiranje cluster-a (broj kontinuiranih blokova koji se dodjeljuju na hard disku) i reducira veličinu svakog cluster-a. Rezultat toga je podrška diskovima do 2 TB. AGP - je skraćenica od Accelerated Graphics Port. Upotrebljava se za 3D grafiku, umjesto PCI, jer ima puno veću brzinu. MMX - je set od 57 multimedia instrukcija ugrađenih u mikroprocesor. MMX omogućava mikroprocesoru da rukuje mnogim multimedia operacijama, kao što je obrada digitalnog signala DSP (Digital Signal Processing), što je inače rađeno sa odvojenim zvučnim i video karticama. DVD - je skraćenica od Digital Video Disc, novi tip CD-ROM čiji kapacitet od 4.7 GB do 17 GB, a brzina od 600 Kbps do 1.3 Mbps (dovoljno za film normalne dužine). Mnogi vjeruju da će DVD-ROM zamjeniti CD-ROM i VHS video kasete. DVD je kompatibilan sa CD-ROM, tj. DVD player-i mogu koristiti CD-ROM diskove. Nova generacija DVD-2 player-a može čitati CD-R i pisati CD-RW diskove.
38
ACPI - Advanced Configuration and Power Interface omogućuje OS da kontroliše potrošnju energije sa svakog uređaja vezanog na sistem, tj. kada uređaj nije u upotrebi, on ga isključi. ON-line update –Windows 98 se mogu ažurirati direktno preko Interneta iz menija Start. Najvidljivija karakteristika Windows 98 je aktivni desktop, koji integriše WEB browser (Internet Explorer) sa OS. U ovom slučaju, sa korisnikove tačke gledišta nema razlike u pristupu dokumentu koji se nalazi na korisnikovom lokalnom disku ili dokumentu koji se nalazi na Web serveru bilo gdje u svijetu. Nakon Windows-a 98, izašao je Windows 98 SE (Second Edition), tj. prečišćeni Windows 98 sa nekim poboljšanjima, a njega je naslijedio Windows Me. Novine u Windows Me su: Jednostavnije dodavanje novog HW bez restarta računara Kreiranje vlastitih digitalnih filmova Movie Maker-om koji koristi zapise sa camcorder-a ili digitalnih kamera Pored shutdown-a, postoje i druge dvije opcije: hibernate i standby Hibernate omogućava, u radu često prekidanom, korisniku da isključi računar i da prilikom restarta dođe do stanja u kome je računar bio prilikom isključivanja, uključujući nezatvorene programe i dokumenta. U ovom slučaju se kompletan sadržaj memorije prepisuje na disk i računar se isključuje te se štedi energija. Standby se uglavnom upotrebljava radi uštede energije, naročito ako računar radi na baterije. Standby isključuje monitor i hard disk i radi u niskom režimu potrošnje energije, a prilikom vraćanja iz ovog moda dobije se desktop onakav kakav je bio prije standby-a bez restarta. Za razliku od hibernate, u ovom modu se memorija ne prepisuje na disk i, ako dođe do prekida u napajanju, informacije u memoriji su izgubljene. Prije stavljanja računara u ovaj mod, potrebno je sačuvati otvorene fajlove. System STORE/RESTORE. Prilikom instalacije novog produkta ili programa sa CD-a ili Interneta, često se mogu dogoditi neočekivane stvari, tj. računar dalje ne radi korektno. Čak i ako se deinstaliraju programi koji su uzrokovali nekorektnost, problem može ostati. Zato System Restore vraća računar u stanje prije pojave problema, tj. u stanje kada je napravljen System Store, i tako se ne gube izmjene na fajlovima koje su načinjene prije pojave problema. Gubi se jedino problem.
Ostale novine se mogu pogledati u Windows HELP-u.
34. UNIX UNIX je jedan od najstarijih OS na tržištu. UNIX je operativni sistem sa kojim korisnik komunicira preko komandne linije. Da bi se ovo prevazišlo, na Massachusetts Institute of Technology (MIT) je razvijen grafički interfejs X-Window, koji je UNIX učinio atraktivnim za korisnika.
39
UNIX je: Opštenamjenski - različiti informacioni sistemi se mogu razvijati i obrađivati na istoj mašini. Višeprogramski - mogu se koristiti razni programski jezici u razvoju funkcija nekog programa. Višekorisnički - više korisnika može raditi na sistemu u istom trenutku (ograničenja su vezana samo za ovlaštenja). Konverzacioni - svaki korisnik neposredno preko terminala može komunicirati sa računarom. Sa podjelom vremena (time sharing) - svakom korisniku OS dodjeljuje djelić vremena uz prioritete.
Svojstva UNIX-a Lako održavanje - OS se lako održava i mijenja jer se koristi viši programski jezik ''C''. Hijerarhijska struktura datoteka - korištenje hijerarhijske strukture omogućava lako postavljanje organizacije datoteka bilo da se radi o korisniku u računarskom centru ili onom koji nije računarski orijentisan. Šutljiv - daje informacije na ekranu samo kada se javi greška ili kada se postavi upit. Na ekranu nema ''smeća'', nepotrebnih informacija. Uslužan - omogućava različito komuniciranje sa različitim korisnicima. Obrada u prvom i drugom planu - korisnik može imati više poslova koji se izvršavaju istovremeno. Uredska obrada - postoji širok spektar moćnih i fleksibilnih programa za obavljanje uredskih poslova npr. obrada teksta. Mreže - korištenjem UNIX-a – UNIX rutina (povezuju UNIX mašine) može se izgraditi mreža. Obračun troškova - obračun troškova se može uvesti za svakog korisnika do nivoa praćenja procesa. Editori - na raspolaganju su editori za različite zadatke kao npr. linijski, ekranski, samočitajući ... TEXT FORMATORI LJUSKA OBRADA TROŠKOVA
JEZGRO
PC POREĐIVANJE
HARDVER PROGRAMSKI ALATI
KOMUNIKACIJE
EDITORI ADMINISTRACIJA
Jezgro (Karnel) Centar UNIX sistema. To je ″stvarni″ operativni sistem. Rezidentan u memoriji. Dodjeljuje resurse i kontroliše procese. Nadgleda ulaz/izlaz. Jezgro je malo po veličini, a uslužne rutine su odvojene i nisu stalno prisutne u memoriji (pozivaju se sa diska kada je potrebno). 40
Ljuska (Shell) Program koji provodi naredbe korisnika. Zaštita jezgra od direktnog pristupa. Najčešće se upotrebljavaju dvije ljuske: BOURNE i C ljuska. Obje se mogu koristiti naizmjenično. Aplikacija Program ili skupina programa koji se izvode iz ljuske i obavljaju određene zadatke. Hijerarhijska struktura datoteka Tipovi datoteka • Imenik – datoteka koja sadrži informacije o drugim datotekama. Povezuje nazive datoteka koji su u njoj navedeni sa njihovim fizičkim adresama. Naziv imenika služi za opisivanje datoteka koje su u njemu sadržane a koristi se za adresiranje tih datoteka. Dakle, imenik sadrži kako opise datoteka u okviru tog imenika (djecu), tako i vezu sa imenikom iz kojeg potiče (roditelj). Struktura imenika je pod kontrolom OS i korisnici mogu samo čitati strukturu. • Posebne – Datoteke koje zahtjevaju posebno rukovanje od strane OS tj. diskovi, memorija, terminali, itd. • FIFO – ovo su područja na disku (koja mogu ali ne moraju imati naziv), a koriste se za povezivanje dva programa. Izlazi iz jednog programa postaju ulazi u drugi program (ciljevi-pipes) • Standardne – Datoteke koje se ne mogu uvrstiti ni u jednu od gore navedenih grupa npr. korisnikove datoteke, programi u izvornom obliku, ASCII datoteke. Korisnici datoteka • Vlasnik – korisnik koji kreira datoteku smatra se vlasnikom ali se vlasništvo kasnije može prenijeti na drugog korisnika. Dozvolu za pristup datoteci može mijenjati jedino vlasnik. • Član grupe – administrator sistema može uvrstiti korisnika u određenu grupu. Članovi grupe imaju dozvolu za pristup datotekama neovisno definisano od dozvola za vlasnika. • Ostali – svi koji ne pripadaju u prve dvije kategorije. Njihova dozvola za pristup datotekama je neovisno definisana za gore definisane kategorije. Dozvole za pristup datoteci ČITANJE PISANJE (AŽURIRANJE)-BRISANJE IZVRŠAVANJE Osim što se pravi razlika u dozvolama za pristup datoteci za vlasnika, člana grupe i ostale, postoje takođe različite dozvole za čitanje, pisanje (ažuriranje) i pozivanje na izvršenje. Sve kombinacije gore navedenih dozvola mogu se definisati. Vlasnik datoteke Vlasnik datoteke može u svakom trenutku mijenjati dozvole za pristup, i to sve ili samo neke.
41
Ime datoteke Ime datoteke bi trebalo označavati njen sadržaj. Ako postoje već standardni nazivi za oznaku sadržaja onda se preporučuje njegovo korištenje. ROOT (izvorni imenik)
bin
lib
etc
usr
bin
tmp
dev
unix
lib
/-
Izvor (root) sistema. Svim datotekama se može pristupiti preko ovog imenika. To je datoteka koja uvijek postoji na sistemu. bin - Imenik koji sadrži naredbe u izvornom obliku (binarne datoteke). lib -
Imenik koji sadrži datoteke biblioteka (npr. riječnik).
etc -
Imenik koji sadrži datoteke za održavanje sistema.
usr - Rutine za opsluživanje korisnika (User Service Routines) i njegove strukture datoteka. tmp - Imenik koji sadrži privremene (TeMPorary) datoteke. Dužnost administratora sistema je čišćenje ovog imenika. dev - Imenik koji sadrži posebne datoteke. unix - Izvršni kod jezgre.
usr
acct
Ivan
Profile
Pero
Jasna
Podaci
Dragan
Pisma
42
Korisniku stoji na raspolaganju tri imenika: 1) Root ( / ) izvorni imenik 2) Matični (Home) imenik kome pristupa korisnik nakon prijavljivanja npr. Korisnik Ivan pristupa imeniku ivan. Korisnik ima direktan pristup samo jednom imeniku u jednom trenutku. 3) Tekući (Current) Imenik kome korisnik tog trenutka može neposredno pristupiti – može biti jedan od gore navedenih. Korisnik se može postaviti u bilo koji imenik za koji ima dozvolu za pristup. 35. UNIX - adresiranje datoteka Datoteke se pozivaju pomoću naziva puta (Pathname). Ime puta je naziv (jedne riječi) koji opisuje put do željene datoteke od izvornog (apsolutni) ili tekućeg (relativni) imenik. Naziv imena se odvaja kosom crtom ( / ). U okviru svakog imenika postoje dvije posebne datoteke – tačka ( . ) i tačka tačka ( .. ). Imenik tačka znači da se koristi tekući imenik, a tačka tačka znači da se koristi viši nivo (roditelj) tog imenika. Primjer: Matični imenik korisnika ″ivan″ je ujedno i tekući i on želi pristupiti svojoj ″profile″ datoteci. Naziv puta je: /user/acct/ivan/profile (apsolutni) ./profile (relativni) profile (relativni) Napomena: U imenu relativnog puta, pisanje tačke nije obavezno. Korisnik ″ivan″ sada želi pristupiti datoteci ″pisma″. Naziv puta će biti: /user/acct/jasna/pisma (apsolutni) ./../jasna/pisma (relativni) ../jasna/pisma (relativni) Napomena: Da bi se došlo do imenika jasno mora se proći preko roditelja. Korisnik ivan želi sada pristupiti imeniku usr. Naziv puta je: /usr (apsolutni) ../.. (relativni) Napomena: Da bi pristupio nekoj datoteci, korisnik mora imati odgovarajuće dozvole u svim imenicima navedenim u nazivu. 36. UNIX – opis datoteka Is - Prikaz sadržaja jednog (ili više) imenika. Mogu se koristiti jedna ili više opcija. pwd – prikaz radnog imenika (″Print Working Directory″). Ova naredba će prikazati naziv tekućeg imenika, tj. Apsolutni naziv puta. cd
- Promjena imenika (″Change Directory″). Ova naredba pruža mogućnost korisniku da promjeni tekući imenik.
mkdir- Kreiranje imenika (″MaKe DIRectory″). Ova rutina omogućava kreiranje jednog (ili više) imenika u bilo kojem dijelu strukture ako za to imamo dozvolu. rmdir – Brisanje imenika (″ReMove DIRectory″). Ova naredba briše jedan (više) imenika sa bilo kojeg dijela strukture ako za to imamo dozvolu.
43
37. UNIX – prikazivanje sadržaja cat - Spajanje (″conCATenate″) datoteka zadanih redoslijedom u jednu izlaznu datoteku. Ako se ovom naredbom zada samo jedna datoteka onda se ona ″povezuje ni sa čim″ i kao izlaz dobija se ista datoteka prikazana na ekranu. more – Prikazivanje datoteka na ekranu , ekran po ekran. Ako se uz naredbu zada više naziva puta, na početku svake datoteke ispisati će se zaglavlje. 38. UNIX – prikazivanje sadržaja, prenošenje datoteka mv
- Zadana jedna (ili više) datoteka biti će premještene (″ ″) u drugi dio strukture datoteka. Ako ovom naredbom preselimo datoteku u isti imenik ali pod novim nazivom zapravo smo promjenili ime datoteke.
cp
- Prepisuje (″CoPy″) jednu (ili više) datoteka iz jednog dijela strukture u drugi. Dobit će se više fizičkih kopija i svaka će imati svoje dozvole za pristup.
rm
- Brisanje (″ReMove″) jedne (ili više) datoteka iz strukture. Ako datoteka ima ″veze″ onda se briše zadani naziv puta ali se ne briše datoteka.
ln
- Ova naredba omogućava dodjeljivanje više naziva - ″veza″ (″LiNks″) jednoj fizičkoj datoteci tj. Datoteka može imati više pseudonima. Međutim bez obzira na činjenicu da se fizičkoj datoteci može pristupiti putem raznih naziva puta postoji samo jedan skup dozvola za pristup datoteci.
pg
- Omogućava čitanje natrag (radi isto kao more). 39. UNIX – identifikacija datoteka, pronalaženje datoteka
file - Pokušava svrstati jednu (ili više) zadanih datoteka u jednu od sljedećih kategorija: ASCII tekst, imenik, prazna, engleski tekst, izvršna, programski jezik ljuske itd. Pronalaženje datoteke find
- Pronalazi datoteke u okviru navedene strukture ovisno od zadanih argumenata. Izvršava odgovarajuće operacije na tim datotekama.
cpio - Arhivira i poziva iz arhive datoteke unutar zadane strukture. Ujedno je korisno za prepisivanje jedne hijerarhije datoteke u drugu zadržavajući postojeću strukturu datoteke. 40. UNIX – pronalaženje datoteka, dozvola za pristup Chmod - Dozvoljava vlasniku promjenu dozvole (″Change MODe″) pristupa jednoj (ili više) datoteka.
44
41. UNIX – vlasništvo datoteke, promjena grupe chown - Dozvoljava vlasniku prenos vlasništva (″Change OWNership″) jedne (ili više) datoteka na drugog važećeg korisnika. chgrp - Dozvoljava vlasniku promjenu dodjeljene grupe (″Change GRouP″) jedne (ili više) datoteka u drugu važeću grupu. Promjena grupe newgrp – Dozvoljava korisniku promjenu trenutno dodjeljene grupe u novu (″NEW GRouP″) važeću grupu. Ip
42. UNIX – štampanje datoteke - Daje zahtjev za štampanje jedne (ili više) datoteka na štampaču.
cancle - Poništava zahtjev koji je dan naredbom ″Ip″. Ipstat
- Daje informacije o trenutnom statusu zahtjeva za štampanje na štampaču.
pr
- Prikazuje jednu (ili više) datoteka prema zadanim opcijama. 43. Windows NT/2000/XP
Windows NT (New Technology ) je najmoćniji Windows OS. To je 32-bitni OS koji podržava predupredni ( preemptive multitasking) višeprogramski režim rada. Postoje dvije verzije NT: Windows NT Server, dizajniran kao mrežni server i Windows NT Workstation, koji može biti samostalan ili služiti kao klijentska radna stanica. Danas je na tržištu verzija NT 4.0, a najavljena verzija NT 5.0 je preimenovana u Windows 2000 i XP. Iako su NT i UNIX projektovani kao višekorisnički sistemi, oni primjenjuju potpune različite pristupe. NT je projektovan za rad u klijent/server okruženju u kome korisnici sa PC radnih stanica pristupaju serverima kroz mreže, a ukupno opterećenje je često raspodijeljeno između radnih stanica i servera. UNIX je projektovan za model matični računar – terminal u kome korisnici pristupaju matičnom računaru preko terminala. U Windows NT se primjenjuje predupredni (preemptive, preuzimajući) višeprogramski režim rada. U ovom okruženju, OS određuje vrijeme u kome jedna aplikacija može da zadržava procesor, tako što u svakoj aplikaciji dodijeli po jedan kratak vremenski period. Kada to vrijeme istekne, OS pregleda stepene prioriteta i dodjeljuje procesor drugoj aplikaciji. Ukoliko aplikacija sa višim stepenom prioriteta zahtijeva procesor, sistem odmah reaguje i dodjeljuje joj procesor. Windows NT podržava višenitni rad (multithreading). Rad u višenitnom režimu se odnosi na mogućnost OS da podrži više putanja izvršavanja istog procesa. Time se omogućava da jedan proces aplikacije ili OS izvršava više funkcija istovremeno, bez čekanja da se izvrše druge funkcije unutar procesa. Višenitni rad se najlakše može objasniti jednom analogijom sa televizijom, tj. serijom nezavisnih epizoda. Svaku epizodu obično čini više priča, svaka sa svojim skupom likova i zapleta. Stalni likovi se pojavljuju u svim pričama jedne epizode. Svaka priča je predstavljena kratkim nizovima scena koje se prepliću tokom epizode. Sve pojedinačne priče se odvijaju do svojih završetaka. Kada se završi posljednja priča , završava se i epizoda.
45
Proces je sličan jednoj epizodi serije, a nit (thread) je slična jednoj priči unutar epizode. Proces čini jedna ili više niti. Svakoj niti se dodjeljuje djelić vremena procesora (scene), kako bi se izvršavala dok ne obavi svoj zadatak do kraja. Jednoj niti je obično povjereno da obavi jedan vrlo specifičan zadatak (priču). Ona raspolaže nekim svojim lokalnim podacima (jedinstveni likovi svoje priče) i ima pun pristup globalnim podacima (stalni likovi) koje djele sve niti jednog procesa. Kada i posljednja nit završi svoj zadatak, proces je završen, što važi i za epizodu. Na računaru sa jednim fizičkim procesorom niti se raspoređuju i izvršavaju u nizu. Svaka nit dobija za izvršenje po djelić vremena, čija dužina i učestanost zavise od stepena prioriteta niti. Na računaru sa više fizičkih procesora, NT dodjeljuje po jednu nit svakom procesoru, i tako se niti izvršavaju paralelno na različitim procesorima. Dakle, računar sa četiri procesora može da izvršava istovremeno do četiri niti. NT podržava različite hardverske platforme, tj. računare koji su zasnovani na procesorima: Intel, Alpha, MIPS, PowerPC. Windows NT u potpunosti podržava sisteme datoteka FAT koje se koriste u DOS-u, Windows3.x i Windows for Workgroup. Osim toga podržan je i VFAT sistem datoteka Windows 95 kao i FAT32. NT ima i svoj vlastiti sistem datoteka nazvan NTFS. NTFS, u odnosu na ranije sisteme, omogućava bolju zaštitu i mogućnost rekonstrukcije podataka. Nadalje, NT emulira okruženje više različitih OS, što omogućava izvršavanje aplikacija koje su pisane za različite OS. Tu funkcionalnost obezbjeđuju podsistemi za okruženja (environment subsystems), kao što su Win32, podsistem za okruženje OS/2 i podsistem za okruženje POSIX. Nakon NT, Microsoft na njegovoj bazi prvo razvija Windows 2000 – u verziji desktop i serverskoj verziji, a potom XP, u kome mijenja izgled desktop-a i uvodi neke nove funkcije, od kojih je najvidljivija mogućnost odlogiranja korisnika sa zapamćenim stanjem njegovih procesa, ponovno startanje nakon logiranja na mjestu gdje se stalo. Takođe je inkorporirana i daljinska administracija (slično pcanywhwere), i još niz novina i poboljšanja koja se mogu pogledati u XP HELP-u. 44. Klijent/Server arhitektura Mrežno okruženje se ne koristi samo za razmjenu podataka i programa i za korišćenje usluga koje nisu prisutne kod svakog korisnika na njegovom mjestu u mreži. U tu svrhu se danas u distribuiranim aplikacijama koristi klijent/server model. Suština ovog modela je da bilo koji program nekog korisnika u mreži (klijent) može zatražiti bilo koju uslugu koju neki od programa (server) bilo gdje u mreži može da pruži. Pri tome čak ne mora da zna ni fizičko mjesto gdje se ta usluga obavlja. Bez obzira na neke nedostatke, srce klijent/server modela je RPC (Remote Procedure Call) program, koji može pozvati udaljenu proceduru bilo gdje u mreži sa ciljem da zadovolji neke potrebe klijenta. U lokalnom okruženju ovu funkciju obavlja program LPC (Local Procedure Call). Osnovne usluge koje serveri daju klijentu su: Fajl server Server baze podataka Printer server Obrada distribuiranih aplikacija Elektronska pošta Mrežni server Upravljanje resursima Upravljanje konfiguracijom Internet server itd.
46
Klijent/server arhitektura može imati složenije oblike. Između klijentskog i serverskog dijela mogu se umetati dodatni serveri na kojima se mogu naći pojedine komponente aplikacije. Tako nastaju n-slojne arhitekture. Non Client/Server Non Client /Server DBMS
DBMS file & record locking only
Application Processing
Client
10 MB
Server Database (10.000 1K records)
Slika Jednoslojna klijent/server arhitektura Kod jednoslojne klijent/server arhitekture postoje klijent i server, ali ovo nije prava klijent/server arhitektura, jer server, u ovom slučaju nije ništa drugo nego udaljeni (remote) disk, a klijent izvodi sva procesiranja. Ovdje svaki klijent mora pročitati čitavu bazu podataka da bi upotrijebio nekoliko slogova. Npr., ako imamo 1000 byte-ova po slogu i 100 000 slogova u bazi podataka, onda treba izvršiti transfer od 100 MB preko LAN-a. Two Tier Client /Server
DBMS
Application Processing
Client
50 MB
Server Database (10.000 1K records)
Slika Dvoslojna klijent/server arhitektura 47
U dvoslojnoj klijent/server arhitekturi, aplikaciono procesiranje i procesiranje baze podataka se obavlja na serveru. DBMS pretražuje slogove na serveru i šalje samo one slogove koje je klijent tražio. Ako klijent zahtijeva 50 slogova, onda će iz baze podataka od 100 000 slogova biti prebačeno samo 50 KB preko LAN-a. Three Tier Client /Server
DBMS Application Processing
Application Processing
Client Server
Server
Slika Troslojna klijent/server arhitektura Kod troslojne klijent/server arhitekture, procesiranje je podijeljeno na dva servera. Jedan server se upotrebljava za procesiranje aplikacije, a drugi za procesiranje baze podataka. Ovo je najviše primjenjiva arhitektura, naročito u velikim firmama. Za razliku od klijent/server arhitekture, postoji i peer-to-peer arhitektura, gdje je svaki čvor (računar) u mreži ravnopravan (Windows95/98/Me).
48
Sadržaj
Stranica 2 3 3 3 4 7 9 12 14 16 19 20 21 21 21 22 23 24 26 26 26 27 28 28 29 30 30 31 32 33 35 38 38 39 43 43 44 44 44 44 45 45 45 46 49
1. PC komponente 2. Matična ploča 3. ROM čip 4. CMOS RAM 5. PC Bus-ovi 6. Glavna memorija – RAM 7. Procesor – CPU 8. I/O adapteri 9. Memorijski mediji (floppy, flash, optički diskovi) 10. Tvrdi diskovi 11. Printeri 12. Sistemski softver 13. Virtualne mašine 14. Prekid 15. Supling sistem 16. Operativni sistem 17. Klasifikacija operativnih sistema 18. Procesi (sekvencijalni, uporedni) 19. Komuniciranje procesa 20. Semafori, blokiranja 21. Dijelovi procesa 22. Upravljanje procesorima 23. Stanje procesa 24. Komponente memorije 25. Adresiranje memorije 26. Kontinualni segment memorije 27. Sažimanje memorije 28. Ustraničeni segment 29. Princip rada sa virtuelnom memorijom 30. Upravljanje sa ulazno-izlaznim uređajima 31. Fajl sistem – FAT 32. Načina startanja DOS sistema 33. Windows 98/SE/Me 34. UNIX 35. UNIX – adresiranje datoteka 36. UNIX – opis datoteka 37. UNIX – prikazivanje sadržaja 38. UNIX – prikazivanje sadržaja, prenošenje datoteka 39. UNIX – indetifikacija datoteka, pronalaženje datoteka 40. UNIX – pronalaženje datoteka, dozvola za pristup 41. UNIX – vlasništvo datoteke, promjena grupe 42. UNIX – štampanje datoteka 43. Windows NT/2000/XP 44. Klijent/Server arhitektura Sadržaj
49