OS I GRAFIKI INTERFEJS Od Windows 3 1

  • Slides: 48
Download presentation
OS I GRAFIČKI INTERFEJS

OS I GRAFIČKI INTERFEJS

 • Od Windows 3. 1 x i Windows 95 počinje je uvod u

• Od Windows 3. 1 x i Windows 95 počinje je uvod u grafičku komunikaciju sa osnovnim elementima grafičke komunikacije (prozori, ikone, meni, kursor, informativni i dijaloški prozori). Sve su ovo nezaobilazni elementi modernog korisničkog interfejsa nazvanog WIMP (Windows, Icons, Menus, Pointing device), a koji omogućuje značajan mehanizam WYSIWYG (What You See Is What You Get) kojim korisnik u svakom momentu na ekranu vidi ono što i očekuje.

MODELIRANJE RAČUNARSKE GRAFIKE KROZ OS • Grafički sistemi (globalno) i modeli interaktivne računarske grafike

MODELIRANJE RAČUNARSKE GRAFIKE KROZ OS • Grafički sistemi (globalno) i modeli interaktivne računarske grafike su bazirani na: - novom modelu aplikacije (aplikativni program), - grafičkom sistemu (skupu hardverskih i softverskih elemenata) i - grafičkoj opremi (komponente grafičkog sistema: ulazno/izlazne funkcije, upravljačke fukcije)

 • Jezgro grafičkog sistema obezbeđuje funkcionalni interfejs (FI) između nivoa aplikacionih programa, operativnog

• Jezgro grafičkog sistema obezbeđuje funkcionalni interfejs (FI) između nivoa aplikacionih programa, operativnog sistema i ostalih resursa okruženja

