Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

Raunari Ulazno izlazni podsistem

1

Ulazno-izlazni podsistem

Operativni sistem treba da ima podsistem koji e obezbediti komunikaciju sa ulazno-izlaznim ureajima.
Veina ureaja koji se prikljuuju na raunar moe se svrstati u neku optu kategoriju. Opte kategorije su
formirane prema nameni ureaja, tako da se mogu izdvojiti ureaji za dugotrajno skladitenje podataka (diskovi i
trake), ureaji za prenos podataka (mrene kartice i modemi) i ureaji koji obezbeuju interfejs ka korisniku
(monitori, tastature i mievi).
Operativni sistem mora da obezbedi podrku za rad sa irokim spektrom ulazno-izlaznih ureaja ije
karakteristike variraju kako sa vrstom ureaja, tako i s konkretnim modelom odreenog proizvoaa hardvera.
Ulazno izlazni podsistem je deo operativnog sistema koji obavloja sledee funkcije:
1. upravlja ulazno-izlaznim ureajima i operacijama koje ti ureaji izvravaju i kontrolie ih
2. obezbeuje to jednostavniji interfejs prema korisniku i ostatku sistema

Zbog velikih razlika u samim ureajima, potrebno je u sistem implementirati razliite metode kontrole
ureaja, a sama kompleksnost upravljanja ureajima mora biti sadrana i sakrivena u jezgru. U savremenim
tehnologijama zastupljena su dva konfliktna trenda: standardizacija softverskih i hardvesrkih interfejsa i
poveanje broja ulazno-izlaznih ureaja razliitih karakteristika. Kao rezultat, podrka za konkretne ureaje ili
grupe srodnih ureaja sadrana je u programima za upravljanje ulazno-izlaznim ureajima tj drajverima
(drivers). Drajveri predstavljaju unikatni interfejs ulazno-izlaznog podsistema kao to sistemski pozivi
predstavljaju univerzalni interfejs izmeu aplikacija i operativnog sistema.

Klasifikacija ureaja

Ulazno-izlazni ureaji razlikuju se u mnogim aspektima. Karakteristike zavise od vrste ureaja i od konkretnog
modela odreenog proizvoaa hardvera. Klasifikovaemo ureaje prema sledeim kriterijumima:
1. namena ureaja
Prema nameni, ureaji se mogu svrstati u sledee opte kategorije:
ureaji za dugotrajno skladitenje podataka (storage devices) tj memorijski medijumi velikog
kapaciteta, kao to su diskovi i trake
ureaji za prenos podataka (transmission devices), kao to su mrene kartice i modemi
ureaji koji obezbeuju interfejs ka korisniku (human-interface devices), kao to su monitori,
tastature i mievi
2. smer prenosa
Prema smeru prenosa, ureaji se mogu podeliti na ulazne (mi, skener), izlazne (tampa) i ulazno-izlazne
(mrena kartica)
3. jedinina koliina prenetih podataka
Prema jedininoj koliini prenetih podataka, tj minimalnoj koliini podataka za itanje i upis, ureaji se
dele na one koji rade sa blokovima (block devices) i one koji rade sa znakovima (character devices). Kao
specijalna klasa mogu se izdvojiti mreni ureaji.
Za ureaje koji rade sa blokovima, jedinina koliina prenetih poodataka jeste blok podataka. Interfejs za
blok ureaje sadri sve elemente potrebne za pristupanje diskovima i drugim blok ureajima.
Za ureaje koji rade sa znakovima, jedinina kolliina prenetih podataka jeste bajt.
4. metoda pristupa
Po metodi pristupa, ureaji se dele na ureaje sa sekvencijalnim pristupom (kao to su modem i magnetna
traka) i ureaje sa direktnim ili sluajnim pristupom (kao to su diskovi i CD-ROM ureaji). Sekvencijalni
ureaji prenose podatke fiksnim redosledom koji odreuje sam ureaj, dok je kod ureaja sa direktnim
pristupom redosled prenosa podatka proizvoljan i odreuje ga aplikacija tj korisnik.



