Sistemski softver

1. Prekidi (interrupts) str 64.

Kada god neki sklop ili program mora da preusmjeri paznju mikroprocesora sa strog 
programa koji je do tog trenutka izvrsavao nekid drugi program desava se interapt. 
Ovakav interpat se kontrolnim linijama prenosi od navedenog sklopa do procesora. 
Potprogram koji obradjuje zahtjev za prekidom naziva se interrupt handler ili interrupt 
service routine (ISR). Da bi pravilno obradio ovakvu vrstu prekida procesor mora da 
bude   u   stanju   da   na   neki   nacin   memorise   sovje   trenutno   stanje   –   sadrzaj   svojih 
registara   sa   rezultatima   i   medjurezultatima   kao   i   mjesto   do   kojeg   je   dosao   tokom 
izvrsenja programa. Ze memorisanje trenutnog stanja procesor najcesce koristi stek. 
Nakon sto je na steku zapamtio svoje trenutno stanje, procesor mora da obradi prekid a 
zatim treba u svoje registre iz steka ucitati ranije zapamceno stanje i da nastavi sa 
normalnim   izvrsavanjem   prethodno   prekinutog   programa   od   mjesta   na   kom   je 
prekinut.   Interapt   moze   biti   pokrenut   razlicitim   uzrocima:   I/O   zahtjevima, 
artimetickom greskom, neispravnoscu hardvera, na osnovu zadate prekidne tacke (kod 
debug) ili zbog neispravne instrukcije. 

2. Hardverski prekidi

Hardverski   prekidi   nastaju   na   osnovu   signala   koji   generisu   ulazno/izlazni   uredjaji. 
Hardverski prekidi predstavljaju obavjestenje procesoru da je nastala neka hardverska 
situacija u kojoj je potrebna dodjela procesora (neki taster je pritisnut, stigao je mrezni 
paket,...). Signale prekida koriste U/I uredjaji kako bi obavijestili procesor da su zavrsili 
U/I operaciju. 
Hardverski prekidi nastaju asihrono, tj mogu se javiti u bilo koje vrijeme izvrsavanja 
nekog drugog programa. Samim tim i pozivi za ISR za hardverske prekide su asihroni.  

-

Uredjaj generise zahtjev za prekidom

-

Uredjaj preko magistrale podataka salje broj vektora prekida

-

Procesor zavrsava izvrsavanje tekuce instrukcije I nakon toga izvrsava rutina za 
upravljanje prekidom ISR koja odgovara broju vektora prekida dobijenog preko 
magistrale podataka. 

-

Nakon zavrsetka rada ISR uredjaju se salje odgovor na prekid 

Hardverski prekidi se dijele u dve grupe maskirajuci i nemaskirajuci. Maskirajucim 
prekidima   se   moze   dozvoliti   ili   zabraniti   rad.   Maskiranje   prekida   se   obicno   vrsi 
softverskim postavljanjem nekog bita u flag registru u mikroprocesoru. 

1

3. Softverski prekidi

Softverski   prekidi   nastaju   na   osnovu   programskih   instrukcija.   Softverski   prekidi 
omogucavaju   pristup   ugradjenom   kodu   unutar   BIOS-a,   operativnog   sistema   ili 
periferijskih uredjaja. Softverski prekidi se iniciraju instrukcijom INT. Vrijednosti u 
tabeli vektora prekida su pokazivaci na kod u BIOS-u, hardveru, operativnom sistemu 
ili na neki programerski kod.  Za rad sa prekidima koriste se INT i IRET instrukcije 
(analogno   instrukcijama   CALL   i   RETURN).   Stanje   mikroprocesora   pre   izvrsavanje 
instrukcije INT mora kompletno da se sacuva. Memorisano stanje se restaurira nakon 
poziva   IRET   instrukcije.   Softverski   prekidi   sluze   za   povezivanje   aplikacija   sa 
odredjenim sistemskim uslugama.

4. Registri mikroprocesora 8086

Mikroprocesor   8086   je   mnogim   rjesenjima   postavio   temelje   danasnje   arhitekture 
racunara.   Jedno   od   tih   rjesenja   koje   se   primjenjuje   sve   do   danas   u   registri   ovog 
procesora.

2

background image

5. Segmentni registri mikroprocesora 8086 

Kada   je   Intel   dizajnirao   8086   i   8088   mikroprocesor   u   svijetu   je   bilo   popularno 
strukturno programiranje. Glasine kazu da je Intel, da bi pomogao programerima da 
bolje organizuju kompleksne programe, napravio segmentne registre. Ideja je bila da 
jedan segment drzi program, drugi podatke, treci kao prostor za stek a cetvri kao ekstra 
segment za podatke. 
Tako su nastala cetiri segmentna registra duzine 16 bita:

-

CS Code Segment registar

-

DS Data Segment registar

-

SS Stack Segment registar

-

ES Extra segment registar

Segment:offset adresiranje
Primjer: Predpostavimo da se u registrima CS i IP procesora 8086 nalaze vrijednosti CS = 
C000h I IP = 8000h. Najprije se sadrzaj CS registra pomjera (sifta) u lijevo za 4 bita, tako 
da dobijemo rezultat C0000h, a zatim se ova vrijednost sabira sa sadrzajem IP registra I 
dobijamo   C8000.   Segmentni   regitri   se   dakle   koriste   u   kombinaciji   sa   drugim 
(pokazivackim) registrima za dobijanje stvarne fizicke adrese koja ima 20 bita.

6. Programski brojač – pokazivač instrukcije str.78

Registar programski brojac ili pokazivac instrukcije IP (Instruction Pointer) je jedan on 

najvaznijih registara u bilo kom procesoru. Ovaj registar adresira narednu instukciju 

koju treba da izvrsi procesor. On adresira instrukcije u 

paru sa registrom CS (Code Segment). Zbog toga i CS uvijek mora pokazivati na dio 

memorije (segment) u kom se nalazi kod programa koji se trenutno izvrsava. Stvarno 

adresa instrukcije se formira pomocu sadrzaja IP i CS. Ovaj nacin adresiranja naziva se 

segment:offset a cesto se navodi I kao CS:IP.

7. Registri Code Segment (CS) i Instruction Pointer (IP) str.79

CS(Code   Segment)   registar   se   najcesce   koristi   povezano   sa   IP   (Instruction   Pointer) 

registrom. Zadatak IP registra je da uvijek pokazuje na memorijsku lokaciju sljedece 

instrukcije koja treba da bude izvrsena.  Code Segment tj CS uvijek pokazuje na pocetak 

dijela memorije u kom je smjesten kod programa koji se trenutno izvrsava. Zajedno ova 

dva registra odredjuju tacnu memorijesku lokaciju sa koje mikroprocesor treba da 

uzme   sljedecu   instrukciju.   Ovaj   nacin   adresiranja   naziva   se   Segment:Offset. 

4

background image

Maksimalna vrijednost koju moze da drzi neki pokazivacki registar je FFFFh ili 65536. 

Zbog toga je maksimalna duzina segmena ogranicena na 64 kB.

8. Izvršenje potprograma i sadržaj steka (sa slikama) str.81

Potprogrami su grupe instrukcija koje su napisane i smjestene odvojeno od glavnog 

programa.   Potprogrami   izvrsavaju   odredjene   funkcije   koje   se   cesto   ponavljaju   u 

glavnom   programu.   Kako   su   prekidi   ustvari   samo   posebna   vrsta   sistemskih 

potporgrama, procesor I u slucaju potprograma mora da izvrsi u osnovi iste operacije 

koje radu u slucaju prekida. 

5

background image
background image

11.Heap memorija i adresni prostor jednog programa (procesa) - str.88

Stek se nalazi na vrhu memorijeske mape I ovaj memorijski prostor nije fiske duzine 

vec se uvecava I smanjuje u zavisnosti od broja pozvanih potprograma I od broja 

podataka sacuvanih na steku pomocu instrukcija push I pop. Svaki program karakterisu 

jos dva memorijska prostora. Prostor za staticki alocirane podatke koji se naziva data u 

kom se nalaze staticki alocirani podaci, varijable, nizovi I druge strukture podataka. 

Memorija za ove varijable se zauzima u momentu pokretanja programa I nakon toga se 

vise   ne   mijenja.   U   heap   memorijeskom   prostori   alocira   se   prostor   za   dinamicke 

varijable,   nizove,..   I   ove   varijable   se   kreiraju   u   toku   izvrsavanja   programa.   Heap 

memorija kao ni stek nije fisksne duzine vec se njena velicina mijenja u toku izvrsenja 

programa. 

12.Šta je operativni sistem - str.93

Operativni sistem je program koji je najblize povezan sa hardverom racunara, mozemo 

da   ga   posmatramo   kao   dio   racunarskog   sistema   koji   je   zaduzen   za   alokaciju 

hardverskih resursa. CPU, RAM memorija, sistem datoteka, ulazno izlazni uredjaji ali I 

7

Želiš da pročitaš svih 0 strana?

Prijavi se i preuzmi ceo dokument.

Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.

Slični dokumenti