OS I SISTEMI ZA UPRAVLJANJE KORISNIČKIM INTERFEJSOM • Sistem za upravljanje korisničkim interfejskom (UIMS

OS I SISTEMI ZA UPRAVLJANJE KORISNIČKIM INTERFEJSOM • Sistem za upravljanje korisničkim interfejskom (UIMS - User Interface Management System) je deo sistemskog softvera za grafičku komunikaciju između korisnika (aplikativnog programa) i hardvera • Funkcionalne komponente grafičkog sistema su: - ulazne funkcije (za ulazne podatke i vezu korisnika i aplikacije),

- upravljačke funkcije (za praćenje stanja grafičkog sistema, opreme, grešaka. . . ), -

- upravljačke funkcije (za praćenje stanja grafičkog sistema, opreme, grešaka. . . ), - funkcije preslikavanja (za preslikavanje koordinata prirodnog koordinatnog sistema u koordinate nekog grafičkog uređaja), - funkcije segmentacije (za grupisanje izlaznih podataka), - geometrijske transformacije (nad izlaznim podacima), - izlazne funkcije (za grafičko predstavljanje izlaznih podataka i informacija).

Biblioteka grafičkih funkcija (GDI) je zadužena za grafičke izlazne uređaje, Windows Manager za ulaz/izlaz

Biblioteka grafičkih funkcija (GDI) je zadužena za grafičke izlazne uređaje, Windows Manager za ulaz/izlaz tastature, miša, ekrana, a grafički drajveri zavise od konkretnog hardvera na kome radi OS. Spuštanjem ovih komponenti (GDI, Windows Manager) na nivo nukleusa (Kernela), poboljšane su performanse grafičkog podsistema, bez potrebe za rezervisanjem posebnih memorijskih bafera.

UPOZNAVANJE SA ELEMENTIMA GRAFIČKOG OKRUŽENJA • Grafičko okruženje kod Windows-a je strogo definisano i

UPOZNAVANJE SA ELEMENTIMA GRAFIČKOG OKRUŽENJA • Grafičko okruženje kod Windows-a je strogo definisano i mogu da se menjaju samo određeni elementi. • Za Linux se neprekidno razvijaju nova grafička okruženja (KDE, GNOME, FMW, . . . ). • Kod Linux-a nema ograničenja, već se svaki elemenat grafičkog okruženja može zameniti. • Karakteristika grafičkog okruženja je Control Panel u kome su definisani svi elementi, ne samo grafičkog već i hardverskog i softverskog okruženja. Oni su objedinjeni i nalaze se na jednom mestu, dok su kod Windows-a definisani zasebnim podkategorijama. Ovo je urađeno zato što se u Linux-u komponente definišu modulima i istovremeno se vrši modifikacija Kernel-a.

Linux elementi grafičkog okruženja • Kod Linux-a postoji mogućnost izbora više grafičkih okruženja bez

Linux elementi grafičkog okruženja • Kod Linux-a postoji mogućnost izbora više grafičkih okruženja bez izlaska iz OS-a. • Za rad sa datotekama predviđen je File manager. Rad u Linux File Manageru sličan je radu u Windows exloreru. • Programerima Linux grafičko okruženje GNOME omogućava lakše snalaženje pri radu. • Grafičko okruženje se može podešavati aktiviranjem stavke podmenija iz Settings-a. Pojaviće se prozor sa elementima kao što su podešavanja pozadine, čuvara ekrana, tema, tastature, zvukova i slično. Na osnovu ličnih želja može se izabrati da li će se nešto aktivirati ili neće, a ako se aktivira, na koji način će se to događati.

 • Na Internet sajtovima je moguće (nekada i potrebno) pročitati pomoć koja je

• Na Internet sajtovima je moguće (nekada i potrebno) pročitati pomoć koja je dostupna uz svaki rad sa Linuxovim paketima i aplikacijama. • U mrežnom radu Linux može raditi i kao mali i srednji i veliki server, ali i kao radna stanica. • Elementi grafičkog oruženja su sledeći: * PROZORI su ograničene oblasti koje sadrže menije, dugmiće i trake za skrolovanje sadržaja prozora (aplikacije i datoteke se prikazuju unutar prozora); * IKONE na desktopu služe za lakše i brže startovanje aplikacija i otvaranje datoteka i direktorijuma;

* DESKTOP - pozadina za sve elemente koji se nalaze na ekranu monitora; *

* DESKTOP - pozadina za sve elemente koji se nalaze na ekranu monitora; * GNOME panel (ekvivalent Windows Taskbaru) obično se nalazi na dnu ekrana i sadrži Main dugme, aplete i pejdžere (pagere). Main dugme je ekvivalent Start dugmetu na Windows-u i u njemu su ugrađene prečice za startovanje aplikacija. Apleti su prečice koje omogućavaju startovanje aplikacija i datoteka odnosno direktorijuma. Da bi se znalo koje su aplikacije startovane na panelu se pojavljuju pejdžeri koji pokazuju trenutno aktivne aplikacije u otvorenom prozoru (za razliku od Windows-a koji ima samo jedan ekran, kod Linux-a može se aktivirati veći broj ekrana), a kliktanjem mišem na odgovarajućem pejdžeru aktivira se ekran sa elementima koji su tu startovani.

 • Za startovanje aplikacije potrebno je mišem aktivirati Main dugme i odabrati ga

• Za startovanje aplikacije potrebno je mišem aktivirati Main dugme i odabrati ga sa menija ili podmenija. Dalji rad je sličan radu svakoj Windows aplikaciji. Postoji dugmad za smanjivanje, uveličavanje i zatvaranje prozora. Postoje meniji na svakoj aplikaciji sa odgovarajućim komandama za rad. Ukoliko je aktiviran pojavljuje se kratak opis funkcije svakog dugmeta nad kojim se miš malo duže zadrži. Postoji detaljno opisana pomoć koja može da se aktivira u svakom trenutku. Pomoć je rađena u HTML formatu i običnim tekst editorima.

 • Za lakši rad predviđeno je kreiranje više Desktop-a koji paralelno postoje na

• Za lakši rad predviđeno je kreiranje više Desktop-a koji paralelno postoje na mašini i aktiviraju se prostim klikom na odgovarajući deo pejdžera koji prikazuje trenutno stanje Desktop-a. Rad sa više Desktop-ova omogućava raspoređivanje poslova i dolazak do trenutno potrebnih aplikacija, a bez smanjivanja ostalih aktivnih prozora i ponovnog aktiviranja. • U/I elementi grafičkog Linux okruženja (hardverski i softverski) definisani su, objedinjeni i smešteni na jednom mestu - u Control Panel-u.

 • Za razliku od drugih operativnih sistema Linux nema standardizovani ekranski prikaz. Stoga,

• Za razliku od drugih operativnih sistema Linux nema standardizovani ekranski prikaz. Stoga, skoro da ne postoje dve Linux mašine sa istim grafičkim okruženjem. • Spisak aplikacija koje su instalirane može se pronaći iz podmenija System-a. Moguće je izvršiti proveru instaliranih aplikacija kao i instalaciju novih. Instalirane aplikacije su raspoređene prema grupama kako bi se lakše pronašle.

RASPOREĐIVANJE RESURSA UPRAVLJANJE, POSLOVIMA, PROCESORIMA

RASPOREĐIVANJE RESURSA UPRAVLJANJE, POSLOVIMA, PROCESORIMA

 • Procesor je ključni resurs i za njegovo fizičko dodeljivanje procesima neophodno je

• Procesor je ključni resurs i za njegovo fizičko dodeljivanje procesima neophodno je upoznati uprvljačke module sinhronizacione probleme i višeprocesorske sisteme: 1) dostavljanje poslova (JOB, SUBMIT → HOLD), rasčlanjavanje na procese i njihova stanja (korisnik radi posao, sistem kreira procese i njihova stanja. . . ), 2) raspoređivanje poslova (JOB scheduling, HOLD → READY), 3) raspoređivanje procesa (Proccess scheduling, READY → RUNNING), 4) raspoređivanje CPU, višeprocesorskih sistema (sa odvojenim sistemima, koordiniranim planiranjem poslova, homogenim ili ”gospodar/rob” raspoređivanjem itd), 5) sinhronizovanje procesa (sa mogućim problemima: stanjem trke i "zagrljaja").