Raunari Ulazno izlazni podsistem
2

5. deljivost ureaja
Prema deljivosti, ureaji se mogu klasifikovati kao deljivi i nedeljivi. Deljive ureaje moe korisiti vei
broj procesa istovremeno. Deljivi ureaji su, na primer, diskovi (vei broj korisnika prijavljenih na
udaljeni UNIX server istovremeno koristi disk servera preko sistema datoteka). Nedeljive, tj posveene
ureaje, karakterie ih to to u jednom trenutku moe da ih koristi samo jedan proces. Primer nedeljivog
ureaja je tastatura
6. brzina ureaja
Prema brzini, ureaji se mogu grubo podeliti na brze i spore. Ova podela je relativna jer brzina varira od
nekoliko bajtova u sekundi do vie gigabajta u sekundi (mrena kartica).
7. mogunost upisa
Prema mogunosti upisa, ureaji se dele na one koji slue za itanje i pisanje (kao to su diskovi), one koji
iskljuivo slue za itanje (CD-ROM) i one koji slue iskljuivo za pisanje (grafika kartica).

Hardver znaajan za ulazno-izlazni podsistem

Ureaji komuniciraju s raunarskim sistemom tako to alju signale preko inih ili beinih prenosnih medijuma,
a na raunar su vezani preko odgovarajuih prikljuaka

Magistrale

Ukoliko vie ureaja deli zajedniki skup ica, sa strogo definisanim protokolom koji specificira skup
poruka to se mogu poslati, veza s raunarom se naziva magistrala (bus). Serijska veza ureaja kod koje je samo
jedan ureaj prikljuen na sistem, a svaki ureaj ima prikljuak za povezivanje sledeeg, naziva se lanac (daisy -
chain) i funkcionie slino magistrali.
Sistemska magistrala PCI spaja procesorsko-memorijski podsistem sa brzim ulazno-izlaznim ureajima.
Sprecijalna magistrala koja se naziva magistrala za proirenje (expansion bus) sadri i serijske i paralelne
prikljuke (ports) na koje se prikljuuju spori ureaji kao to su tastatura, mi, tamapa.

Kontroleri

Na slici su prikazana dva SCSI diska prikljuena na SCSI kontroler. Kontroler radi na tri naina: kao
prikljuak (port), kao magistrala (bus) ili kao ureaj (device). Na primer, serijski kontroler je prikljuak. Grafika
kartica je kontroler koji se prikljuuje na PCI magistralu, a radi kao ureaj. SCSI kontroler se s jedne strane
prikljuuje na PCI magistralu, a s druge strane formira novu magistralu (SCSI) na koju moe da se povee do 15
SCSI ureaja.
Svaki kontroler ima jedan ili vie registara. Upisom i itanjem vrednosti ovih registara obavlja se
komunikacija izmeu procesora i kontrolera, tako da procesor moe izdati komande kontroleru kako bi se npr,
obavio prenos podataka na izlazni ureaj.
Registrima kontrolera moe se pristupiti na dva naina, zavisno od toga da li su memorijski i ulazno-
izlazni prostor razdvojeni. Nekim ureajima se moe pristupiti na oba naina, zavisno od operacije koju treba
obaviti. Tipian primer je grafika kartica.
Tipian ulazno-izlazni prikljuak se sastoji od etiri registra:
1. kontrolni registar (CONTROL)
Slui za postavljanje reima rada ureaja, kao to su brzina prikljuka i tip komunikacije. U ovaj registar,
procesor iskljuivo upisuje podatke. Namenjen je direktnom upravljanju hardverom samog I/O ureaja.
Kod njega svaki bit ima neku funkciju u upravljanju radom I/O ureaja





Raunari Ulazno izlazni podsistem
3

