Professional Documents
Culture Documents
Operativni Sistemi, Drjveri, Memorija
Operativni Sistemi, Drjveri, Memorija
Operativni Sistemi, Drjveri, Memorija
Drajveri su programi koji kontrolisu rad I/O uredjaja i za korisnika cine nevidljive detalje
funkcionisanja datih uredjaja.
Ono sto je vidljivo su samo operacije kao npr operacije ulaza odnosno citanja podataka sa HDD
odnosno izlaza, pisanja podataka na HDD.
Svaka od ovih operacija podrazumjeva odgovarajucu funkciju tj programski kod zapisan negdje u
memoriji racunara a tabela drajvera u sebi sadrzi adrese ovih operacija.
Ova tabela ustvari pokazuje drajver a dati drajver ustvari sadrzi polja u kojima su adrese svih
operacija koje taj drajver podrzava.
Ako neku operaciju dati drajver ne podrzava onda je polje u kojem se nalazi adresa te operacije
lazna tj ne upucuje ni nikakvu funkciju.
Ako nor uzmemo drajver za HDD on podrazumjeva operaciju inicijalizacije i operaciju ulaza
odnosno izlaza bloka podataka. Za njega je upravljacka operacija lazna kao sto je npr operacija I/O
bloka podataka lazna za tastaturu. Sto znaci da mozemo zakljuciti da tabela drajvera povezuje
proces upravljanja datotekama odnosno upravljanja I/O uredjajima kao sto je HDD. Ukoliko
dodamo neki novi uredjaj kao sto je npr kamera ili sl. onda u OS dodajemo nove drajvere
(dodajemo u tabelu drajvera i posemo koje operacije moze raditi). U sklopu rada kontrolera,
drajveri imaju osobinu da djeluju i na prekide koji se salju od strane kontrolera. Prekidi
obavjestavaju o statusu prenosa podataka prema i od kontrolera. Sama obrada prekida obihvata
proces preuzimanja pristupnih podataka odnosno pripremu za slanje novih podataka. Hardverski
mehanizam prekida poziva proceduru za obradu prekida tako sto inicira drajver odnosno poziva
adresu procedure koja se nalazi u tabeli prekida.
Zajednica osobina drajvera je da je svaki drajver namjenjen za upravljanje odredjenom klasom a
uvijek jedan drajver moze da odsluzi vise uredjaja iste klase kao npr kod stampaca. Ukoliko ste
instalirali drajver za jednu vrstu stampaca on moze da se koristi i za druge stampace date klase (tipa
inkjet).
Mozda u praksi ne moze da podrzi sve operacije za dati stampac ali generalno se moze koristiti.
Osnovna podjela I/O na racunaru je podjeljena na uredjaje koji rade sa blokovima podataka tkz
blokovske i uredjaje koji rade sa znakovima tkz znakovne.
Blokovski uredjaji dozvoljavaju direktan pristup bloku podataka koji se nalazi na hDD a znakovni
uredjaji podrzavaju sekvencijalni pristup tj znak o znak sa tastature.
Aktivnost svakog drajvera pocinje inicijalizacijom njegovog kontrolera odnosno prvo se poziva
drajverska operacija inicijalizacije. Nakon inicijalizacije drajvera aktivnost drajvera uredjaja koji
rade sa blokovima podataka se svodi na prenos blokova podataka prema datom uredjaju i od njega.
Zato su za ove drajverske operacije kad se prenose blokovi podataka obavezni argumenti redni broj
bloka podataka koji se prenosi i adresa u radnoj memoriji u koju/iz koje se prenosi taj blok
podataka. Prema tome drajverskuboperaciju ulaza bloka podataka poziva sistemska operacija
citanja (dio OS za rad sa datotekama)
Drajver uredjaja za prenos bloka pdoatak mora da zna karakteristike uredjaja koji posluzuje. Kad je
u pitanju HDD drajver mora da zna koliko cilindara ima sam HDD, koliko staza ima na cilindru i
koliko sektora ima na svakoj stazi. N osnovu tih podataka drajver racuna redni broj bloka na
osnovu rednig broja cilindra, broja staze odnosno sektora na datoj stazi. Da bi mogao da
pozicionira putem kontrolera glavu za citanje/posanje HDD na odgovarajuce mjesto.
Dodatak drivera je da iskoristi sve mogucnosti kontrolera. Ako kontroler podrzava vise
magnetnih diskova i omogucava u isto vrijeme pozicionirati glavu na odgovarajuci hard disk
pa da se moze iskoristiti kako bi se smanjilo vrijeme premjestanja glave za citanje i pisanje sa
jednog na drugi hard disk odnosno cilindar il sektor. Tkdj se moze povecati pouzdanost hard
diska ako se reaguje na odg greske u radu hard diska. Driver je uredjaj koji rade sa
znakovima. Uredjaji koji rade sa znakovima i uredjaji koji rade sa blokovima podataka se
razlikuju ne samo po nacinu koristenja resursa kojima raspolazu nego i po nacinu aktiviranja.
Dok uredjaje koji rade sa blokovima podataka uvijek aktiviraju odgovarajuci procesi aktivnost
uredjaja koji rade sa znakovima podataka zavisi od korisnika. Svaki pritisak tipke na tastaturi
izaziva odgovarajuci prekid. Taj prekid aktivira obradu drifta tastature u procesu obrade tog
prekida znak sataatature se preuzima i smjesta u odg ulazni registar tj bater. U baferu ceka da
ga preuzme neki proces preuzimanje znaka iz ulaznog bafer tj tastature bafera vrsi drajverska
operacija ulazni znak. Obrada prekida tastature dati znak salje na ekran. Ekran izaziva prekid
koji aktivira obradu prekida ekrana odnosno pokrece se driverska operacija izlaz za znak
vezana za prikazivanje znaka na ekranu. Pomenuta klasifikacija uredjaja na znakovne
blokovske ne obuhvata sve uredjaje, time sat koji mjeri sistemsko vrijeme na racunaru i mis
ne predstavljaju ni znakovne ni blokovske uredjaje pa se driveri ovih razlikuju i od jedne i od
druge vrste.
Driver sata
Prati protok vremena na racunaru . To se moze racunati u odnosu na neki trenutaku proslosti
npr u fabrici ili tokom testiranja racunara ili se vrijeme moze podesiti u odnosu na posljednje
pokretanje osa. Ovde se broje periodicni takt signali koje pravilnim vremenskim intervalima
generise sat. To je u principu kvarcni oscilator sa pravilnom frekvencijom i brojacem.
Sistemsko vrijeme predstavlja zbir taktova sata. Obrada taktova predstavlja jedan dio rada
drivera sata. Drugi dio predstavljaju sistemske operacije npr za preuzimanje ili promjenu
sistemskog vjerovanja. Vrijeme procesora se trosi tokom obrade takt signala sata sto
podrazumijeva sljedece poslove: 1. Odrzavanje sistemskog vremena 2. Pracenja protoka
dodijeljenog vremena nekom aktivnom procesu 3. Pracenja ukupunog vremena koje se datom
procesu moze dodijeliti 4. Provjera da li je nastupilo vrijeme aktiviranja nekog odgodjenog
procesa i treba da se nastavi 5. Skupljanje odg statistika o aktivnostima s procesima
Organizacija rada sa fajlovima
Fajlovi su namjenjeni za trajno cuvanje podataka u logickom smislu.
Za pojam fajla se vezu sadrzaji i atributi fajla.
Sadrzaj fajla obrazuju korisnicki podaci a atributi fajla se nalaze u dijelu za opis fajla tkz deskoper
fajla i to su:
1. Numericka oznaka vlasnika fajla
2. Prava pristupa fajlu (vlasnik/saradnike/ostale - user/group/other)
3. Podatak da li je fajl zakljucan ili ne
4. Podatak da li numericka oznaka vlasnika fajla postaje numericka oznaka vlasnika procesa
stvorena na osnovu sadrzaja datog fajla (ova vazi za izvrsne fajlove/programe)
5. Datum posljednje izmjene fajla
Cinjenica da deskoper fajla sadrzi prava prstupq fajla podrazumjeva da je sadrzaj na HDD fizicki
zasticen
To podrazumjeva da su centralni dijelovi racunara cpu, ram, hdd, kontroleri, sabirnice zasticeni a
da su samo periferni dijelovi racunara (stampaci) direktno na raspolaganju korisnicima.
Sam podatak da li je neki fajl zakljucan ili ne je uveden radi ostarenja medjusobnog iskljucenja
procesa kad oni pristupaju samoj datoteci.
Ovdje se podrazumjeva da su aktivnosti ovih procesa medjusobno iskljucive u toku obavljanja
operacije zakljucavanja fajla.
Zastita samog fajla obezbjedjuje da podaci sadrzani u fajlu nece bit promjenjeni bez znanja i
saglasnosti njegovog vlasnika odnosno ona obezbjedjuje da podatke sadrzane na fajlu nekog
korisnika bez njegove dozvole drugi korisnici ne mogu da koriste.
Pravo citanja, pisanja i izvrsavanja predstavljaju 3 osnovna prava pristupanja datotekama pa se na
osnovu tih prava za svakog korisnika utvrdjuje koje vrste upravljanja datotekom su mu dopustene.
Svaka datoteka posjeduje ime koje bira njen korisnik. Pozeljno je da ime datoteke ukazuje na njeg
sadrzaj ali i na vrstu tog sadrzaja jer se datoteke naknadno mogu klasifikovati po njihovom sadrzaju
zato su imena datoteka sastavljena iz dva dijela. Tako da prvi dio oznacava njen sadrzaj a drugi dio
oznacava vrstu tog sadrzaja odnosno tip datoteke.
Ova dva djela obicno odvaja tacka (.). Tako npr mozemo imati datoteku o ucenicima 3. Razreda
elektrotehnicke skole po nazivom treci.txt ili trecijedan.txt gdje naziv trecijedan logicki odgovara
spisku ucenika 3-1 a txt govori da je tekstualna datoteka i da ta datoteka sadrzi samo ASCII.
Upravljanje datotekom obihvata ne samo upravljanje njenim sadrzajem vec i imenom.
Datoteke se mlgu grupisati u skupine tj direktorije (fajlovi u foldere) pa direktorij sadrze imena
svih datoteka koje su obuhvacene pomenutim skupom.
Da bi razlikovali direktorije, svaki je direktorij drugacijeg naziva kojeg bira korisnik.
Za same direktorije dovoljna su imena iz jednog dijela bez tipa jer nema potrebe za klasifikaciju
direktorija po sadrzaju.
Zadatak modula koji upravlja fajlovima je da omoguci otvaranje odnosno zatvaranje fajla. Zatim da
omoguci citanje i pisanja sadrzaja fajla. Zbog ovog zadatka dati modul vodi evidenciju o
blokovima memorije u HDD u kojima se nalaze sadrzaji fajlova. Ovaj modul se brine o
prebacivanju fajla izmedju HDD i RAM. To znaci da se iz modula za upravljanje fajlovima
pozivaju operacije ulaza i izlaza.
To podrazumjeva ili znaci da se na osnovu datih operacija vrsi otvaranje odnosno zatvaranje
fajlova tj citanje i pisanje.
1. Rad sa resursima
Rad sa resursima
Treci dio jezgra OSa je menadzer resursa (rad sa resursima) koji vodi racuna o dodjeli resursa
odgovarajucim procesima i u zavisnosti od toga vrsi odgovarajucu blokadu pojedinih resursa prema
potrebi.
Njegov je zadatak da izbjegne situaciju kako imamo na prethodno nacrtanoj slici (sveska) kada
nijedan proces ne moze da dobije odgovarajuci resurs pa oba bivaju blokirana.
Do ove situacije je doslo tako sto smo u nekom pocetnom trenutku t1 imali situaciju da proces A
koristi resurs 1 a proces B resurs 2 a po tom u nekom sljedecem trenutku proces A trazi resurs 2 a
proces B trazi resurs 1.
Ako ne bi imali mehanizam upravljanja resursima doslo bi do blokade rasporeda resursa od strane
procesa.
Rjesenje ovog problema moze da bude visestruko. Najjednostavnije je zabraniti upotrebu bilo kog
resursa dok je jedan resurs zauzet. Ovo rjesenje nije efikasno. Drugi pristup je da prije upotrebe tj
izvodjenja svi procesi prijave sve resurse koje mogu koristiti odnosno koji im mogu zatrebati
prilikom izvrsavanja sto je veoma tesko iz pozicije programera jer oni prilikom kreiranja programa
(procesa) cesto ne znaju koji im resursi mogu zatrebati.
Menadzer resursa mora biti sposoban da organizuje dodjelu resursa a resursi mogu biti djeljivi i
nedjeljivi.
Ako na primjer uzmemo stampac, kad jedan program koristi stampac onda drugi ne mogu.
Djeljivi resursi su TCP/IP protokol kojim se omogucuje komunikacija izmedju racunara bilo da su
na internetu ili lokalnoj mrezi.
Sa aspekta ovakvog posmatranja stvari namece se implementacija modularnog sistema gdje bi se
za svaki pojedini resurs primjenio njegov menadzer resursa pa onda menadzer resursa za dati resurs
implementira solstveni model obezbjedjenja od eventualnog zaglavljivanja a onda kernel odnosno
njegov dio za rad sa resursima omogucava uslugu prekida cekanja na dati resurs ukoliko vrijeme
cekanja predje datu vremenaku granicu.
Ukoliko dodje so zagljavljivanja rada resursa, kernel obavjestava od datoj gresci a dati proces koji
se zaglavio prebacuje u queue procesa koji su spremni da se izvrse.
Na ovaj nacin npr menadzer resursa za stampac implementira tkz spooler sistem. To je memorijski
prostor u kome se cuvaju podaci prispjeli za stampanje.
Ovaj spooling sistem ibezbjedjuje trenutno nastavak procesa koji zatrazi taj resurs a nakon toga za
proces koji ceka obezbjedjuje odgovaracuje podatke i kad dodje na red nastavlja njegovo
izvresrnje.
Ovako decentralizirani nacin rada, menadzer resursima najcesce ima upravljacki program za dati
uredjaj i za implementaciju u distribuiranim OSa.
U modernim OS pod menadzerom resursa se podrazumjeva dio za interakciju zavrsih menadzera za
date resurse i dio za implementaciju prekida usljed dugog cekanja .
Primjeri mogu biti sistemi za stampanje na unixu ili sistemi za upravljanje zvukom na linuxu
Funkcije koje jedinica za upravljanje memorijom koja se veze za dio jezgra za rad sa memorijom
treba da obesbjedi su:
Kad je u pitanu distribuirani sistem racunara, upravljanje memorijom postaje jos slozenije pa se
preferira sistem upravljanja memorijom u obliku stranica.
Stranicenje se zasniva na podjeli cjelokupnog memorijskog prostora na jednake blokove tj blokove
fixne duzine po 4kb. Ovim se blokovima upravlja kao sa osnovnim dijelovima memorije.
U skladu s tim potrebno je obezbijediti nacin obiljezavanja slobodnih stranica memorije sto se
moze izvesti uvodjenjem zaglavlja svake stranice u kom se oznacava status stranice pa imamo
globalnu listu medjusobno povezanih slobodnih stranica ili drugi nacin rjesavanja ovog problema je
pohraniivanje adresa slobodnih stranica u jedan niz globalnog karaktera sto je cesto losije rjesenje.
U praksi se desava kombinacija ova dva pomenuta mehanizma.
Kad su u pitanju stranice gubitak moze samo biti do kraja stranice
7. Logičke komponente jezgra OSa u rad sa procesima
Kernel je jezgro osa i upravlja pristupom korisnickih programa prema hardveru i softvrrskim
resursima. Ovi resursi se kreću od funkcija za dobivanje procesorskog vremena preko funkcija
za pristup memoriji(ram) zatim funkcija citanja i pisanja na hard disku, funkcija povezivanja
u mrezu racunara pa do interakcije sa grafickim interfejsom prema korisniku. Iako su ove
funkcije naizgled jednostavne njihova realizacija nije trivijalna jer sama implementacija mora
biti dovoljno sigurna i efikasna i prosiriva. Osnovni dijelovi jezgra osa su: organizacija rada
sa memorijom, organizacija rada sa resursima i organizacija rada sa procesima.
Organizacija rada sa procesima
Svaki proces podrazumijeva odredjeni broj naredbi i podataka koji se obradjuju u toku
izvrsavanja nekog programa a koji zauzimaju odredjeni adresni prostor u memoriji. Za proces
se moze reci da predstavlja jednu nit(nedjeljivi dio) izvrsavanja samog programa. Proces je nit
odnosno program u cjelini ukoliko ne koristi vise niti. Kako procesor moze da izvrsavs samo
jedan proces u nekom vremenskom trenutku to proces moze biti u fazi izvrsavanja ili u fazi
cekanja da se izvrsi. Ovakvo izvrsavanje procesa moze biti veoma neefikasno jer bi se moglo
zaustaviti neki proces koji se eventualni moze brzo izvrsiti ako bi trenutno izvrsenje bio
proces koji ima intenzivsn rad sa ulazno izlaznim jedinicima. Ovo je sistem cekanja procesa u
nizu da se izvrse putem procesora. Sam operativni sistem treba da definise efikasni nacin
organizscije od sistema cekanja u redu. U tom smislu proces možemo podiieliti na najmanje
djeljive jedinice tj na atomske operacije ili procese koji se izvrsavaju istovremeno.
Sve procese mozemo podijeliti na aktivne tj one koji se izvrsavaju i mozemo imati jedan
proces po procesoru. Zatim spremne tj one procese koji čekaju dodjelu procesorskog vremena
i procese koji cekaju bilo zavrsetsk rada sa nekim resursom ili ds se završi neki drugi proces i
tek kad se ispune uslovi čekanja mogu postati spremni.
Nulta je rrzervisana za jezgro osa. Kod izvodjenja ovog algoritma koristi se round robin s tim
dto se cesce dodijeljuje vrijeme procedims iz kategorije sa vecim prioritetom. Kada se zavrsi
proces sa dodijeljenim.
Vemenom on prelazi u katgeoriju sa manjimvprioritrtom ps se tako krsci procesi brze
izvrsavaju. Algoritam pruza dodatnu mogucnosz podesavanja vremena koje se dodjeljuje
odnosni podeeavanja kategorija. Aalgoritam se moze dalje dograditi kreirsnjem grupa
procesa.
Racunar se sastoji od hardvera ( skupa fizickih uredjaja neophodnih za ulaz izlaz i obradu
oodataka ), sistemskog softvera(skupa programa koji omogucava funkciju računara gdje jr OS
njegov najvazniji dio) i aplikativnog softvera ( skupa programskih jezika i drugih doftverskih
alata koji se koriste za izradu računarskih aplikacija).
Kao takav racunar se moze koristiti u stand alone kao jedinka nacinu rada ili moze biti
povezan u mrezu racunara.
Racunarski sistem jr osnova informacionog sistema pri čemu informacioni sistem moze imati
vise razlicitih podsistema(TPS, mis, dss itd)
Efikasno funkcionisanje hardvera omogućava sistemski softver. Uz pomoć njega se racunar
dovodi na raspolaganje korisniku. Korisnik putem aplikativnog softvera tj skupa programa
rjesava bilo koju vrstu problema. A samu komunikaciju sa racunarom korisnik obavlja putem
korisnickog interfacea( komponente racunarskog sistrma koja je dio racunarskog softvera)
Aktivnosti operativnog sistema su usmjerene ns dvije glavne komponente: S jedne hardver S
druge aplikativni softver.
Operstivni sistem se moze podijeliti na dio koji upravlja aplikacijama i dio koji upravlja
hardverom. Sa slike se moze vidjeti koji su primjeri aplikacija odnosno koji su primjeri
hardverskih komponenti. Ako posmatramo racunarski sistem sa aspekta krajnjeg korisnika
onda zavisno od tipa krajnjrg korisnika razlikujemo i oblik interakcije. Ako je krajnji korisnik
u poziciji da koristi neku od aplikacija na raspolaganju poput worda igrica excela i slicno
onda on komunicira samo sa nekom od datih aplikacija.ako je krajnji korisnik u poziciji
programera onda on komunicira ili sa OSom ili sa raspolozivim rutinama. Ako je krajnji
korisnik u poziciji dizajnera OSa onda on ostvaruje interakciju sa nizim nivoima tj
hardverom.svaki racunar bez obzira na hardversku konfiguraciju moze da radi sa razlicitim
operativnim sistemima, a do korisnkka je da odabere koji ce OS koristiti. Osobine OSa obicno
vidimo po ukljucenju racunara. Samim paljenjem dolazi do inicijalizacije hardverskih
dijelova.
A nakon procesa podizanja osa dobivamo interface prema krajnjem korisniku. Pokretanje
nekr aplikacije odnosno programa za os znaci naredbu od stranr korisnikavza izvrsenje neke
aktivnosti tj procesa. Efikasnost sidtemskog softvera je ustvari efikasno funkcionisanje sa
aspekts krajnjeg korisnika. Formstiranjr kreirranje fajlos itd su osnovne operacije na nivou
OSa
6. Pokretanje operativnog sistema