POSAO, DODELJIVANJE PROCESORA, PROCES, NJIHOVA STANJA I MODULI • Osnovni moduli za upravljanje procesorima

POSAO, DODELJIVANJE PROCESORA, PROCES, NJIHOVA STANJA I MODULI • Osnovni moduli za upravljanje procesorima su sledeći: - raspoređivač poslova koji kreira procese, a u jednoprogramskoj sredini odlučuje koji će proces dobiti procesor - raspoređivač procesora odlučuje koji će od spremnih (Ready) procesa dobiti procesor u multiprocesiranju, u koje vreme i za koliko dugo; - kontrolor saobraćaja koji radi evidenciju o statusu procesa.

 • U mnogim sistemima potrebno je sinhronizovati procese i poslove, a to je

• U mnogim sistemima potrebno je sinhronizovati procese i poslove, a to je takođe zadatak modula za upravljanje procesorima. • Raspoređivač poslova izabira poslove koji će se raditi. • Raspoređivač procesa (dispečer) je kao mikroraspoređivač koji dodeljuje procesore procesima pridruženim raspoređenim poslovima. • Korisnik radi svoj posao kao skup zadataka uz moguće podele na korake posla koji su sekvencijalno obrađeni. • Sistem kreira procese koji će izvršiti i obrade koraka poslova. • Raspoređivač poslova bavi se upravljanjem poslova, a raspoređivač procesora bavi se upravljanjem procesorima.

Uvod u raspoređivanje procesora, poslova. . . • U monoprogramskom sistemu ne pravi se

Uvod u raspoređivanje procesora, poslova. . . • U monoprogramskom sistemu ne pravi se razlika između raspoređivanja procesora i poslova, pošto je samo jednom poslu dozvoljeno da uđe u sistem. Izabranom poslu (od strane raspoređivača) za izvođenje kreira se proces i dodeljuje mu se procesor. • U multiprogramskom sistemu raspoređivač poslova bira mali podskup poslova koji su dostavljeni (submitovani) sistemu. Moduli OS-a kreiraju procese za ove poslove i odlučuju koji će procesi dobiti procesor, u koje vreme i koliko dugo.