2. statusni registar (STATUS)
Ovaj registar opisuje status komande koja se izvrava, tj da li je komanda izvrena, da li je podatak
spreman, da li je nastupila greka itd. Procesor iz statusnog registra iskljuivo ita podatke. Slui da preko
njega procesor PC-a dobije informacije o stanju u kojem se nalazi I/O ureaj. Npr tampa, kao jedan I/O
ureaj , preko svog statusnog registra, moe obavestiti procesor da li je spreman da prihvati podatke za
tampu, da li mu je potrebno papira, itd.
3. registar podataka za ulazni reim (DATA-IN)
Slui za prihvat podataka koji pristiu sa sistemske magistrale (najee od strane procesora) i koji treba
da se obradi u I/O ureaju.

4. registar podataka za izlazni reim (DATA-OUT)
Slui da se preko njega na sistemsku magistralu postavi podatak koji potie od I/O ureaja i koji e biti
prihvaen od strane procesora, DMA kontrolera ili drugog I/O ureaja.


Princip povezivanja ureaja (PC arhitektura)

Upisivanjem i itanjem podataka sa odgovarajuih prikljuaka, procesor obavlja ulazno-izlazne operacije i
upravlja radom ureaja.

Tehnika prozivanja

Raunar i kontroler funkcioniu po principu proizvoa-potroa, koji se u ovom sluaju realizuje pomou dva
bita: busy i command ready.
Busy bit u statusnom registru opisuje stanje kontrolera. Ukoliko je bit postavljen, kontroler je zauzet, tj
neto radi. Ako bit nije postavljen, kontroler je slobodan i spreman da prihvati novu komandu.
Raunar ukazuje kontroleru na prisustvo nove komande preko command-ready bita u komandnom
registru. Kada raunar postavi ovaj bit, kontroler je dobio komandu i izvravanje moe da pone.







Raunari Ulazno izlazni podsistem
4

Tehniku sporazumevanja (handshake) objasniemo na primeru slanja jednog bajta na serijski kanal, koje se odvija
u sledeim koracima:
1. raunar ita statusni registar. itanje se ponavlja sve dok vrednost busy bita ne bude 0
2. raunar postavlja write bit u komandnom registru i upisuje bajt za serijski kanal u data-out registar
3. raunar postavlja command-ready bit
4. postavljen command-ready bit je znak kontroleru da treba da otpone izvrenje komande.
Kontroler postavlja busy bit.
5. kontroler ita svoj komandni registar, detektuje komandu write, zatim ita data-out registar i
organizuje ciklus za slanje sadraja data-out registra na serijski kanal
6. ukoliko je sve u redu, kontoler brie command-ready bit, zatim u statusnom registru brie error bit
koji ukazuje na pojavu greke, i brie busy bit koji ukazuje na to da je komanda zavrena. Poev
od kraja koraka 4, raunar stalno proverava da li je busy bit 0, kako bi znao kada je komanda
zavrena.

Ovakva petlja mora dase ponovi za svaki ciklus. U koracima 1 i 6 imamo tehniku prozivanja (polling),
koja se takoe naziva zauzet ekanjem (busy waiting). Raunar ponavlja itanje statusnog registra i analizira
busy bit sve dok vrednost ne postane 0. Za brze ureaje ovo traje relativno kratko, za spore veoma dugo.
Tehnika prozivanja se na mnogim procesorima obavlja u petlji sastavljenoj od tri instrukcije:
itanje statusnog registra
ekstrakcija i analiza busy bita
povratak u petlju ako je vrednost busy bita 1, izlaz iz petlje ako je vrednost busy bita 0

U sluaju sporih ureaja, procesor ostaje zauzet ekanjem u kranje dugakim petljama, iako bi mogao da radi
pametnije stvari. Meutim, za sada je busy bit jedini nain da raunar odredi da li je kontroler slobodan ili da li
je komanda izvrena.

Prekidi

