Professional Documents
Culture Documents
PREDAVANJE 1:
-Na dnu kompjuterskog sistema je hardware i sastoji se od dva ili vise nivoa.
Najnizi nivo sastoji se od fizickih uredaja, a oni se sastoje od integralnih kola,
zica,napajanja i sl.
Sljedeci nivo je mikroarhitekturni nivo u kome su fizicki uredaji povezani
u funkcionalne cjeline, a iznad njega se nalazi mašinski jezik .
Masinski jezik sadrzi instrukcije za upravljanje podacima,operacijama itd, na
ovom nivou se vrsi kontroliranje I/O uredaja.
-OS se izvodi u kernel modu , pa prema tome ima potpuni pristup hardware-u i moze
izvrsiti svaku instrukciju .
-Program korisničkog interfejsa, komandni interpreter (shell) ili GUI, je najniži nivo
softverskog korisničkog moda, i dozvoljava korisniku pokretanje ostalih programa.
-OS je program koji se stalno izvršava u računaru (odnosno program koji se stalno
nalazi u radnoj memoriji računara) i tada se obično zove kernel ili jezgro,
a sve ostalo spada u sistemski odnosno aplikativni softver.
-IBM 1401
-Racunar PDP-1.
Predavanje 2:
-Program je "fajl" koji sadrzi niz instrukcija neophodnih za izvrsavanje nekog zadatka.
-Program postaje proces tek kada se njegov izvrsni fajl ucita u RAM.
-Thread/Nit je ajmo reci laki proces koji pomaze pri izvrsavanju zadataka unutar
procesa .Prije niti za istu svrhu su se morali stvarati novi procesi, nazovimo ih
podprocesi kojima je trebalo dosta vremena za stvaranje a i dosta resursa.
Danasnji procesori imaju vise threadova sto znaci da se vise njih moze dodijeliti
jednom procesu i samim time poboljsati performanse jer ce zadatak biti zavrsen
mnogo brze.Ova tehnologija se naziva Multithreading , mozemo reci da proces ima
mogucnost da izvrsava vise zadataka/instrukcija u isto vrijeme.
-Sve niti unutar jednog procesa dijele isti memorijski prostor i pristupaju istim
podacima.Ali svaka nit unutar jednog procesa ima razlicit
identifikator,stanje(Ready...),brojac,registre i stek.
Sto znaci da PCB sadrzi informacije i o nitima.
-Postoje cetiri stvari zbog kojih je tehonologija niti dosta dobra:
• Odziv : Multithreading omogucava programu izvodenje cak i onda kada je jedan
njegov dio blokiran ili kada zavrsava drugu operaciju.
• Dijeljenje resursa: Da bi procesi dijelili resurse moraju proci odredene faze , dok
niti po svojoj prirodi dijele memoriju i resurse unutar jednog procesa , pa tako
mozemo imati vise niti kontrole unutar jednog procesa.
• Ekonomicnost: Kako smo vec rekli da se niti brze kreiraju i unistavaju od procesa ,
koriste dosta manje resursa pa samim time mnogo su ekonomicniji od kreiranja novih
procesa , niti se mogu kreirati i od 10 do 100 puta brze od procesa, naravno sve
zavisi od platforme .
• Skalabilnost: Kod procesora sa Multithreading podrskom , omoguceno je da se niti
mogu izvoditi paralelno na razlicitim jezgrama.
-Kako bismo postigli cest prelazak procesora sa procesa na proces potreban nam je
rasporedivac procesa koji bira neki od procesa u stanju Ready i salje ga procesoru
na izvrsavanje.
-Svaki procesa koji cekaju na neku U/I uredaj zove se Device Queue.
-Biranje procesa kao sto smo vec rekli se obavlja preko rasporedivaca.
-Brzina kreiranja procesa mora biti identicna brzini procesa koji napustaju sistem.
-Proces je nezavistan ako ne moze da utice ili na njega ne moze uticati neki drugi
proces koji se izvrsava .Pa prema tome svaki proces koji ne dijeli resurse sa drugim
procesom je nezavistan .
-Postoje razliciti algoritmi za rasporedivanje procesa i naravno svi oni imaju razlicite
osobine .Neki od najvaznijih kriterija :
• Iskoristenje procesora/CPU utilization: procesor treba da bude iskoristen sto je
vise moguce , ovo opterecenje se krece izmedu 40 - 90%.
• Propusnost sistema (Throughput): broj procesa koji su se izvrsili u jedinici
vremena.
• Ukupno vrijeme potrebno za izvršavanje procesa (Turnaround time):
Veoma vazno je koliko traje izvrsenje nekog procesa.Ovo vrijeme obuhvata zbir
perioda provedenih u cekanju da proces ude u RAM,cekanje u Ready
Queue,izvrsavanje u procesoru i obavljanje I/O operacija.
• Ukupno vrijeme u redu čekanja (Waiting time): algoritam za rasporedivanje
procesa ne utice na vrijeme u kome se proces izvrsava ili obavlja I/O operacije, vec
samo na vrijeme koje proces provodi u redu spremnih procesa.
• Vrijeme odziva (Response time): mjera koja pokazuje koliko je vremena potrebno
od podnosenja zahtjeva do pocetka dobijanja prvih rezultata se naziva vrijeme odziva
koje zavisi od brzine izlaznih uredaja.
-Rasporedivanje po prioritetu:
Kod prioritetnog algoritma procesima se dodjeljuje prioritet , dok se procesor
dodjeljuje procesu sa najvecim prioritetom.
Ukoliko procesi imaju isti prioritet koristimo FCFS rasporedivanje.
Prioritet se moze definisati:
• Interno: koristimo kvantitete za racunanje prioriteta procesa,vremenska
ogranicenja,memorijski zahtjevi,broj otvorenih fajlova.
• Eksterno: eksterni kriteriji su definisani izvan OS-a,vaznost procesa.
Najveci nedostatak je mogucnost neogranicenog blokiranja/starvation.
Ovo je slucaj kada se neki procesi nikad ne izvrse jer imaju nizak prioritet,pojavljuju
se procesi visokog prioriteta.
Rjesenje problema je starenje procesa, ovom metodom se povecava prioritet
procesa koji su u redu cekanja.
PREDAVANJE 4:
- Adresni prostor je memorijska lokacija sa koje proces moze citati i pisati podatke.
Ovaj adresni prostor sadrzi izvrsne fajlove,razne programske podatke i stek.
- Interfejs za sistemske pozive sluzi kao veza sa sistemskim pozivima koje nudi
operativni sistem.On presrece pozive funkcija unutar API interfejsa i poziva
odgovarajuci sistemski poziv unutar OS-a.
-Situacije u kojima dva ili vise procesa citaju ili upisuju neke djeljive podatke, gdje
krajnji rezultat zavisi od redoslijeda izvrsavanja instrukcija u razlicitim procesima
naziva se stanje trke/race condition.
-Kod sistema sa dva ili vise CPU-ova iskljucivanje prekida pogada samo CPU koji
izvrsava iskljucenu instrukciju.
Procesi dodijeljeni drugim CPU-ima nastavljaju se izvrsavati i pristupati djeljivoj
memoriji.
- Iskljucivanje prekida je cesto korisna tehnika unutar samog operativnog sistema, ali
nije prikladna kao opci mehanizam medusobnog iskljucivanja za korisnicke procese.
-Iduci nam dolazi tzv. problem Filozofa za vecerom koji predstavlja klasicni problem
sinhronizacije .Ovaj problem je predstavljanje potrebe alociranja nekoliko resursa
procesima bez izgladnjivanja i/ili potpunog zastoja .
-U uobicajenom režimu korištenja resursa, proces može da bude u nekoj od tri faze:
• Zahtjev/Request: proces zahtijeva resurs, i ukoliko ne moze da ga dobije ceka da
se taj resurs oslobodi.
• Koristenje/Use: proces je dobio resurs i koristi ga .
• Oslobadanje/Release: proces oslobada resurs posto je zavrsio sa koristenjem.
-Hardverska rjesenja problema kriticne sekcije kao sto su nedjeljive instrukcije mogu
se prevazici koristenjem Semafora/Semaphore.
-Spinlok je vrsta semafora gdje se proces vrti dok ceka da dobije bravu/lock.