Raspoređivanje poslova ("dugoročna" dodela procesora) • Ovde je reč o "super" upravljaču poslovima (JOB

Raspoređivanje poslova ("dugoročna" dodela procesora) • Ovde je reč o "super" upravljaču poslovima (JOB scheduler) koji mora: 1) voditi evidenciju o statusu svih poslova, mora zapaziti koji poslovi pokušavaju da ostvare (Hold stanje), kao i status svih poslova koji se opslužuju (Ready, Running ili Blocked stanje); 2) izabrati strategiju po kojoj će poslovi prelaziti iz hold u ready stanje, odluka može biti bazirana na karakteristikama kao što su prioritet, zahtevani resursi ili uravnoteženje sistema; 3) dodeliti potrebne resurse za planirani posao korišćenjem upravljanja memorije, uređajima ili procesorima; 4) osloboditi resurse kada je posao završen.

Raspoređivanje procesa ("kratkoročna" dodela procesora) • Kada raspoređivač poslova pomeri posao iz hold u

Raspoređivanje procesa ("kratkoročna" dodela procesora) • Kada raspoređivač poslova pomeri posao iz hold u ready stanje, dispečer kreira jedan ili više procesa za ovaj posao. • Dispečer u sklopu raspoređivanja procesa (Process scheduling) donosi odluke, koji će procesi u sistemu dobiti procesor, kada i koliko dugo. Tada se izvršavaju sledeće funkcije: - odlučivanje koji će proces dobiti procesor i za koliko dugo (ovo izvršava dispečer - raspoređivanja procesa);

- dodeljivanje procesora procesu - vođenje evidencije o statusu procesa (modul koji izvršava ovu

- dodeljivanje procesora procesu - vođenje evidencije o statusu procesa (modul koji izvršava ovu funkciju zove se kontrolor saobraćaja); - oslobađanje procesora. Kada proces koji se izvodi zahteva dodeljeni kvantum vremena procesora ili ako mora da čeka da se završi U/I. Ovo zahteva da se svi registri stanja procesora sačuvaju da bi se omogućilo buduće ponovno dodeljivanje. Ovaj zadatak izvršava kontrolor saobraćaja.

Procesi na primeru UNIX-a • U UNIX operativnom sistemu pojam proces je osnovna jedinica

Procesi na primeru UNIX-a • U UNIX operativnom sistemu pojam proces je osnovna jedinica koja se izvršava. • Poslovi i komande mogu se izvršavati jednim procesom, ali mogu zahtevati i više procesa. • Postoji više tipova procesa: interaktivni procesi - procesi koji se zahtevaju i kontrolišu preko terminala. batch procesi - procesi koji se izvršavaju u batch obradi, tj. definisan je redosled procesa koji se izvršavaju sekvencijalno. server procesi koji se izvršavaju u background-u (daemons) i čekaju dok neki drugi proces ne zahteva njihove usluge. • Procesi mogu posedovati više atributa: jedinstveni identifikacioni broj procesa, broj koji definiše prioritet procesa u zauzimanju resursa računara, oznaka terminala itd.

RASPOREĐIVANJE POSLOVA "Dugoročna" dodela procesora • Raspoređivanje poslova dodeljuje sistemske resurse izvesnim poslovima. Stoga

RASPOREĐIVANJE POSLOVA "Dugoročna" dodela procesora • Raspoređivanje poslova dodeljuje sistemske resurse izvesnim poslovima. Stoga planiranje poslova mora: - voditi evidenciju o poslovima, - konsultovati strategije zbog odlučivanja koji će poslovi dobiti resurse. - Mehanizam za vođenje evidencije o poslovima je odvojeni kontrolni blok posla (JOB control block) za svaki posao u sistemu. • Kada se proces stavi u "HOLD" stanje, kreira se kontrolni blok za njega sa poljima koja pokazuju njegov status i položaj u redu čekanja

Strategije planiranja poslova ("dugoročne" dodele procesora) • Planiranje strategije mora izabrati iz "HOLD" stanja

Strategije planiranja poslova ("dugoročne" dodele procesora) • Planiranje strategije mora izabrati iz "HOLD" stanja one poslove koji će preći u "READY" stanje. U većim centrima i sistemima, svi isporučeni poslovi se prvo memorišu na sekundarnu memoriju, tako da planiranje poslova može izabrati poslove koji će dobiti sistemske resurse za izvođenje.

 • Raspoređivanje poslova se smatra pitanjem strategije, pošto su ciljevi obično subjektivni. Na

• Raspoređivanje poslova se smatra pitanjem strategije, pošto su ciljevi obično subjektivni. Na primer, kako rangirati sledeće ciljeve: 1) izvršiti što je moguće više poslova dnevno (znači samo kratke poslove); 2) održati procesor stalno zauzetim (izvoditi samo kratke poslove); 3) biti pošten prema svim poslovima - korisnicima. • Pri određivanju strategije planiranja poslova treba uzeti u obzir sledeće: - raspoloživost specijalno ograničenih resursa; - više cene za brze usluge; - angažovanje sistema - procesorskog vremena i memorije; - uravnoteženje sistema - postavljanje ograničenja, završetak posla u specificirano vreme.