Osnovni nedostatak tehnike prozivanja je troenje procesorskog vremena na petlju prozivanja. Nedostatak
se moe ukloniti uvoenjem hardveskog mehanizma koji omoguava ureaju da oznai procesoru kada je
komanda izvrena. Ovaj mehanizam se naziva prekid (interrupt).
Prekidni sistem funkcionie na sledei nain:
kada ureaj zavri operaciju, kontroler alje prekidni signal procesoru preko prekidne linije (interrupt
request line, IRQ).
Procesor e zavriti tekuu instrukciju, posle ega se prekida sekvencijalno izvravanje programa, kako bi
se obradio prekid
Posle obrade prekida, procesor nastavlja sa izvravanjem programa
U princip, prekinuti proces mora da nastavi izvravanje (da li odmah nakon obrade prekida ili neki drugi put to
zavisi od rasporeivanja procesa). Prekinuti proces moe nastaviti izvrenje ukoliko se pre obrade prekida sauva
kontekst procesa, vrednost programskog brojaa (program counter PC), registara procesora i pokazivaa na deo
memorije koji proces koristi. Kada se sauva stanje procesa, poziva se rutina za obradu prekida (interrupt
handler), koja obrauje prekid i opsluuje prekid. Posle toga se moe nastaviti izvravanje prekinutog procesa.

Raunari Ulazno izlazni podsistem
5

Obrada prekida
Obrad prekida je data na slici:
Proces najpre inicira ulazno-izlazni ciklus koji se prosleuje drajveru korak 1
Drajver inicira kontroler korak 2
Ureaj zatim izvrava operaciju korak 3
Nakon zavretka operacije kontroler postavlja prekidni signal korak 4
Prekidni signal prekida izvravanje tekueg procesa i predaje kontrolu rutini za obradu prekida korak 5
Nakon izvrene prekidne rutine, obnavlja se kontekst prekinutog procesa i kontrola predaje prekinutom
procesu korak 6

U modernim operativnim sistemima, tehnika prekida ukljuuje brojne sofisticirane osobine:
Mogunost odlaganja (deffer) obrade prekida dok je proces u kritinoj sekciji
Brzu i efikasnu tehniku odreivanja ureaja koji je postavio prekid
Omogueno je gneenje prekida (interrupt nesting) i vieslojni prekidni sistem, koji e razlikovati
prioritet prekidnih signala i reavati prekide po prioritetu

Sve ove kvalitetne funkcije realizuje hardveski ureaj koji se naziva prioritetni prekidni kontroler (priority
interrupt controller PIC). Veina procesora umesto jedne ima dve posebne linije za prekidne signale
1. nemaskirajua (non-masking)
2. maskirajua (masking) linija

Prekidni signal poslat po nemaskirajuoj liniji uvek moe da prekine izvrenje tekueg procesa.
Nemaskirajua linija se koristi za slanje prekidnih signala zbog kritinih hardverskih greaka, kao to su greke u
memoriji.
Prekidni signali poslati po maskirajuoj liniji ne prekidaju izvrenje procesa sve dok se proces, npr nalazi
u kritinoj sekciji. Maskirajua linija se koristi za slanje prekidnih signala koji potiu od normalnih operacija i
standardnih greaka koje se javljaju na I/O ureajima.






Raunari Ulazno izlazni podsistem
6

Prekidni sistem funkcionie na sledei nain:
relativno mali broj ureaja moe da postavi prekidni signal, a za svaki od njih postoji posebna prekidna
rutina, koja se nalazi u memoriji
informacije o adresama svih prekidnih rutina uvaju se u tabeli prekidnih vektora (interrupt vector table),
gde svaki ulaz sadri adresu jedne prekidne rutine
na ovaj nain se smanjuje trajanje odreivanja ureaja koji je postavio prekidni signal
tano se zna koja je klasa ureaja vezana za koju liniju PIC kontrolera, tako da na osnovu aktivne linije,
PIC okida procesor i daje mu informaciju u vidu vektora, tj pokazivaa na ulaz u tabelu prekidnih vektora
na ovaj nain se izbegava prozivanje ureaja, a sve informacije obezbeuje PIC

