Operativni Sistemi - Univerzitet u Novom Sadu
Operativni Sistemi - Univerzitet u Novom Sadu
Operativni Sistemi - Univerzitet u Novom Sadu
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
1. polling: u određenim vremenskim intervalima glavni procesor prekida svoj rad i proveri da li<br />
neki kontroler ima neku poruku za njega, ako ima, obradi poruku i nastavlja sa radom<br />
2. prekidi (interrupt): glavni procesor radi svoj posao, i uređaji rade svoj posao. Ako uređaj<br />
završi svoj posao ili dođe do neke greške, uređaj o tome obaveštava glavni procesor zahtevom<br />
za prekid (interrupt request). Kada procesor dobije zahtev za prekid, prekida svoj rad,<br />
zapamti gde je stao, obradi prekid, pa nastavlja sa radom tamo gde je bio prekinut (ako prekid<br />
ne predstavlja neku fatalnu grešku, takvu da se rad ne može nastaviti).<br />
Primer: Mama kuva ruč ak a dete se igra. Ako je polling, mama svakih 10 sekundi proveri šta dete radi i ako nešto<br />
ne valja onda dotrč i da mu pomogne. Ako su interapti onda ga ne proverava. Ali, dete se poseč e i poč ne da plač e.<br />
To je interapt. Mama skine šerpe sa šporeta (prekine proces pravljenja ruč ka) zapamti gde je stala, locira dete<br />
(pogleda u tabelu), previje ga i poljubi (obradi prekid), vrati se u kuhinju, seti se gde je stala i nastavi sa kuvanjem.<br />
Ako se dete baš unakazilo, mama suspenduje proces pravljenja ruč ka i vodi dete na urgentno.<br />
Nedostaci polling strategije:<br />
1. uređaj mora č ekati na glavni procesor da bi predao svoju poruku (koja može biti npr. vrlo<br />
važna poruka o grešci)<br />
2. procesor prekida svoj rad u određenim vremenskim intervalima i kada nema nikakvih<br />
poruka<br />
Obrada prekida se izvršava po sledeć em algoritmu:<br />
- procesor radi svoj zadatak<br />
- stiže zahtev za prekid<br />
- sač uva se stanje trenutnog procesa<br />
- onemoguć avaju se dalji prekidi<br />
- u tabeli prekida (interrupt table - č uva adrese procedura za obradu svih moguć ih<br />
prekida) traži se adresa procedure za obradu prekida<br />
- izvršava se procedura za obradu prekida<br />
- omoguć avaju se dalji prekidi<br />
- nastavlja se rad na prekinutom procesu<br />
Vrste prekida:<br />
1. Hardverski prekidi – generišu se od strane hardvera, mogu biti:<br />
1. prekidi koji se mogu maskirati (maskable interrupt) – ove prekide<br />
procesor može ignorisati ako je dobio takvu naredbu (npr. pritisnuta je<br />
tipka na tastaturi)<br />
2. prekidi koji se ne mogu maskirati (non maskable interrupt) – prekidi<br />
č ija obrada ne može biti odložena – to su neke ozbiljne greške hardvera<br />
(npr. greška memorije)<br />
2. Softverski prekidi – prekidi generisani od strane programa<br />
3. Sistemski pozivi (jesu softverski prekidi)<br />
4. Izuzeci (exceptions) – generišu se od strane procesora, npr. ako se pokuša deliti sa<br />
nulom<br />
17