RASPOREĐIVANJE PROCESA • Kada raspoređivač poslova jednom odabere skup poslova za izvođenje, raspoređivač procesa

RASPOREĐIVANJE PROCESA • Kada raspoređivač poslova jednom odabere skup poslova za izvođenje, raspoređivač procesa pristupa detaljnom planiranju. • U multiprogramskoj okolini proces obično koristi procesor samo 100 ms ili manje, pa se blokira, čekajući na završetak U/I. • Raspoređivanje poslova i raspoređivanje procesa mogu međusobno sarađivati.

Procesi A i D zahtevaju traku za vreme izvođenja. Ako postoji samo jedna jedina

Procesi A i D zahtevaju traku za vreme izvođenja. Ako postoji samo jedna jedina traka i prvo je traži proces A, onda će proces D biti blokiran dok proces A ne oslobodi traku. Blokirati se može proces a ne procesor. Procesor opslužuje procese A, B i C, dok će proces D zauzimati deo memorije i čekati. U sistemu se on izbacuje na sekundarnu memoriju. Logička posledica blokiranja procesa D je ponovna raspodela njemu dodeljenih resursa.

Funkcije dispečera i kontrolni blok procesa • Funkcije dispečera (raspoređivanja procesa - Process Scheduling)

Funkcije dispečera i kontrolni blok procesa • Funkcije dispečera (raspoređivanja procesa - Process Scheduling) su: 1) vodi evidenciju o stanju procesa; 2) odlučuje koji će proces dobiti procesor, kada i koliko (vremenski kvantum); 3) dodeljuje procesore procesima; 4) oslobađa procesore od procesa. • Modul planiranja procesa koji radi evidenciju o statusu procesa, zove se kontrolor saobraćaja. Kontrolor saobraćaja se uvek poziva kada se menja status resursa.

Kontrolni blok proces (PCB) Jedan način vođenja evidencije o procesu je imati informacije o

Kontrolni blok proces (PCB) Jedan način vođenja evidencije o procesu je imati informacije o svakom procesu u sistemu koji se zove kontrolni blok procesa

Strategije dispečera ("kratkoročne" dodele procesora) • Strategije dispečera ("kratkoročne" dodele procesora) moraju odlučiti kom