Prekidni sistem, po pravilu, primenjuje prekidne prioritetne nivoe, a to je mehanizam koji omoguava da
se odloi opsluivanje prekida niskih prioriteta, dok se opsluuju prekidi visokih prioriteta naravno bez
maskiranja. Takoe, kad naie prekid vieg prioriteta, prekida se opsluivanje prekida nieg prioriteta, pa se
opsluuje prekid vieg prioriteta (pretpranjenje - preemption).
U modernim OS, prekidi su brojni. Tokom podizanja sistema (booting), ispitivanjem magistrale se
odreuje da li su ureaji prisutni i ako jesu postavlja se odgovarajua prekidna rutina u tabeli prekidnih vektora.
Za vreme ulazno-izlaznih ciklusa, ureaj postavlja prekidni signal kad god zahteva servisiranje tj kada je
komanda gotova ili kad se javila greka. Prekidni mehanizam se koristi i za rukovanje izuzecima (exceptions),
kao to su PF greka, deljenje nulom, pristup zatienim adresama i greka u parnosti. U svim sluajevima,
prekida se izvravanje tekueg procesa, a zatim se na bazi vektora iz tabele prekidnih vektora ita adresa
odgovarajue servisne rutine.

DMA (Direct memory access)

Kada ureaj pripremi podatke (jedan ili vie bajtova), procesor treba da preuzme svaki bajt iz kontrolera.
Pri tome, procesor svaki put proverava statusni bit, to znai da se izvravaju dva U/I ciklusa. Ova tehnika itanja
podataka se naziva programirani ulaz-izlaz (PIO).
Kada se preko ureaja kao to su diskovi prenose ogromne koliine podataka, PIO tehnika unosi veliki
gubitak vremena. Kako bi se prenos podataka mogao obaviti na relaciji kontroler radna memorija i obrnuto,
specijalno je projektovan ureaj koji je naziva DMA kontroler. DMA (direct memory access) ima signale za

upravljanje transferom sa kontrolera, a ima i signale kojima upravlja memorijskim ciklusima. Da bi se inicirao
DMA transfer, DMA se mora programirati, tj mora se definisati poetna memorijska adresa, blok bajtova koje
treba preneti i smer prenosa. Za PC arhitekturu,matina ploa sadri vie DMA kanala i svaki ima svoj U/I
kontroler.
Objasniemo jednostavan prenos podataka na relaciji disk memorija preko DMA kontrolera. Transfer se
obavlja u sledeim koracima:
proces nalae drajveru da penese podatke sa diska u bafer koji se nalazi memorijskoj adresi X
drajver nalae kontroleru diska da prenese C bajtova sa diska u bafer na memorijskoj adresi X
kontroler diska inicira DMA transfer
DMA kontroler prenosi podatke u bafer, uveavajui memorijsku adresu X i smanjujui broj bajtova C
nakon svakog prenesenog bajta
Kada je penesen poslednji bajt (C=0), DMA alje prekidni signal procesoru, obavetavajui ga o
zavrenom transferu






Raunari Ulazno izlazni podsistem
7

Protokol usaglaavanja izmeu DMA i U/I kontrolera odvija se preko para linija, signalima DMA-request
i DMA-acknowledge. U/I kontroler inicira DMA ciklus samo kada ima spreman podatak, postavljanjem signala
DMA-request. Posle primanja ovog signala, DMA zauzima memorijsku magistralu, a zatim organizuje
memorijski ciklus u kome se bajt iz U/I kontrolera prenosi u memoriju. Po okonanju ovog ciklusa, DMA
kontroler postavlja signal DMA-acknowledge, to znai kraj jednog DMA ciklusa. DMA automatski inkrementira
adresu memorijskog bafera za sledei DMA ciklus, a smanjuje boje batova za prenos. DMA postavlja prekidni
signal procesoru kada prenese bajtove.
Kada je memorijska magistrala zajednika za CPU i DMA, ona u jednom trenutku moe pripadati samo jednom
od tih resursa. Postoje hardverski signali za njihovu sinhronizaciju, pri emu procesor moe svoje zahteve
zadovoljiti iz ke memorije. Pri tome se na relaciji procesor DMA deava kraa ciklusa: DMA eka da
magistrala bude slobodna i zauzima je, a za to vreme procesor mora da eka ukoliko eli memoriju i tako gubi
cikluse. Bez obzira na ovu krau, DMA potpuno rastereuje procesor od transfera na relaciji memorija ureaj,
ime se osetno poboljavaju performanse sistema.