Strategije dispečera ("kratkoročne" dodele procesora) • Strategije dispečera ("kratkoročne" dodele procesora) moraju odlučiti kom procesu treba dodeliti procesor i koliko dugo. Dužina vremena dodeljivanja procesora procesu zavisi od jednog ili kombinacije sledećih događaja: - proces je završen, - proces je blokiran (prešao u Wait stanje čekanja), - proces višeg prioriteta traži procesor, - vremenski kvantum je istekao, - desila se greška. • Ready lista se može organizovati na dva načina: 1) svaki put kada se jedan proces nađe u Ready listi, on se stavlja u "korektnu“ poziciju u pogledu prioriteta, tako da, kada procesor postane slobodan, izvodi se proces sa vrha liste; 2) procesi se proizvoljno stavljaju u Ready listu, po redosledu nailaska: kada je potrebno naći proces koji će se izvoditi, planiranje mora potražiti čitavu listu spremnih procesa i uzeti jedan za izvođenje.

RASPOREĐIVANJE CPU Algoritmi raspoređivanja CPU • Tipične su sledeće strategije "kratkoročne" dodele procesora, odnosno

RASPOREĐIVANJE CPU Algoritmi raspoređivanja CPU • Tipične su sledeće strategije "kratkoročne" dodele procesora, odnosno raspoređivanja CPU (CPU scheduling): - Round Robin - svaki proces u redu izvodi se u kratkom vremenskom periodu; - obrnuto ostatku vremenskog kvantuma - ako je proces iskoristio čitav kvantum, zadnji put, on ide na kraj liste (ako je iskoristio samo pola, on ide u sredinu liste); - varijanta višenivovske povratne sprege na Round Robin (kada nov posao uđe u sistem, on se izvodi onoliko vremenskih kvantuma koliko su se drugi poslovi u sistemu već izvodili, a zatim se izvodi regularni Round Robin); - prioritet - odobrava se za izvođenje spreman posao najvišeg prioriteta,

- ograničen Round Robin do nekog fiksnog broja puta (zatim se oni izvode samo

- ograničen Round Robin do nekog fiksnog broja puta (zatim se oni izvode samo ako nema drugih poslova u sistemu); - uravnoteženje sistema - da bi se U/I uređaji držali "zauzetim", daje se prednost poslovima sa mnogo U/I operacija; - bolji trenutak interaktivnih poslova - ako korisnik direktno komunicira sa svojim procesom (procesu se daje procesor odmah po ulazu korisnika, tako da bi se obezbedila brza usluga); - zasluge posla - u nekim slučajevima bolje je za sam sistem da organizovano budu dodeljeni prioriteti.

Višeprocesorski sistemi • Da bi se povećala propusna moć, računarska snaga, paralelizam, ekonomičnost, nekim

Višeprocesorski sistemi • Da bi se povećala propusna moć, računarska snaga, paralelizam, ekonomičnost, nekim sistemima se mogu dodeliti dodatni procesori. • U ranim višeprocesorskim sistemima dodatni procesori imali su specijalizovane funkcije. Kasniji multiprocesorski sistemi imali su veliki CPU i nekoliko perifernih procesora. • Kasnije je došlo do višeprocesorskog sistema koji imaju dva ili više procesora jednake snage. • Postoji više načina za spajanje i rad višeprocesorskih sistema, kao što su: 1) odvojeni sistemi; 2) koordinirano planiranje poslova; 3) planiranje "gospodar/ rob"; 4) homogeno planiranje.

Odvojeni sistemi • Neki sistemi mogu se podeliti logički u više odvojenih sistema, od

Odvojeni sistemi • Neki sistemi mogu se podeliti logički u više odvojenih sistema, od kojih svaki ima po jedan procesor, nešto glavne memorije i perifernih uređaja. Na ovaj način dobija se fleksibilna konfiguracija i jak sistem za neke poslove, ili se uslučaju kvara jednog procesora, resursi vezuju za drugi procesor dok se ne izvrši popravka. Koordinirano dodeljivanje (raspoređivanje) poslova • U ovom slučaju svaki procesor je spojen sa odvojenim sistemom. Kada posao dođe, on se dodeljuje nekom sistemu. To dodeljivanje posla sistemu može se zasnovati na različitim zahtevima i strategijama, kao što je dodeljivanje posla sistemu sa najmanjim opterećenjem. Da bi se ostvarilo uravnoteženje, dodeljivanje poslova može da se koordinira. Takvo dodeljivanje se može ostvariti ručno, pomoću posebnog računara ili između jednog od računara za obradu.

Raspoređivanje ”gospodar - rob” • Pri koordiniranom raspoređivanju poslova, posao se stalno dodeljuje sistemu.

Raspoređivanje ”gospodar - rob” • Pri koordiniranom raspoređivanju poslova, posao se stalno dodeljuje sistemu. Ali, na taj način ne može da se ostvari kratkoročno uravnoteženje sistema. Kod višeprocesorskih sistema, u opštem slučaju, sva memorija i svi uređaji su raspoloživi svim procesorima. • Procesori se dodeljuju procesima, o čemu odlučuje dispečer - modul za planiranje procesa. U ovoj tehnici procesor održava status svih procesora u sistemu i raspoređuje poslove na sve "robovske" procesore. Ovo je analogno vezi između CPU i U/I procesora. • Na primer, procesor "gospodar" odabere jedan proces za izvođenje, nađe raspoloživ prostor i izda komandu START procesor.

Procesor "rob" startuje izvođenje na naznačenoj lokaciji memorije. Kada završi, on generiše prekid prema

Procesor "rob" startuje izvođenje na naznačenoj lokaciji memorije. Kada završi, on generiše prekid prema "gospodaru", stoji i očekuje druge naredbe. Različiti procesori "robovi" mogu da budu dodeljeni procesima u različita vremena.

Homogeno raspoređivanje procesora • Pri planiranju "gospodar/ rob" procesor "gospodar" može da postane usko

Homogeno raspoređivanje procesora • Pri planiranju "gospodar/ rob" procesor "gospodar" može da postane usko grlo. • Rešenje je da se raspoređivanje procesora logički decentralizuje. Lista svih procesa i njihovih statusa smešta se tako da je pristupačna bilo kome procesoru. Svaki procesor koristi algoritam strategije raspoređivanja. OS obezbeđuje dobru koordinaciju i komunikaciju između procesora u decentralizovanom radu OS-a.

SINHRONIZOVANJE PROCESA • Postoje dva sinhronizaciona problema vezana za dodeljivanje procesora i komunikacija između

SINHRONIZOVANJE PROCESA • Postoje dva sinhronizaciona problema vezana za dodeljivanje procesora i komunikacija između procesa: - stanje trke i - samrtnički zagrljaj. Stanje trke • Stanje trke nastaje iz deljenja podataka ili resursa između dva ili više procesa.

Jedno rešenje ovog problema je zahtevati da proces traži upotrebu deljenog resursa pre nego

Jedno rešenje ovog problema je zahtevati da proces traži upotrebu deljenog resursa pre nego što ga koristi. Kada se upotreba resursa okonča (na primer, završi štampani izveštaj), resurs se može osloboditi od strane procesa. Ako proces traži resurs koji je u upotrebi, isti proces postaje automatski blokiran. Kada resurs postane raspoloživ, kao rezultat kasnijeg oslobađanja, on se blokiranom procesu može dodeliti i prevodi se u Ready stanje.

Sinhronizovanje hardvera • Raspoloživi su razni sinhronizacioni mehanizmi koji obezbeđuju koordinaciju i komunikaciju između

Sinhronizovanje hardvera • Raspoloživi su razni sinhronizacioni mehanizmi koji obezbeđuju koordinaciju i komunikaciju između procesa. Instrukcija Test & Set • U sinhron-šemama mora da se upotrebi jedan fizički entitet, za predstavljanje jednog resursa. Ovaj entitet često se zove "bajt brave" semafor. Na ovaj način svaki blok procesa i uređaj treba da ima odvojene "bajt brave". • Po konvenciji: "bajt brave" = 0, znači da je resurs raspoloživ, "bajt brave" = 1, znači da je resurs već u upotrebi. • Pre nego što je na takvom deljenom resursu, proces mora da izvrši sledeće: a) da ispita vrednost "bajta brave" (0 ili 1), Test, b) da postavi "bajt brave" na 1, Set, c) ako je prvobitna vrednost bila 1, ide nazad na kanal a). • Pošto je proces završio svoju upotrebu resursa, on postavlja "bajt brave" na 0.