DMA kontroler

Uniformi interfejs ka aplikacijama

Jedan od ciljeva koje treba postii pri projektovanju operativnog sistema jeste formiranje uniformnog
interfejsa ka aplikacijama i korisniku. Definisaemo strukture i interfejse operativnog koji omoguavaju tretiranje
ulazno-izlaznih ureaja na standardni, jedinstven nain. Problem uniformnosti se reava metodama apstrakcije i
vieslojnosti softvera u okviru ulazno-izlaznog podsistema.
Srodni ureaji, kao to su diskovi, grupiu se u opte klase ureaja. Svakoj klasi ureaja pristupa se preko
standardnog skupa funkcija, koja se naziva interfejs. Dakle, interfejs je standardni skup funkcija preko kojih se
obraamo istoj klasi ulazno-izlaznih ureaja. Razlike koje postoje meu ureajima iste klase sakrivene su u
specijalnim modulima jezgra operativnog sistema koji se nazivaju upravljki programi ili drajveri (device
drivers). Drajveri postoje za svaki ureaj, ali se korisniku predstavljaju kao jedan univerzalni interfejs.
Iznad svih drajvera nalazi se sloj ulazno-izlaznog podsistema jezgra koji je praktino nezavisan od
hardvera svi detalji vezani za konkretan hardver preputeni su drajverima. Proizvoai ureaja, po pravilu, za
svoje ureaje piu drajvere za razne operativne sisteme, tako da se njihovi ureaji mogu prikljuiti bez
intervencije projektanata samog operativnog sistema. Za proizvoae ureaja nezgodno je to to za svaki
operativni sistem moraju da napiu poseban drajver za konkretni ureaj.

Raunari Ulazno izlazni podsistem
8

Apstrakcija ureaja i drajveri

Dakle, srodni ureaji su grupisani u klase, a drajveri apstrahuju karakteristike konkretnih ureaja.
Programeru se dalje nudi standardni skup sistemskih poziva za rad sa ulazno-izlaznim podsistemom, kao to su:
pozivi za rad sa memorijski mapiranim datotekama, pozivi za mrene funkcije. Deo jezgra zaduen za rad s
ulazno-izlaznim ureajima koordinira irok spektar usluga koje su na raspolaganju aplikacijama i ostalim
delovima jezgra, kao to su:
Upravljanje imenima datoteka i ureaja (name space)
Kontrola pristupa datotekama i ureajima
Kontrola operacija
Dodela ureaja procesima na korienje
Rasporeivanje ulazno-izlaznih operacija
Baferovanje, keiranje, spuler
Kontrola statusa ureaja
Konfiguracija i iniciranje drajvera

Pri tome, jezgro operativnog sistema uva informacije o stanju ureaja pomou razliitih struktura podataka
smetenih u delu memorije koji pripada jezgru. Tipine strukture koje opisuju stanje ureaja jesu tabele otvorenih
datoteka i strukture koje uvaju informacije o mrenim konekcijama.

Usluge koje obezbeuje ulazno-izlazni podsistem

Jezgro operativnog sistema obezbeuje vie usluga koje se odnose na ulazno-izlazne operacije. U znaajne usluge
spadaju rasporeivanje ulazno-izlaznih operacija, baferovanje, keiranje, spuler i upravljanje grekama.

Baferovanje