Semafori • Mehanizam Wait And Signal • Mehanizam sinhronizovanja hardvera je dovoljan za sinhronizaciju,

Semafori • Mehanizam Wait And Signal • Mehanizam sinhronizovanja hardvera je dovoljan za sinhronizaciju, ali troši procesorsko vreme. Blokirani proces stvarno ne staje, već kontinualno u petlji ispituje "bajt brave" i čeka da se promeni na 0. Modifikovani mehanizmi zaključanja i otključanja mogu da se definišu na sledeći način: - LOCK (X) - zaključati "bajt brave" X a) ispitati vrednost "bajt brave" (0 ili 1), b) postaviti "bajt brave" na 1, c) ako je prvobitna vrednost bita 1, pozvati Wait (X). - UNLOCK (x) - otključati "bajt brave" X • a) postaviti "bajt brave" na 0, • b) pozvati Signal (X).

 • Wait i Signal su primitivni kontrolori saobraćaja. • Wait (X) postavlja PCB

• Wait i Signal su primitivni kontrolori saobraćaja. • Wait (X) postavlja PCB (kontrolni blok procesa) u blokirano stanje. Zatim dispečer odabira za izvođenje drugi proces. • Signal (X) proverava listu blokiranih procesa. Ako postoji bilo koji proces koji čeka na X, on se odobrava i njegov PCB se postavlja u Ready stanje. • Wait i Signal mehanizmi mogu se upotrebiti za druge svrhe, kao što je čekanje na završetak U/I. Posle U/I zahteva, proces može da se blokira sa Wait (X) gde je X bajt statusa pridružen U/I uređaju. Kada dođe do prekida, usled završetka U/I, on se konvertuje u Signal (X).

SAMRTNIČKI ZAGRLJAJ • To je situacija u kojoj dva procesa čekaju resurse koje drži

SAMRTNIČKI ZAGRLJAJ • To je situacija u kojoj dva procesa čekaju resurse koje drži drugi od njih, pa su na taj način neraspoloživi. • Podaci A i B dele štampač i čitač pomoću operacija zahtevanja i oslobađanja. Zbog nezavisnog planiranja procesa, operacije zahtevanja i oslobađanja mogu se javiti u nekoliko redosleda kao što su: 1) A 1, A 2, A 3, A 4, B 1, B 2, B 3, B 4 2) B 1, B 3, B 4, A 1, A 2, A 3, A 4 3) A 1, A 2, B 1, B 2, A 3, A 4, B 3, B 4

Redosledi 1) i 2) se izvršavaju korektno. U redosledu 3) proces B privremeno blokiran,

Redosledi 1) i 2) se izvršavaju korektno. U redosledu 3) proces B privremeno blokiran, dok proces A ne izda A 4. Šta se dešava ako redosled započne sa A 1, B 1? Ako zatim dođe A 2, proces A se mora blokirati jer proces B već koristi čitač. Ako dođe B 2, proces B se mora blokirati jer je štampač u upotrebi od strane procesa A. Ovde se suočavamo sa "pat" pozicijom, jer svaki proces čeka na drugi da oslobodi traženi resurs, što je pravi samrtnički zagrljaj.

 • Neke od tehnika za sprečavanje samrtničkog zagrljaja su: (1) prethodno dodeljivanje svih

• Neke od tehnika za sprečavanje samrtničkog zagrljaja su: (1) prethodno dodeljivanje svih deljivih resursa, (2) ograničeno dodeljivanje, koje može biti: • a) kontrolisano dodeljivanje, • b) standardno dodeljivanje, • c) otkrivanje i razrešavanje.