Bafer je deo memorije koji funkcionie na principu proizvoa-potroa i slui za uvanje privremenih
podataka prilikom prenosa podataka izmeu dva ureaja ili izmeu ureaja i aplikacije. Baferovanje se izvodi iz
sledeih razloga:
1. usklaivanje razliitih brzina izmeu potroaa i proizvoaa
2. prilagoavanje razliitih veliina transfera podataka
3. odravanje semantike kopiranja

Raunari Ulazno izlazni podsistem
9

Zbog velike razlike u brzini, ulazno-izlazne operacije se mogu preklopiti, ali se tada bafer mora podeliti na
dva dela, koje alternativno koriste proizvoa i potroa. Takav sistem se naziva dvostruko baferovanje.
Dvostruko baferovanje je jedna od tehnika koja se koristi pri keiranju vrstih diskova. Smisao je u sledeem:
postoje dva bafera (TRANSMIT i RECEIVE) koji se koriste za befrovanje podataka na relaciji memorija disk
odnosno disk memorija, ime se premoava razlika u brzini izmeu memorije i diska. Tehnika dvostrukog
baferovanja je recimo implementirana u Microsoft SmartDrive.
Baferi se veoma esto koriste u mrenim okruenjima, gde se velike poruke pre slanja dele na manje
pakete. Paketi se primaju u bafer po nedeterministikom redosledu (to zavisi od pojave greaka na mrei, sukoba
okvira itd), nakon ega se iz bafera rekonstruie poetna poruka.
Odravanje semantike kopiranja emo objasniti na sledeem primeru: korisniki proces izdaje sistemski
poziv za upis, tj slanje podataka na neki ureaj. Ukoliko je poziv neblokirajui ali asinhroni, proces dobija
mogunost da u toku slanja izmeni podatke koje eli da poalje na ureaj. To znai da proces moe upisati neto
drugo, a ne ono to je inicijlano zadato. Da bi se to izbeglo, tj da bi se ouvala semantika kopiranja, operativni
sistem u svom jezgru definie bafere u koje kopira korisniki bafer, pa tek onda predaje kontrolu korisnikom
procesu.

Keiranje

Ke predstavlja oblast brze sistemske memorije koja uva kopiju podataka, obino sa diska. Pristup
podacima u keu znatno je bri od pristupa podacima na ulazno-izlaznimureajima. Keiranje predstavlja tehniku
kopiranja delova diska u ke memoriju, ime se osetno poboljavaju performanse U/I sistema diska.
Najjednostavnije reeno, razlika izmeu kea i bafera sastoji se u tome to bafer uva trenutno aktuelne
podatke, a ke uva bilo koju kopiju da diska. Isti memorijski prostor moe se koristiti i za baferovanje i za
keiranje. Po pravilu, keiranjeje vrlo znaajno i realizuje se u vie nivoa, pri emu se koriste razliite tehnike za
popunu i zamenjivanje podataka u keu.

Spuler



Spuler tampaa



Raunari Ulazno izlazni podsistem
10


Spuler je bafer koji privremeno uva izlazne podatke namenjene nekom nedeljivom ureaju (npr
tampau). Spuler omoguava istovremeni pristup nedeljivim ureajima nasledei nain: procesi upisuju podatke
namenjene ureaju na disk, a operativni sistem upravlja spulerom tako to opsluuje jedan po jedan zahtev. Na
primer, svaki proces koji eli nesto da poalje na tampu, ostavlja svoj zahtev u spuler na disku. Proces koji radi u
pozadini upravlja spulerom i tampa jedan po jedan zahtev. Korienje spulera ima svoje prednosti:
proces relativno brzo postavlja svoj zahtev u bafer, a nakon toga je slobodan da dalje obavlja svoje
aktivnosti
nedeljivi ureaji se koriste kao prividno deljivi, to omoguava veem broju procesa da istovremeno
koriste ureaj
Kada se ne bi koristio spuler, procesi bi morali najpre da ekaju da se ureaj oslobodi kako bi ga mogli koristiti, a
zatim bi se ponovo blokirali i ekali da ureaj zavri operaciju koju su inicirali.

You might also like