Top Banner

of 74

Skripta_os i Pitanja

Jul 05, 2018

Download

Documents

Petra Asturić
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/16/2019 Skripta_os i Pitanja

    1/74

    1. Sinkronizirati proizvodaca i potrošaca korištenjem brojackog semafora.Proizvođač: dok je(1){

     proizvesti poruku P;

    Ispitati_Osem(2);

    MS[UL]=P;

    UL=(UL+1)%N;Postavi_Osem(1);

     }

    Potrošač: dok je(1){

    Ispitati_Osem(1);

    R=MS[IZ];

    IZ=(IZ+1)%N;

    Postavi_Osem(2);

    Potrošiti poruku R;

     }

    Objašnjene varijabli: MS=međuspremnik UL, IZ=kazaljke za kretanje po međuspremniku P, R=poruka

    N=veličina međuspremnika 2. Sinkronizirati više proizvođaća i više potrošaca uz pomoć binarnih i brojackihsemafora.Proizvođač: Dok je (1){

    Proizvesti poruku P;

    Ispitati_Osem(S);

    Ispitati_Bsem(P);

    Dobaviti pretinac sa stoga SKLADISTE;

    Postaviti P u pretinac i uvrstiti ga u Red_Poruka[i];

    Postaviti_Bsem[P];

    Postaviti_Osem(i);

     }

    Potrošač:

    Dok je (1){

    Ispitati_Osem(i);

    Ispitati_Bsem(K);

    Preuzeti poruku R iz prvog spremnika u Red_Poruka[i];

    Vratiti ispažnjeni pretinac na stog SKLADISTE; 

    Postaviti_Bsem[K];

    Postaviti_Osem(S);

    Potrošiti poruku R;

     }

    3. Sinkronizirati rad dviju dretvi tako da se one obavljaju naizmjenicno.Dretva Di:

    dok je (1){

    Ispitati_Osem (i);

    nešto raiti;Postaviti_Osem(j);

    }

    Dretva Dj:

    dok je (1){

    Ispitati_Osem (j);

    nešto raiti;Postaviti_Osem(i);

    }

    Jedan OSEM je inicijalno postavljen na 0, a drugi na 1;

  • 8/16/2019 Skripta_os i Pitanja

    2/74

    Dretva u kojoj je OSEM postavljen u 1 ce prva poceti izvođenje.4. Što je potpuni zastoj?Potpuni zastoj je stanje sustava u kojem su sve dretve blokirane u nekom redu uvjeta.

    5. Navesti nužne uvjete za nastajanje potpunog zastoja.a)srestva se koriste međusobno isključivo b) dretvi sama otpusta sredstvo nakon koristenja c) dok

    traži oatna srestva retva rži oijeljena d)barem 2 dretve koriste barem 2 sredstva6. Što je monitor? Monitor je jezgrin mehanizam za sinkronizaciju. 

    7. Navesti jezgrine strukture podataka koje se koriste za ostvarenje monitora.

    - monitorski semafor i redovi uvijeta

    8. Navesti jezgrine funkcije za ostvarenje monitora.

    a)  udi_u_monitor b) izadi_iz_monitora c) uvrstiti_u_red_uvjeta d) osloboditi_iz_reda_uvjeta

    9. Kada se može dogoditi da se dvije dretve nadu u monitoru? Jena retva je upravo eblokirana iz rea uvjeta, a ruga koja je tu retvu eblokirala, a još nije

    završila izvođenje i izašla iz monitora.10. U pseudokodu napisati jezgrine funkcije za ostvarenje monitora: Uci_u_monitor,

    Izaci_iz_monitora, Uvrstiti_u_red_uvjeta i Osloboditi_iz_reda_uvjeta. Uci_u_monitor(M){

    Pohraniti kontekst u opisnik Aktivna_D;

    Ako je (Monitor[M].v==1) {

    Monitor[M].v=0;

    Obnoviti kontekst iz opisnika Aktivna_D;

    Omoguciti prekidanje;

    Vratiti se iz prekinog načina raa;} Inače {

    Premjestiti opisnik iz reda Aktivna_D u red Monitor[M];

    Aktivirati prvu dretvu iz reda Pripravne_D;

    }}

    Izaci_iz_monitora(M){

    Pohraniti kontekst u opisnik Aktivna_D;

    Premjestiti opisnik iz reda Aktivna_D u red Pripravne_D;

    Ako je ((Monitor[M].v==0) && (red Monitor[M] neprazan)) {

    Premjesti prvi opisnik iz reda Monitor[M] u red Pripravne_D;

    } InačeMonitor[M].v=1;

    Aktivirati prvu dretvu iz reda Pripravne_D;

    }

    Uvrstiti_u_red_uvjeta(M,K){

    Pohraniti kontekst u opisnik Aktivna_D;

    Premjestiti opisnik iz reda Aktivna_D u Red_uvjeta[M,K];

    Ako je ((Monitor[M].v==0) && (red Monitor[M] neprazan)) {

    Premjesti prvi opisnik iz reda Monitor[M] u red Pripravne_D;

    } InačeMonitor[M].v=1;

    Aktivirati prvu dretvu iz reda Pripravne_D;

    }

    Osloboditi_iz_reda_uvjeta(M,K){

  • 8/16/2019 Skripta_os i Pitanja

    3/74

    Pohraniti kontekst u opisnik Aktivna_D;

    Premjestiti opisnik iz reda Aktivna_D u red Pripravne_D;

    Ako je (Red_uvjeta[M,K] neprazan) {

    Premjesti prvi opisnik iz reda Red_uvjeta[M,K] u red Pripravne_D;

    }

    Ako je ((Monitor[M].v==0) && (red Monitor[M] neprazan)) {Premjesti prvi opisnik iz reda Monitor[M] u red Pripravne_D;

    }

    InačeMonitor[M].v=1;

    Aktivirati prvu dretvu iz reda Pripravne_D;

    }

    11. Kojim jezgrinim mehanizmom moraju biti zašticene korisnicke monitorske funkcije? Monitorskim semaforima 

    12. U cemu se razlikuje monitorski semafor od binarnog semafora?Binarni semafor koristi samo vije funkcije, a monitorski četiri 

    1. Gdje se generiraju adrese unutar procesora?Programsko brojilo adrese instrukcija

    Registar kazaljke stoga stogovne adrese

    Saržaj aresnih ijelova instrukcija adrese podataka2. Kako je podijeljen procesni adresni prostor?Dretveni prostori + zajenički prostor 3. Opisati organizaciju smještaja sadržaja na magnetskom disku (cilindri, staze, sektori).Disk se sastoji o više ploča na istoj osovini. Kružnice na ploči prestavljaju staze, a staze supodjeljene na jednake kruzne lukove – sektore. Staze jenakih polumjera svih iskova čine cilinar. 4. Čime je odredena jedinstvena adresa svakog sektora na disku?a) Renim brojem ploče b)Renim brojem staze na ploči c)Rednim brojem sektora na stazi

    5. Koliko iznosi ukupno trajanje prijenosa podataka tvrdi disk- radni spremnik ?-Trajanje postavljanje glave +Trajanje trazenja staze + rotacijsko kašnjenje =TR/2 TR + trajanjeprijenosa poataka + trajanje čitanja ijela ili cijele staze + trajanje premještanja glave sa staze nastazu=Tr/2+ trajanje prijenosa podataka

    6. Od cega se sastoji trajanje traženja staze ( seek time)?-a)Ubrzavanje b) Gibanje konstantnom brzinom c)Usporavanje d)Fino pozicioniranje

    7. Koliko iznosi prosjecno vrijeme traženja u odnosu na vrijeme koje je potrebno zaprijelaz preko svih staza?Za vrijeme trazenja se uzima trečina vremena potrebnoh za prijelaz svih staza 8. Zbog čega nastaje rotacijsko kašnjenje i koliko ono iznosi?Rotacijsko kašnjenje (Tr) nastaje zbog toga što se nakon postavljanja glave na oabranu stazu mora

    prije početka prijenosa pričekati a se ispo glave za čitanje pojavi traženi sektor.Iznosi između nula i jednog okretaja. Zato se za rotacijsko kašnjenje uzima prosječna vrijenost,odnosno pola trajanja jednog okretaja (Tr=Tr/2).

    9. Čime je odredena brzina prijenosa podataka s diska u spremnik diskovne upravljackejedinke?Brzinom kojom ispo glave promiču bajtovi sektora i brojem poataka koje trebamo prenjeti.10. Neka je trajanje traženja staze Ts nekog diska s 2000 staza opisano sa sljedece triformule, gdje je D udaljenost izmedu trenutnog položaja glave i tražene staze:-Ts = 1.5 x D ms za D 4,-Ts = 4.0 + 0.5 x D1/2 ms za 4 400.

    Koliko iznosi prosjecno vrijeme traženja staze?=10.0+0.01∗2000/3=16.66  

  • 8/16/2019 Skripta_os i Pitanja

    4/74

    11. Navesti sadržaj procesnog informacijskog bloka.Tablice sektora u kojima je program procesa pohranjen na isku i poaci o smještaju programa uradnom spremniku.

    12. Opisati postupke statickog i dinamickog dodjeljivanja spremnika.Statičko ojeljivanje: Particije su stalne veličine program ka je ojeljen jenoj particiji uvijek je u

    toj particiji, i ka je izbačen iz ranog spremnika može se vratiti samo u tu particiju. Dolazi oproblema fragmentacije i toga što aresni prostor programa nije mogao biti veci od najvece particijefizičkog spremnika.Dinamičko dodjeljivanje: Programi se upisuju jedan iza drugog. Dodan je sklop s kojim se početnaaresa pribraja svakoj aresi koju proces proizvee. Programi se priređuju tako a svaki ima svojaresni prostor. Važno je a se prije izvođenja u bazni registar pohrani aktualna početna aresa. 13. Navesti vrste fragmentacije prilikom statickog dodjeljivanja spremnika.Statičko: unutarnja fragmentacija(program manji od particije), specifična fragmentacija za statičkododijeljivanje

    Dinamičko: vanjska fragmentacija (rupa razlicita od programa)14. Problem fragmentacije prilikom dinamickog dodjeljivanja spremnika se ne možeizbjeci, ali se može ublažiti. Kako?Rupe se oržavaju što večima kako bi se u njih mogo smjestiti novi program.a)stavljanjem programa u najmanju mogucu rupu u koju taj program može stati i b)spajanjem rupa15. Unatoč tome što se problem fragmentacije prilikom dinamickog dodjeljivanjaspremnika može ublažiti, fragmentacija može postati prevelika. Što treba tada učiniti?Privremeno obustaviti izvođenje retvi i „presložiti“ programe u kompaktni prostor.16. Navesti i dokazati Knuthovo 50% pravilo.Knuthovo pravilo: u stacionarnom stanju ide u spremniku biti broj rupa jednak polovici broja punih

    blokova.

    Knuthovo 50%-tno pravilo objasnjava kako ce broj rupa u memoriji u stacionarnom stanju biti upola

    manji od blokova u memoriji.

    N=m/2 broj rupa u sustavu=50% punih blokova u sustavu

    17. Kako treba podijeliti program (koji u cijelosti ne stane u radni spremnik) uprekloponom nacinu uporabe radnog spremnika?Na jean osnovni io koji se uvijek nalazi u ranom spremniku i na ijelove koji se naizmjeničnosmještaju u preostali io korisničkog ijela fizičkog spremnika. 18. Kako je podijeljen logicki, a kako fizicki adresni prostor u sustavu sa stranicenjem?Logički aresni prostor se zamišljeno ijeli na jenako velike ijelove koje zovemo stranicama, afizički na ijelove koje zovemo okviri.Fizički je manji, onaj stvarni prostor, a logički je ono što programvidi.

    19. O cemu ovisi velicina fizickog i logickog adresnog prostora?Logički aresni prostor ovisi o arhitekturi, a fizički o RAM-u.20. Mogu li stranice logickog adresnog prostora biti smještene u okvire fizickog

    spremnika proizvoljnim redoslijedom?Mogu. Time se izbjegava problem fragmentacije.

    21. Cemu služi tablica prevodenja? Od kojih se elemenata sastoji?Služi za prevođenje logičkog u fizički aresni prostor. Sastoji se o direktorija stranica i tablicastranica. Tablica prevođenja ima vije razine aresa organizirane po stranicama veličine 4 KB. U prvojrazini je jedna stranica s 1024 kazaljki od po 32 bita (direktorij stranica). Kazaljke direktorija pokazuju

    na stranice u kojima je opet smješteno po 1024 riječi o po 32 bita (tablica stranica) 22. U cemu se razlikuju prekidi izazvani zbog promašaja stranice kod stranicenja nazahtjev od ostalih vrsta prekida?Nakon prekia mora se ponoviti instrukcija u kojoj je ošlo o prekida, ne nastavlja se od sljedeæe

    instrukcije.

  • 8/16/2019 Skripta_os i Pitanja

    5/74

    23. Opisati sklopovsku potporu za ostvarenje stranicenja u Intel x86 arhitekturi. Štosadrži i cemu služi TLB (Translation Lookaside Buffer)? Opisati tablicu prevodenja. Gdjese ona nalazi?Intel nema registra povijesti. Stranice se razvrstavaju u dva razreda: one u koje se u prethodnoj

    perioi pisalo i one u koje se nije pisalo. Postoji jean bit pristupa(A) i bit nečistoe(D). Prvo sepokuša izbaciti stranica kojoj je A=0. Inače se izbacuje  čista stranica.TLB je 32 bitni priručni međuspremnik za prevođenje aresa koji nam služi za cjelokupno spremanjefizičke arese i ijela logičke ares, tj. omogucuje nam a ne moramo uzastopno ohvaati fizičkuaresu ako ju trebamo češe.Koliko puta je potrebno pristupiti radnom spremniku ako se stranica ne nalazi u TLBmeduspremniku? 3a koliko ako se nalazi u TLB medusprenmiku?  1

    24. Koju informaciju nosi bit cistoce? Gdje se on nalazi?Označava a li se saržaj stranice mijenjao o njenog prebacivanja u rani spremnik. Ako se mijenjaoko izbacivanja iz ranog spremnika se mora prepisivati na isk, a ako nije ona se samo obriše izradnog spremnika.

    25. Čemu služi posmačni registar povijesti?Za izvedbu LRU strategije. Pri punjenju stranice u neki odvir inicijaliziraju se na 0 njezin bit pristupa i

    posmačni registar. Kaa se pristupi stranici bit pristupa stranice se postavlja u 1. Preki o sataperiodno posmakne sve bitove pristupa u posmačne registre i zatim bit pristipa izbriše. Saržajregistra može se pročitati kao binarni broj. Manji broj pokazuje a se stranicu nije uže vrijemekoristilo. Kada se pojavi potreba za izbacivanjem stranice izbacuje se ona s najmanjim brojem. 

    26. Opisati sljedece strategije za izbacivanje stranica: FIFO, LRU, OPT te satni algoritam.- FIFO (first-in first-out)  – izbacuje se stranica koja je najdulje u radnom spremniku- LRU (least recently used)  – izbacuje se stranica koja se najdulje u proslosti nije upotrebljavala

    OPT (Optimalna strategija)  – izbacuje se stranica koja se najulje u buučnosti nee upotrebljavati- Satni algoritam  – Stranice se svrstavaju u listu po redu prispjeda. Lista se obilazi kružno posebnomkazaljkom (kaa ođe o kraja kazaljka se vraa na početak liste). Kaa se pojavi potreba za praznim

    okvirom izbacit e se stranica na koju pokazuje kazaljka ako je njezina zastavica A u 0, inače e sepreskočiti i pritom promjeniti vrijenost A u 0. Kazaljka se pomiče za jeno mjesto ok ne naiđe nastranicu s A=0.

    27. Opisati strategiju izbacivanja stranica u Intel x86 arhitekturi kada se u obzir uzimajudvije zastavice za oznacavanje stanja stranice.Zastavice koje se koriste su bit pristupa (A) i bit nečistoe (D). Prije se izbacuju stranice u kojima senije pristupalo i koje su čiste. 28. U kojim stanjima se mogu nalaziti pojedini okviri tijekom rada?a) Aktivno stajne  – okvir je dodjeljen jednom od procesa i njegov se redni bro j u tablici prevođenjatog procesa b)Slobodno stanje  – okvir se nalazi u povezanoj listi oslobođenih okvira c)Slobodnostanje s obrisanim saržajem – okvir je spreman za dodjeljivanje

    1. Navesti sadržaj opisnika datoteke.

    a)Naziv datoteke b) vrsta c)Lozinka d)vlasnik e)Prava pristupa f) Vrijeme stvaranja g)Vrijeme

    zadnje uporabe

    2. Gdje su pohranjenia) opis smještaja datoteke - u opisniku datotekeb) opisnik datoteke - na disku u nekom volume-u

    c) datotecna tablica - u opisniku datoteke

    3. Navesti sadržaj datotecne tablice.a) broj sektora po disku b)broj slobodnih sektora c) informacije o slobodnim sektorima d) tablica

    opisnika pohranjenih datoteka

    4. Na koji nacin se može prikazati slobodan prostor na disku.a) bitovni prikaz b) lista slobodnih sektora c) lista nakupina sektora

  • 8/16/2019 Skripta_os i Pitanja

    6/74

    5. Opisati bitovni prikaz slobodnog prostora na disku.U nizu bitova svakom sektoru onosno nakupini sektora pripaa jean bit čija je vrijenost jenaka 1kada je sektor odnosno nakupina zauzeta, inace 0.

    6. Opisati prikaz slobodnog prostora u obliku liste slobodnih blokova.Svaki element liste sadrzi tri lokacije. Prvo je kazaljka na sljedeci slobodan element, drugo adresa

    prvog slobodnog sektora, a trece broj slobodnih sektora.7. Opisati nacin smještaja datoteka u UNIX datotecnim podsustavima (i-node).Opisnik datoteke u UNIXu zove se i-node. Uz pretpostavku da je sektor velik 1KB u jedan sektor se

    može smjestiti 256 kazaljki. U opisniku se nalazi 13 kazaljki i to: a) 10 neposrednih kazaljkib)  1 jednostruko indirektna kazaljka c)1 dvostruko indirektna kazaljka d)1 trostuko indirektna

    kazaljka

    - Prvih eset sektora ohvaa se neposrenim kazaljkama čime se može ohvatiti sve sektoredatoteka manjih od 10KB , 11 kazaljka pokazuje na sektor u kojem se nalazi sljeečih 256 kazaljki (256+ 10)KB , 12 kazaljka pokazuje na sektor u kojem su kazaljke na 256 sektora svaki s 256 kazaljki

    (256*256+256+10)KB , 13 kazaljka pokazuje na trostuko stablo kazaljki

    (256*256*256+256*256+256+10)KB = 16GB

    8. Opisati nacin smještaja datoteka u NTFS datotecnom podsustavu. Što je MFT? Kako sepohranjuju „male“ datoteke?MFT je glavna tablica datoteka Male datoteke mogu se smjestiti unutar MFT.

    NFTS se referira na isk uporabom logičkog broja skupine sektora. Datoteka se dijeli na virtualneskupine.Za smještaj atoteka pronalazi se što više uzastopnih skupina sektora i oijeljuje atoteci,ako takvih nema, oijeljuju se i pojeinačne skupine. 

    ***DODATAK****1. Navesti elemente datotečnog podsustava. Sastoji se od : Datoteke, direktoriji (tablice), funkcije za rukovanje datotekama.

    2. Navesti barem pet osnovnih naredbi operacijskog sustava za rad s datotekama.Stvori direktorij, Unisti dir, Premjesti se , Kopiraj dir, Premjesti , Obrisi

    3. Opisati način evidencije binarnim prikazom o slobodnom prostoru na disku.1011011000111

    1-zauzet sektor (neispravan) 0-slobodan sektor

    4. Navesti tipične datotečne operacije. Stvoriti, Obrisati, Premjestiti , Kopirati , Otvoriti, Zatvoriti , Citati, Pisati

    5.Opisati strategije posluživanja zahtjeva za pristup stazama tvrdog diska. Fcfs, Sstf, Scan, C-scan 

    6.Napisati program u C-u ili u pseudokodu koji pokreće dva procesa. POTROŠAČ: 

    dok je (1) { 

    čekati na poruku; 

    prihvatiti poruku;potrošiti poruku; }

    PROIZVOĐAČ: dok je (1) {

    priozvesti poruku;

    poslati poruku;

    }

    7.Napisati program u C-u ili u pseudokodu koji pokreće dvije dretve. 

    PROIZVOĐAČ:

    dok je (1) {priozvesti poruku P;

  • 8/16/2019 Skripta_os i Pitanja

    7/74

      MS[UL]=P;

    UL=UL+1;

    }

    POTROŠAČ: 

    dok je (1) {pričekati a bue ispunjen uvjet UL>IZ; R=MS[IZ];

    IZ=IZ+1;

    potrošiti poruku R; }

    9. Na koji način dretve istog procesa najlakše komuniciraju?

    Preko zajednièkog prostora, tj.globalnih varijabli. 

    10. Koji su mehanizmi za komunikaciju izmeðu dretvi razlièitih procesa?Semafori,dijeljena memorija,red poruka,cjevovod,datoteke.

    11. Komunikacija izmeðu dretvi može se obaviti preko meðuspremnika ogranièeneduljine. Koliko semafora je potrebno za komunikaciju izmeðu više dretvi proizvoðaèa iviše dretvi potrošaèa?Potrebna su 4(2 OS,2 BSEM).

    12. Kojim jezgrinim mehanizmom moraju biti zaštiæene korisnièke monitorske funkcije?Monitorskim semaforom(koji je zapravo BSEM).

    1.Navesti najjednostavniji način međusobnog isključivanja više dretvi najednoprocesorskom računalu?Prekidima. Kada dretva želi uci u K.O. ona zabrani prekide, i na izlasku iz K.O. ih ponovno omogudi. 

    2.Osnovni skup registara procesora: Aresni međuregistar, Poatkovni međuregistar,Instrukcijski registar, Programsko brojilo (PC), Registar kazaljke stoga (SP), Registar stanja (SR),

    Registri opce namjene (R). 3.Strukture podataka Dekkerovog algoritma: varijable ZASTAVICA[I], ZASTAVICA [J] i PRAVO.

    4.Lamportov algoritam sluzi za  medjusobno iskljucivanje za n dretvi.

    5.Koji je najveci zajednicki nedostatak algoritmima medusobnog iskljucivanja (Dekkerov,Petersonov, Lamportov te algoritmima ostvarenim uz pomoc sklopovske potpore).Dretve koje žele ui u K.O. izvoe rano čekanje. Time beskorisno troše vrijeme svojih procesora isabirničke cikluse. 6.Za sinkronizaciju Jednog proizvodaca i vise potrosaca koji razmjenjuju poruku prekoogranicenog meduspremnika potrebno je 1 binarnih i 2 opcih semafora7.Navesti nedjeljive instrukcije procesora koje služe kao sklopovska potpora

    medusobnom iskljucivanju.tas, swap, fetch and add.

    8.Sadržaj opisnika dretve: a) Kazaljka ili više njih za premještanje iz liste u listu b) Identifikacijski broj procesa kojoj dretvapripada c) ID dretve d) Stanje dretve e) Prioritet f) početna aresa retvenog aresnog prostora,g) veličina dretvenog adresnog prostora h)  adresa prve instrukcije dretve i) zadano kašnjenje  j) prostor za smještanje konteksta. 9.Koje su vrste prekida? a) sklopovski prekid od ulazno-izlazne naprave b) programski prekidi koje izazivaju dretve c) 

    perioični sklopovski prekii o sata. 10.Vanjska fragmentacija:Tijekom rada se može dogoditi da svi procesi čiji su programi smješteni u istu particiju bivaju

     blokirani pa ta particija radnog spremnika osta je prazna. Pritom može postojati više procesa čiji

  • 8/16/2019 Skripta_os i Pitanja

    8/74

     programi čekaju na dodjelu radnog spremnika, ali oni ne mogu biti napunjeni u radni spremnik jer nisu

     pripremljeni za tu particiju.

    11.Što se zbiva kad jezgrina funkcija zavrsi ?zbiva se kada jezgrina funkcija završi, svodi se na aktiviranje jedne od dretvi (aktivira prvu dretvu izreda pripravnih dretvi), a događa se sljdeće: premjestiti prvi opisnik iz reda pripradne_D u redaktivna_D, obnoviti kontekst opisnika aktivna_D, omogućiti prekidanje. 

    12.Navesti sadržaj opisnika dretve:Kazaljka ili više njih za premještanje iz liste (reda) u listu(red), Identifikacijski broj procesa kojojdretva pripada (PID), Identifikacijski broj dretve (ID), Stanje dretve (pasivna, aktivna, blokirana, pripravna), Prioritet (mjesto gdje je zapisan prioritet), početna adresa dretvenog adresnog prostora,veličina dretvenog adresnog prostora, adresa prve instrukcije dretve, zadano kašnjenje, prostor zasmještanje konteksta (u kojem se nalazi programsko brojilo). 

    13.Sto je opci semafor ?To je brojač koji se smanjuje za jean kaa se zahtijeva semafor, a povedava se za jean kaa seoslobađa i ima beskonačan broj stanja 14.Što je satni mehanizam?  Inačica LRU 15. Opisati kružno raspoređivanje dretvi ? 

    Svaka dretva svoj rad obavlja oređeni io vremena. Ka jenoj istekne vrijeme ona ruga obavljasvoje i tako stalno ok retve ne završe sa poslom. 16.U čemu se razlikuju prekidi izazvani promašajem kod straničenja od ostalih vrstaprekida?Svi ostali prekidi se ispituju nakon instrukcije, a ovaj za vrijeme instrukcije, te se u ovom instrukcija

    mora ponoviti.

    17.Na koji način se uzima u obzir prioritet kod kružnog raspoređivanja? Najveda retva obije više vremena za ra. 

    - Koliko je semafora potrebo za sinkronizaciju 'prebrojimo strijelice' a 0 je pocetna vrijesnost

    - Procesni inforamcijski blok se nalaze informacije o gospodarenju spremnickim prostorom

    - Za izbjegavnje potpunog zastoja otklanja se zadnji uvjet (dok traži dodatna sredstva dretva drži

    dodijeljena) 

  • 8/16/2019 Skripta_os i Pitanja

    9/74

     1

    OPERACIJSKI SUSTAVI PITANJA ZA VJEŽBU – 1. CIKLUS

    (by kate)

    1. Uvod

    1. Što je Operacijski sustav?Skup programa koji omoguavaju izvođenje osnovnih operacija na računalu – potpora raznovrsnim primjenskimrogramima.

    2. Navesti osnovne dijelove operacijskog sustava.

      Upravljanje atotečnim sustavom

      upravljanje spremnikom (memorijom)

      upravljanje U/I uređajima

      API (Application programming interface)

      GUI (Graphical user interface)

      procesi i retve (komunikacija, sinkronizacija i raspoređivač poslova), mrežni i sigurnosni posustav.

    3. Program čiji je izvorni kod u datoteci lab5.c, kompajlira se sa: __________gcc lab5.c_________, a

    pokrece sa ___./a.out________ .

    4. Ako program iznenada završi s porukom “Segmentation Fault” što treba razmatrati priispravljanju greške?Pogreska kod inicijalizacije polja, pointera ili varijabli (neinicijailzacija ili adresirano izvan adresnog prostora).

    5. Što je to sučelje? Što je to API (tko ga nudi, tko koristi)?Sučelje je utvrđeni način komunikacije (čvrsto ogovoreni način uspostavljanja veze između vije inače nerazvojnecjeline; npr. Komunikacija između korisnika i operacijskog sustava). API ( Application Programming Interface) sufunkcije pripremljene unutar operacijskog sustava koje su ohvatljive sučelju prema primjenskim programima.Koriste ga programeri primjenskih programa.

    2. Model jednostavnog računala

    6. Čime su odreĎena svojstva i ponašanje procesora?Skupom registara (služe za pohranjivanje svih saržaja koji ulaze i izlaze iz procesora i u njemu se transformiraju) iskupom instrukcija (oređen izvebom ALU i upravljačke jedinice procesora).

    7. Navesti osnovni skup registara procesora.

      Aresni međuregistar 

      Poatkovni međuregistar

      Instrukcijski registar

      Programsko brojilo (PC)

      Registar kazaljke stoga (SP)

      Registar stanja (SR)

      Registri opde namjene (R)

    8. Što je t o sabirnički ciklus?

    Perio u kojem se obavlja jeno čitanje ili pisanje u rani spremnik.

  • 8/16/2019 Skripta_os i Pitanja

    10/74

     2

    9. U pseudokodu napisati što procesor trajno radi? ponavljati {

    ohvatiti iz spremnika instrukciju na koju pokazuje programsko brojilo;

    dekodirati instrukciju, oreiti operaciju koju treba izvesti;

     povečaj saržaj programskog brojila tako a pokazuje na sljeeu instrukciju;

    oreiti oakle olaze operani i kua se pohranjuje rezultat;

    operane ovesti na aritmetičko-logičku jeinicu, izvesti zaanu operaciju;

     pohraniti rezultat u oreište;

     } ok je (procesor uključen);

    10. Što je kontekst dretve?Saržaj trenutne retve pohranjen u registrima procesora; svi registri osim programskog brojila.

    11. Što se zbiva pri izvoĎenju instrukcije za poziv potprograma?Ponavljati {

    Iz spremnika dohvatiti instrukciju na koju pokazuje programsko brojilo;

    Dekodirati instrukciju, odrediti operaciju koja se treba izvest;

    Povečati programsko broji lo, da pokazuje na sljededu instrukciju;

     Ako je (dekodirana instrukcija poziv potprograma) {

    Pohraniti saržaj programskog brojila na stog;Smanjiti saržaj registra SP, tako a pokazuje na sljeee prazno mjesto;

    Iz adresnog dijela instrukcije odredit i aresu početka potprograma;

    Staviti adresu u programsko brojilo;

     } Inače

    Obaviti instrukciju na način oređen ekoiranim operacijskim koom;

     } Dok je (procesor uključen);

    12. Definirati osnovno pojmove: program, proces, dretva.

    Program – statični niz instrukcija, pohranjen na papiru, isketi, memoriji it.Dretva – niz instrukcija koje se izvode i kontroliraju proces.

    Proces – program u izvođenju; skup računalnih resursa koji omoguuju izvođenje programa; okolina u kojoj seprogram izvoi; sve što je potrebno za izvođenje programa; sastoji se o:

      barem jedne dretve

      zajeničkog aresnog prostora

      adresnog prostora rezerviranog za svaku pojedinu dretvu

      stog, kazaljke stoga, opisnici datoteka, opisnici cjevovoda, redovi poruka, semafori, uvjetne varijable,

    zaključavanja.

    13. Kako je moguć višeprogramski rad na jednoprocesorskom računalu?Tako a se svaka retva izvoi naizmjence pa obijemo privi istovremenosti. Ključna je pravilna izmjena konteksta

    dretve.

    3. Obavljanje UI operacija, prekidni rad

    14. Skicirati način spajanja UI naprave na sabirnicu. (03-04) 

  • 8/16/2019 Skripta_os i Pitanja

    11/74

     3

    15. Što je radno čekanje?Režim raa procesora u kojem procesor čeka na oređeni ogađaj u programu (npr. pojava zastavice) i troši vrijemeok se taj ogađaj ne dogodi.

    16. Skicirati signale dvožičnog rukovanja.

    Poatak se upisuje kaa je zastavica u niskoj razini, nakon upisivanja se ona poiže i taa se aktivira čitanje PR kojepo svom završetku spušta zastavicu i omogučuje novo čitanje. S obzirom a se signali na va voiča ("žice")

    naizmjence poižu i spuštaju taj je protokol nazvan vožičnim rukovanjem (engl. Twowire hanshaking).

    17. Što se zbiva kada se dogodi prekid?Pojava prekinog signala prebacuje procesor u tzv. sustavski (jezgreni) način raa

    1. 

    zabranjuje prekidanje

    2.  prebacuje adresiranje u sustavski adresni prostor

    3. 

    aktivira sustavsku kazaljku stoga

    4. 

    pohranjuje programsko brojilo na sustavski stog

    5.  u programsko brojilo stavlja adresu potprograma za obradu prekida

    U prekidnom potprogramu:

    1. 

    pohraniti kontekst2.

     

    posluživanje prekia3.  obnavlja kontekst

    4. 

    omogudi prekidanje

    5.  vrati se iz prekinog načina raa (vračanje programskog brojila sa stoga, prebacivanje aresiranja u korisničkiaresni prostor, aktiviranje korisničkog registra kazaljke stoga)

    18. Kako treba nadopuniti ponašanje procesora da on omogučuje prekidni rad bez sklopa zaprihvat prekida?

    Pojavio se prekidni signal, zabranjeno je prekidanje, i programsko brojilo nalazi se na sustavskom stogu;

    {

    Pohrani kontekst;Ustanovi uzrok prekida, odnosno odredi indeks prekida i;

     Ako je (1 < < ) {Postavi oznaku čekanja K_Z[i]=1 ;

    Poništi zastavicu u registru stanja prekia i;

    Dok je ( ( _[ ] ! = 0)⋀(  > _)){Oabrati najved i j;

    K_Z[j] = 0;

    Pohraniti kontekst sa sustavskog stoga i T_P u KON[j];

    T_P = j;

    Omogud i prekidanje;

    Prij eđi u korisnički način raa;Pozovi potprogram za obradu prekida j;

  • 8/16/2019 Skripta_os i Pitanja

    12/74

     4

     Zabrani prekidanje;

    Prij eđi u sustavski način raa;

    Vrati saržaj iz KON*j+ na sustavski stog i u varijablu T_P;

     }

     }

    Obnovi kontekst sa sustavskog stoga;

    Omogud i prekidanje;

    Vrati se iz prekinog načina raa;

     }

    19. Pojasniti instrukcije „pohraniti kontekst“ i „vratiti se iz prekidnog načina“?Pohraniti kontekst – stavlja na sustavski stog saržaje svih registara osim programskog brojilaVratiti se iz prekidnog nacina – vrača programsko brojilo sa stoga, prebacuje aresiranje u korisnički aresni prostor,aktivira korisnicki registar kazaljke stoga

    20. Što treba načiniti na početku svakog podprograma za obradu prekida?Pohraniti kontekst

    21. Zašto se programsko brojilo tretira zasebno prilikom pohrane konteksta?

    Procesor se prebacuje na rutinu za obrau prekia tako a promijeni PC na aresu te rutine. Što znači a ta rutina nemože pohraniti PC (jer je ve "uništen") ve to mora učiniti procesor. Također, vraanje PCa pokrede prekinutudretvu!

    22. Što se zbiva kada obrada nekog prekida završi?Obnavlja se kontekst sa s sustavskog stoga;

    omogučuje se prekian je (odgodjeno do upisa nove vrijednosti u PC);

    prebacuje se aresiranje u korisnički prostor;

    vrača se iz prekinog načina raa; 

    23. Koje strukture podataka treba sadržavati operacijski sustav koji omogućuje prihvatprekida razlicitih prioriteta?

    Varijablu T_P (tekudi prioritet) – broj tekudeg prioriteta dretve koja se upravo izvodiPolje KON[n] (polje za kontekst) – pohranjuje se kontekst dretve i T_PPolje K_Z[n] (kontrolna zastavica) – polje u kojem su zapisani prekii koji čekaju na obrau (1-stigao prekid, 0-nije)

    24. Opisati sklop za prihvat prekida (3-52).

    Sastoji se od sklopa za prepoznavanje prioriteta, tablice adresa i dva registra: K_Z i T_P. Iz njega izlazi signal PREKID, a

    ulazi signal PRIHVAT U K_Z se upisuje jeinica kaa pripani pristupni sklop zatraži preki. U T_P se zapisuje prioritetdretve koju procesor upravo izvoi, jeinicom u ogovarajuem bitu registra. Saržaj ta va registra ovoe se nasklop za prepoznavanje prioriteta. Taj sklop propusta prekid prema procesoru samo onda kada je prioritet zahtjeva

    vei o onog zabilježenog u registru T_P. Istoobno s propuštanjem prekinog signala prema procesoru mora seobrisati bit u registru K_Z. Tablica aresa sarži arese (ili pomaknua za oređene arese) na kojima počinjeprekini program koji je propušten prema procesoru. Saržaj tablice se po utjecajem signala PRIHVAT prenosi nasabirnicu oakle ga procesor može ohvatiti i neposreno oblikovati aresu na koju treba skočiti. 

    25. Kako treba nodopuniti ponašanje procesora da on omogucuje prekidni rad sa sklopom zaprihvat prekida?

     Ako je (prekidni signal postavljen){

     Zabraniti prekidanje;

    Prebaciti adresiranje u sustavski adresni prostor i aktivirati sustavsku kazaljku stoga;

    Postaviti signal PRIHVAT;

    Pohraniti programsko brojilo i sve ostale registre na sustavski stog;

  • 8/16/2019 Skripta_os i Pitanja

    13/74

     5

    Sa sabirnice preuzeti sadrzaj i iz njega odrediti adresu prekidnog podprograma;

    Staviti tu adresu u programsko brojilo;

     }

    26. Navesti koje sve radnje mogu generirati prekide unutar procesora.

    Pokusaj djeljenja s nulom, adresiranje nepostojece lokacije u adresnom prostoru, dekodiranje nepostojece

    instrukcije i sl.

    27. U kojem slučaju će se dogoditi „poziv jezgre“, odnosno „ulazak u jezgru“ i što se tada poziva?Događaju se ka se ogoi preki. Pozivaju se neke vrste potprograma koje se izvoe u jezgrenom (sustavskom)nacinu rada (jezgrine funkcije).

    28. Navesti osnovne registre prisrupnog sklopa za neposredni pristup spremniku  (DMA).Adresni registar (AR) - sprema se početna aresa bloka koji se želi prenesti Brojač (BR) - sprema se broj znakova kojise prenose Registar stanja (RS) - daje procesoru zahtjev za prekid podatkovni registar (PR) - spremaju se podaci koji

    se prenose

    29. U pseudokodu napisati programski odsjecak koji obavlja sklop za neposredni pristup

    spremniku.Dok je (BR>0) {

     Zatraziti sabirnicu;

    Cekati na dodjelu sabirnice;

    Postaviti na adresni dio sabirnice sadrzaj registra AR;

    Prenjeti na tu aresu saržaj poatkovnog registra PR (ili obrnuto); 

     AR++ ;

    BR-- ;

     }

    Postaviti signal PREKID;

    30. Opisati cvrsto povezani višeprocesorski sustav. (slika 03-83) Sustav se sastoji od N procesora od kojih svaki ima svoj lokalni spremnik u ko ji samo on može pristupiti. Osim toga,

    svaki procesor može pristupiti o jenog zajenidkog djeljenog spremnika preko zajeničke sabirnice. U jenom

    sabirničkom ciklusu o spremnika može pristupiti samo jedan od procesora. Da bi odredili koji procesor može

    pristupiti spremniku imamo posebni sklopovski dodjeljivad sabirnice. Procesor I koji žeil pristup do djeljenog

    spremnika postavlja signal trazenja sabirnice T[I] dod jeljivacu sabirnice. Dojeljivad na početku svog spremničkog

    ciklusa olučuje kojem de procesoru dodjeliti sabirnicu. U jenom spremničkom ciklusu  ojeljivad de samo jednom

    procesoru dodjeliti sabirnicu, odnosno dodjeliti mu D[I]. Ako neki procesor postavi svoj zahtjev za dodjelu sabirnice

    on de u svom izvođenju zastati dok mu se sabirnica ne dodjeli. Dodjeljivac sabirnice ojeljuje sabirnicu ciklički.

    4. MeĎusobno isključivanje u višedretvenim sustavima

    31. Što je zajedničko procesu roditelju i procesu djetetu? Koje računalne resurse dijele dretveistog procesa?

    Roditejlu i djetetu nista nije zajeničko. Proces dijete je kopija procesa roditelj, s toga ono ima iste instrukcije ipodatke, ali svaki proces ima svoj adresni prostor i ne mogu jedno drugom adresirat varijable. Dretve istog procesa

    ijele sve računalne resurse.

    32. Kako je podijeljen spremnicki prostor procesa, a kako dretveni spremnicki podprostor?

    Procesni prostor: više dretvenih prostora i zajenički prostor (koji mogu dohvadati sve dretve procesa – globalne

    varijable).

  • 8/16/2019 Skripta_os i Pitanja

    14/74

     6

    Dretveni prostor: dio za instrukcije dretve, dio za stog dretve i dio za lokalne podatke dretve

    33. Navesti uvjet nezavisnosti dretvi.

    (  ∩   ) ∪   ∩ ∪ ∩   = 0 

    34. Navesti uvjete koje mora zadovoljavati algoritam medusobnog iskljucivanja dretvi.

      Dretve se ovijaju međusobno isključivo (vije retve ne smiju obavljati K.O.)

      Algoritam mora funkcionirati i ona kaa su brzine izvođenja retvi različite

     

    Ako neka retva zastane u N.K.O. to ne smije spriječiti rugu retvu a uđe u K.O.

      Izbor koja retva e ui u K.O. mora se zbiti u konačnom vremenu.

    35. Za zadani algoritam medusobnog isključivanja ustanoviti je li ispravan. Obrazložitiodgovor.

    Dretva I{

    dok je (1){

    dok je (ZASTAVICA[J] != 0);

    ZASTAVICA[I] = 1;

    kriticni odsjecak;

    ZASTAVICA[I] = 0;

    nekriticni odsjecak;

    }

    }

    Nije ispravan. Dretva je u K.O. kada joj je zastavica postavljena u 1. Kada dretva Di krece u svoj K.O. retva Dj de istobiti u K.O. jer de Di udi u petlju tek kada je zastavica od Dj=1 sto znaci da Dj u K.O. S druge strane, ako Dj nije u K.O.Ditakođer nece uci u njega.

    36. Čemu služi Dekkerov, a čemu Lamportov algoritam? Koje strukture podataka koriste?Dekkerov algoritam – algoritam medjusobnog iskljucivanja za dvije dretve

    Strukture podataka: varijable ZASTAVICA[I], ZASTAVICA [J] i PRAVO

    Lamportov algoritem – algoritam medjusobnog iskljucivanja za n dretviStrukture podataka: polje zastavica (koje govori koja dretva pokušava ući) ULAZ[I], polje brojeva dretvi

    BROJ[J] ivarijabla zadnjeg broja ZADNJI_BROJ.

    37. Navesti Dekkerov/Lamportov algoritam. (04-51) i (04-63) 

    38. Usporediti Petersonov i Dekkerov algoritam.

    Kod Petersona se za razliku od Dekkera pravo dodjeljuje na početku, jenostavnije je rano čekanje, ako je nekaretva brža prije ulazi u kritični osječak.

    39. Navesti najjednostavniji način meĎusobnog isključivanja više dretvi najednoprocesorskom računalu?

    Prekiima. Kaa retva želi uci u K.O. ona zabrani prekide, i na izlasku iz K.O. ih ponovno omogudi.

    40. Navesti nedjeljive instrukcije procesora koje služe kao sklopovska potpora medusobnomiskljucivanju.TAS (ispitati i postaviti) - u prvom ciklusu obave saržaj aresirane lokacije i smjeste ga u jedan od registaraprocesora, a u drugom ciklusu pohranjuju u tu lokaciju vrijednost 1

    swap (zamjeni)- u prvom ciklusu obave saržaj aresirane lokacije i smjeste ga u jean o registara procesora, a udrugom ciklusu pohranjuju u tu lokaciju vrijednost koja je prije toga bila pohranjena u tom ili drugom registru

    fetch-and-add - u prvom ciklusu obave saržaj aresirane lokacije i smjeste ga u jean o registar procesora, a u

    rugom ciklusu pohranjuju na tu lokaciju taj saržaj uvean za jean

  • 8/16/2019 Skripta_os i Pitanja

    15/74

     7

    41. U pseudokodu riješiti problem medusobnog iskljucivanja više dretvi uz pomoc nedjeljiveinstrukcije TAS/SWAP/FATCH_AND_ADD. Koja je prednost tih rješenja u odnosu na Lamportovalgoritam medusobnog iskljucivanja?dok je (1) {

    TAS ZASTAVICA;

    dok je (ZASTAVICA !=0) {

    TAS ZASTAVICA;

     }

    kritični osječak;

     ZASTAVICA = 0;

    nekritični oječak;

     }

    Rješenja sa nejeljivim instrukcijama su jenostavnija, krača i zahtjevaju manje varijabli, pa se zbog toga brže izvoe izauzimaju manje memorije.

    42. Koji je najveci zajednicki nedostatak algoritmima medusobnog iskljucivanja (Dekkerov,

    Petersonov, Lamportov te algoritmima ostvarenim uz pomoc sklopovske potpore).

    Dretve koje žele ui u K.O. izvoe rano čekanje. Time beskorisno troše vrijeme svojih procesora i sabirničke cikluse.

    5. Jezgra operacijskog sustava

    43. Što predstavlja pojam „ulazak u jezgru“ i kada se zbiva?Pojam predstavlja poziv jezgrine funkcije i zbiva se prekidom.

    44. Na što se svodi „izlazak iz jezgre“?Na aktiviranje jedne od retvi, pri čemu procesor mora biti vračen u korisnički način raa.

    45. Navesti izvore prekida u jednostavnom modelu jezgre.

      ulazno-izlazne naprave (sklopovski prekid)

     

    sat

      dretve (programski prekid)

    46. Od cega se sastoji jezgra operacijskog sustava?

      Strukture podataka jezgre

      Jezgrenih funkcija

    47. Navesti sadržaj opisnika dretve.  Kazaljka ili više njih za premještanje iz liste (rea) u listu(re)

      Identifikacijski broj procesa kojoj dretva pripada (PID)

      Identifikacijski broj dretve (ID)

     

    Stanje dretve (pasivna, aktivna, blokirana, pripravna)

      Prioritet (mjesto gdje je zapisan prioritet)

      početna aresa retvenog aresnog prostora

      veličina retvenog aresnog prostora

      adresa prve instrukcije dretve

      zaano kašnjenje

      prostor za smještanje konteksta (u kojem se nalazi programsko brojilo)

    48. Navesti strukture podataka jezgre.

      Liste:

    1. 

    Pasivne_D – kada se dretva nalazi na samo jednoj listi (postojece_D), onda je u pasivnom stanju2.  Aktivna_D – retve koje se izvoe; broj članova u toj listi jenak je broju procesora.

  • 8/16/2019 Skripta_os i Pitanja

    16/74

     8

    3. 

    Pripravne_D – ako se ne izvoe, a spremne su. Prema načinu formiranja re može biti – po reu prispjeda

    ili prioritetni

    4.  Red BSEM[i] – dretve koje cekaju na binarnom semaforu

    5.  Red OSEM[j] – retve koje cekaju na opčem semaforu

    6.  Re ogođen1_D – zaano kašnjenje retve

    7. 

    Red UI[k] – ima ih koliko ima U/I naprava

      Opisnici dretvi

    49. Koja su blokirana stanja dretvi?

      Čekanje na binarnom seamforu

      Čekanje na opdem semaforu

      Čekanje na istek zaanog intervala kašnjenja (ogođene retve)

      Čekanje na završetak U/I operacije.

    50. Skicirati graf mogucih stanja dretvi.(05-35)

    51. Što obavlja instrukcija „aktivirati prvu dretvu iz reda Pripravne_D“?

    Premjestiti prvi opisnik iz reda Pripravne_D u red Aktivne_D;Obnoviti kontekst iz opisnika Aktivna_D;

    Omogučiti prekianje;

    Vratiti se iz prekinog načina;

    52. Što obavlja instrukcija „vratiti se iz prekidnog nacina“?Vrača u procesor saržaj programskog brojila i prevoi procesor iz sustavskog u korisnički način raa.

    53. Cemu služe jegrini mehanizmi binarni i opci semafor?Za međusobno iskljucivanje, onosno sinkronizaciju retvi.

    54. Koje strukture podataka koriste BSEM, OS i OSEM?

    Varijablu sa stanjem semafora i kazaljku na listu dretvi koje cekaju na semafor.

    BSEM koristi varijablu Bsem[I].v i kazaljku. OS koristi varijablu OS.v i kazaljku. OSEM koristi varijablu Osem[J].v i

    kazaljku.

    55. U pseudokodu napisati jezgrine funkcije Cekaj_BSEM, Postavi_BSEM, Cekaj_OS, Postavi_OS,Cekaj_OSEM i Postavi_OSEM. (05-41), (05-42), (05-60), (05-61), (05-66), (05-67) 

    56. Opisati nacin umetanja opisnika dretve u listu Zakašnjele_D. Koja vrijednost se upisuje upolje Zadano_kašnjenje u opisniku dretve?Lista Zakašnjele_D je složena prema vremenima kašnjenja. Prva retva u listi ima najmanje vrijeme spavanja, okzanja ima najulje. U polje Zaano_kašnjenje prvog opisnika upisuje se apsolutna virjenost zaanog kašnjenja, a uostale opisnike samo oatno ogađanje u onosu na prethonu retvu.

    57. Koje vrste prekida uzrokuju jezgrine funkcije Zapoceti_UI i Prekid_UI u jednostavnom

    modelu jezgre?

    Zapoceti_UI je programski prekid, a Prekid_UI je sklopovski.

    58. Može li se prekinuti dretva koja obavlja neku jezgrinu funkciju?Ne, jezgrina funkcija ne može biti prekinuta.

  • 8/16/2019 Skripta_os i Pitanja

    17/74

     9

    59. Na koji način se jezgrine funkcije obavljaju medusobno iskljucivo na jednoprocesorskomracunalu, a kako na višeprocesorskom racunalu?Međusobno isključivanje na jenoprocesorskom računalu ostvaruje se prekiima. Na višeprocesorskom računalu

    struktura podataka jezgre se mora nalaziti u dijeljenom spremniku. Za sinkronizaciju pristupa strukturama podataka

     jezgre koristi se zastavica OGRADA_JEZGRE, a međusobno isključivanje se ostvaruje ranim čekanjem.

  • 8/16/2019 Skripta_os i Pitanja

    18/74

     10

    PITANJA ZA VJEŽBU – 2. CIKLUS

    6. Međudretvena komunikacija i koncepcija monitora 

    60. Sinkronizirati proizvodaca i potrošaca korištenjem brojackog semafora.

    Proizvođač: dok je(1){

     proizvesti poruku P;

    Ispitati_Osem(2);

    MS[UL]=P;

    UL=(UL+1)%N;

    Postavi_Osem(1);

     }

    Potrošač: dok je(1){

    Ispitati_Osem(1);

    R=MS[IZ]; 

    IZ=(IZ+1)%N;

    Postavi_Osem(2);

    Potrošiti poruku R; 

     } 

    Objašnjene varijabli: 

    MS=međuspremnik UL, IZ=kazaljke za kretanje po međuspremniku 

    P, R=poruka

    N=veličina međuspremnika 

    61. Sinkronizirati više proizvođaća i više potrošaca uz pomoć binarnih i brojackih semafora.Proizvođač: 

    Dok je (1){

    Proizvesti poruku P;

    Ispitati_Osem(S);

    Ispitati_Bsem(P);Dobaviti pretinac sa stoga SKLADISTE;

    Postaviti P u pretinac i uvrstiti ga u

    Red_Poruka[i];

    Postaviti_Bsem[P];

    Postaviti_Osem(i);

     }

    Potrošač: 

    Dok je (1){

    Ispitati_Osem(i);

    Ispitati_Bsem(K);

    Preuzeti poruku R iz prvog spremnika uRed_Poruka[i];

    Vratiti ispažnjeni pretinac na stog SKLADISTE; 

    Postaviti_Bsem[K];

    Postaviti_Osem(S);

    Potrošiti poruku R; 

     }

    62. Sinkronizirati rad dviju dretvi tako da se one obavljaju naizmjenicno.

    Dretva Di:

    dok je (1){ 

    Ispitati_Osem (i);

    nešto raiti; 

    Postaviti_Osem(j);

    }

    Dretva Dj:

    dok je (1){

    Ispitati_Osem (j);

    nešto raditi;

    Postaviti_Osem(i);

    }

     jedan OSEM je inicijalno postavljen na 0, a drugi na 1; Dretva u kojoj je OSEM postavljen u 1 ce prva poceti izvođenje. 

    63. Što je potpuni zastoj? Potpuni zastoj je stanje sustava u kojem su sve dretve blokirane u nekom redu uvjeta.

  • 8/16/2019 Skripta_os i Pitanja

    19/74

     11

    64. Navesti nužne uvjete za nastajanje potpunog zastoja.   srestva se koriste međusobno isključivo (neko srestvno u istom času može upotrebljavati samo jena o

    dretvi)

      retvi se srestvo ne može ouzeti – ona ga otpusta sama kada ga vise ne treba

      ok traži oatna srestva retva rži oijeljena

      barem 2 retve se natječu za barem 2 srestva 

    65. Što je monitor? Monitor je jezgrin mehanizam za sinkronizaciju.

    66. Navesti jezgrine strukture podataka koje se koriste za ostvarenje monitora.

      monitorski semafor

      redovi uvijeta

    67. Navesti jezgrine funkcije za ostvarenje monitora.

      udi_u_monitor(M), 

     

    izadi_iz_monitora(M),  uvrstiti_u_red_uvjeta(M,K),

      osloboditi_iz_reda_uvjeta(M,K)

    68. Kada se može dogoditi da se dvije dretve nadu u monitoru?Jedna dretva je upravo deblokirana iz reda uvjeta, a druga koja je tu retvu eblokirala, a još nije završila izvođenje i

    izašla iz monitora.

    69. U pseudokodu napisati jezgrine funkcije za ostvarenje monitora: Uci_u_monitor,

    Izaci_iz_monitora, Uvrstiti_u_red_uvjeta i Osloboditi_iz_reda_uvjeta.

    Uci_u_monitor(M){

    Pohraniti kontekst u opisnik Aktivna_D;

    Ako je (Monitor[M].v==1) {

    Monitor[M].v=0;

    Obnoviti kontekst iz opisnika Aktivna_D;

    Omoguditi prekianje; 

    Vratiti se iz prekinog načina raa; 

    }

    Inače {

    Premjestiti opisnik iz reda Aktivna_D u red Monitor[M];Aktivirati prvu dretvu iz reda Pripravne_D;

    }

    }

    Izaci_iz_monitora(M){

    Pohraniti kontekst u opisnik Aktivna_D;

    Premjestiti opisnik iz reda Aktivna_D u red Pripravne_D;

    Ako je ((Monitor[M].v==0) && (red Monitor[M] neprazan)) {

    Premjesti prvi opisnik iz reda Monitor[M] u red Pripravne_D;

  • 8/16/2019 Skripta_os i Pitanja

    20/74

     12

    }

    Inače 

    Monitor[M].v=1;

    Aktivirati prvu dretvu iz reda Pripravne_D;

    }

    Uvrstiti_u_red_uvjeta(M,K){

    Pohraniti kontekst u opisnik Aktivna_D;

    Premjestiti opisnik iz reda Aktivna_D u Red_uvjeta[M,K];

    Ako je ((Monitor[M].v==0) && (red Monitor[M] neprazan)) {

    Premjesti prvi opisnik iz reda Monitor[M] u red Pripravne_D;

    }

    Inače 

    Monitor[M].v=1;

    Aktivirati prvu dretvu iz reda Pripravne_D;

    }

    Osloboditi_iz_reda_uvjeta(M,K){

    Pohraniti kontekst u opisnik Aktivna_D;

    Premjestiti opisnik iz reda Aktivna_D u red Pripravne_D;

    Ako je (Red_uvjeta[M,K] neprazan) {

    Premjesti prvi opisnik iz reda Red_uvjeta[M,K] u red Pripravne_D;

    }

    Ako je ((Monitor[M].v==0) && (red Monitor[M] neprazan)) {

    Premjesti prvi opisnik iz reda Monitor[M] u red Pripravne_D;

    }

    Inače Monitor[M].v=1;

    Aktivirati prvu dretvu iz reda Pripravne_D;

    }

    70. Kojim jezgrinim mehanizmom moraju biti zašticene korisnicke monitorske funkcije? Monitorskim semaforima

    71. U cemu se razlikuje monitorski semafor od binarnog semafora?

    Binarni semafor koristi samo vije funkcije, a monitorski četiri

    7. Analiza vremenskih svojstava racunalnih sustava.

    72. Objasniti parametre sustava i njihov odnos:

    ρ - iskoristivost ρ = α/β 

    α - broj poslova koji u jedinicnom vremenu ulaze u sustav

    1/α – prosjecno vrijeme izmedju 2 posla

    β -broj poslova koje poslužitelj može obaviti u jeinici vremena 

    1/β – prosjecno trajanje posluživanja n - prosjecni broj poslova u sustavu n = α T = ρ/(1-ρ) = α/(β- α) 

  • 8/16/2019 Skripta_os i Pitanja

    21/74

     13

    T -prosjecno zaržavanje posla u sustavu T = 1/(β- α) 

    pi = (1-ρ)ρi - vjerojatnost da u sustavu imamo i poslova

    p(i>N) = ρN+1 

    α = α1 + α2 + ... 

    ρ = ρ1 + ρ2 + ... 

    1/β = α1 /α * 1/β1 + α2 /α * 1/β2 + ... 

    73. Navesti Littleovo pravilo. n = α T 

    74. Skicirati Markovljev lanac gdje stanja predstavljaju broj poslova u sustavu. Sustav neka ima

    Poissonovu razdiobu dolazaka s parametrom i eksponencijalnu razdiobu trajanja obrade s

    parametrom 1/. (07-49)

    76. U kojem slucaju se može dozvoliti veliki faktor iskorištenja (cak i 1)?U eterminističkom slučaju. U stohastičkom slučaju faktor iskorištenja je strogo manji o 1 (

  • 8/16/2019 Skripta_os i Pitanja

    22/74

     14

    PITANJA ZA VJEŽBU – 3. CIKLUS

    8. Gospodarenje spremnickim prostorom

    78. Gdje se generiraju adrese unutar procesora?

    Programsko brojilo  adrese instrukcija

    Registar kazaljke stoga stogovne adrese

    Saržaj aresnih ijelova instrukcija adrese podataka

    79. Kako je podijeljen procesni adresni prostor?

    Dretveni prostori + zajenički prostor 

    80. Opisati organizaciju smještaja sadržaja na magnetskom disku (cilindri, staze, sektori). Disk se sastoji o više ploča na istoj osovini. Kružnice na ploči prestavljaju staze, a staze su pojeljene na jednake

    djelove (kružne lukove s jenakim sreišnjim kutem) – sektore. Staze jenakih polumjera svih iskova čine cilinar. 

    81. Čime je odredena jedinstvena adresa svakog sektora na disku?

      Renim brojem ploče 

     

    Renim brojem staze na ploči   Rednim brojem sektora na stazi

    83. Od cega se sastoji trajanje traženja staze (seek time )?  Ubrzavanje (ručice glave) 

      Gibanje konstantnom brzinom

      Usporavanje

      Fino pozicioniranje

    84. Koliko iznosi prosjecno vrijeme traženja u odnosu na vrijeme koje je potrebno za prijelaz preko svih

    staza?Za vrijeme trazenja se uzima trečina vremena potrebnoh za prijelaz svih staza 

    82. Koliko iznosi ukupno trajanje prijenosa podataka tvrdi disk - radni spremnik? Pogledaj 85. 

    85. Kako je podijeljeno vrijeme koje je potrebno za prijenos podataka s diska ili na disk?

    1) 

    Trajanje postavljanja glave (head positioning time)

      Trajanje traženja staze (seek time) 

    Ubrzavanje ručice glave 

    -  Gibanje konstantnom brzinom

    usporavanje

    fino pozicioniranje  rotacijsko kašnjenje ( = /2)

    2)  Trajanje prijenosa podataka (data transfer time)

      Trajanje čitanja ijela ili cijele staze 

    86. Zbog čega nastaje rotacijsko kašnjenje i koliko ono iznosi? Rotacijsko kašnjenje (Tr) nastaje zbog toga što se nakon postavljanja glave na oabranu stazu mora prije početka

    prijenosa pričekati a se ispo glave za čitanje pojavi traženi sektor. 

    Iznosi između nula(najpovoljniji slučaj traženi sektor upravo nailazi ispod glave u trenutku njezinog postavljanja na

    stazu) i jednog (najlošiji slučaj  traženi sektor upravo prolazi ispod glave kad je ona postavljena na stazu) okretaja.

    Zato se za rotacijsko kašnjenje uzima prosječna vrijenost, onosno pola trajanja jenog okretaja (Tr=Tr/2).

  • 8/16/2019 Skripta_os i Pitanja

    23/74

     15

    87. Čime je odredena brzina prijenosa podataka s diska u spremnik diskovne upravljacke jedinke?Brzinom kojom ispo glave promiču bajtovi sektora i brojem podataka koje trebamo prenjeti.

    88. Neka je trajanje traženja staze Ts nekog diska s 2000 staza opisano sa sljedece triformule, gdje je D udaljenost izmedu trenutnog položaja glave i tražene staze: Ts = 1.5 x D ms za D 4,

    Ts = 4.0 + 0.5 x D 1/2ms za 4 400.

    Koliko iznosi prosjecno vrijeme traženja staze? 

    = 10.0 + 0.01 ∗2000

    3= 16.66  

    89. Navesti sadržaj procesnog informacijskog bloka. Tablice sektora u kojima je program procesa pohranjen na isku i poaci o smještaju programa u ranom spremniku. 

    90. Opisati postupke statickog i dinamickog dodjeljivanja spremnika.

    Statičko ojeljivanje:

    Particije su stalne veličine (fixe partitions), program ka je ojeljen jenoj particiji uvijek je u toj particiji, i ka j e

    izbačen iz ranog spremnika može se vratiti samo u tu particiju. Dolazi o problema fragmentacije i toga što aresniprostor programa nije mogao biti vedi o najvede particije fizičkog spremnika.

    Dinamičko ojeljivanje: 

    Programi se upisuju jedan iza drugog. Doan je sklop s kojim se početna aresa pribraja svakoj aresi koju proces

    proizvee. Programi se priređuju tako a svaki ima svoj aresni prostor. Važno je a se prije izvođenja u bazni

    registar pohrani aktualna početna aresa. 

    91. Navesti vrste fragmentacije prilikom statickog dodjeljivanja spremnika.

    Unutarnja fragmentacija: Programi nisu jednake velicine kao particije pa ce jelovi particija ostati neiskorišteni. 

    Vanjska fragmentacija: Tijekom raa se može ogoiti a svi procesi čiji su programi smješteni u istu particiju bivaju

    blokirani pa ta particija ranog spremnika ostaje prazna. Pritom može postojati više procesa čiji programi čekaju nadodjelu radnog spremnika, ali oni ne mogu biti napunjeni u radni spremnik jer nisu pripremljeni za tu particiju.

    92. Problem fragmentacije prilikom dinamickog dodjeljivanja spremnika se ne može izbjeci, ali se možeublažiti. Kako? Rupe se oržavaju što večima kako bi se u njih mogo smjestiti novi program. 

      Pri svakom oslobađanju nekog procesnog prostora novo nastala rupa spaja se s eventualnim

    susjenim rupama u novu vedu rupu 

      Pri svakom novom zahtjevu za spremničkim prostorom potraži se najmanja rupa u koju se može

    smjestiti novi program

    93. Unatoč tome što se problem fragmentacije prilikom dinamickog dodjeljivanja spremnika može ublažiti,fragmentacija može postati prevelika. Što treba tada učiniti?Privremeno obustaviti izvođenje retvi i „presložiti“ programe u kompaktni prostor.

    94. Navesti i dokazati Knuthovo 50% pravilo.

    Knuthovo pravilo: u stacionarnom stanju de u spremniku biti broj rupa jenak polovici broja punih blokova. 

    Izvod:

    Knuthovo pravilo pretpostavlja da je vjerojatnost oslobađa ja spremničkog prostora jednaka

    vjerojatnosti zahtjeva. Pretpostavlja

    se da de zbog toga tijekom vremena u sustavu odi do stohastičkog ravnotežnog stanja odnosno da de prosječan broj rupa i

  • 8/16/2019 Skripta_os i Pitanja

    24/74

     16

    punih blokova biti stalan. U tom slučaju možemo predpostaviti da postoje 4 tipa blokova razvrstavjudi ih po kriteriju

    da li im im jepredhodnik i sljedbenik rupa ili puni blok.

    A xxx, B xx0, C 0xx, D 0x0

    Veliko slovo je tip bloka, a malo slovo je broj blokova tog tipa. Blokova tipa A ima a.

    Vjerojatnost a de se pronadi neka rupa koja de točno ogovarati veličini zahtjevanog prostora je zanemariva i

    označava se sa q, a vjerojatnost ( p= 1 - q) je zato približno jenaka 1. 

    Sad idemo prebrojat rupe, blokove tipa ne brojimo jer oni nemaju rupa, a blokove tipa D brojimo dva puta jer imaju

    po dve rupe. E sad buudi da ako, recimo, imamo blok tipa B(xx0) i

    blok tipa C(0xx) jedan do drugoga vidimo da smo ovu nulu brojili dva puta

    i zato moramo cijelu sumu podjelit još sa dva.

    n(rupa) = (b+c+2d)/2

    Uz to buudi da ako jednom bloku (C) slijedi nula, to mora značiti da de slijeedem (B)

    prethoditi, što znači da de broj blokova tipa C i tipa B bit jednak c=b .

    Znači,

    n(rupa)=(2b+2d)/2 = b + d

    m(količina punih segmenata)=a + b + c +  

    Vjerojatnost da de nastati jedna rupa (znači mora nestat jedan blok tipa A) je a/m.

    Vjerojatnost da de se popunit rupa (mora nestat blok tipa D) je d/m + vjerojatnost da postoji zahtjev veličine jedne r

    upe u koju de se novi program smjestiti (ili krade q).

    Zbog onog prvog uvjeta vjerojatnost popunjavanja i pražnjenja rupa moraju biti otprilike jednaki znači: 

    a/m = d/m + q ; pomnoži s m, zamjeni q sa 1‐p 

    a=d + m(1‐p) 

    uvrstimo sad taj a um=a+b+c+d;

    m=d + m(1‐p) +b+c+d ;

    sad se sjetimo odprije da je c=b i b+d=n

    m=d + m‐pm + b +b + d

    m=m‐pm +2(n)

    pm = 2n

    n=1/2pm ; uudi da je p približno 1

    n(rupa)=1/2m(memorije)

    50% memorije čine rupe . 

    95. Kako treba podijeliti program (koji u cijelosti ne stane u radni spremnik) u prekloponom nacinu uporabe

    radnog spremnika?

    Na jean osnovni io koji se uvijek nalazi u ranom spremniku i na ijelove koji se naizmjenično smještaju u preostali

    io korisničkog ijela fizičkog spremnika. 

    96. Kako je podijeljen logicki, a kako fizicki adresni prostor u sustavu sa stranicenjem?

    Logički aresni prostor  se dijeli na jednako velike dijelove koje nazivamo stranicama ( page). Prikladno je da stranice

    imaju veličinu koja je cjelobrojna potencija broja dva.

  • 8/16/2019 Skripta_os i Pitanja

    25/74

     17

    Fizički aresni prostor  možemo poijeliti na ijelove koji su jenaki veličini stranice logičkog aresnog prostora. Te

    zamišljene ijelove nazivamo okvirima ( frames). U jean okvir fizičkog ranog spremnika može se smjestiti jena

    stranica logičkog adresnog prostora

    97. O cemu ovisi velicina fizickog i logickog adresnog prostora?

    Logički aresni prostor ovisi o arhitekturi, a fizički o RAM-u.

    98. Mogu li stranice logickog adresnog prostora biti smještene u okvire fizickog spremnika proizvoljnimredoslijedom?

    Mogu. Time se izbjegava problem fragmentacije.

    99. Cemu služi tablica prevodenja? Od kojih se elemenata sastoji?Služi za prevođenje logičkog u fizički aresni prostor. Sastoji se o irektorija stranica i tablica stranica. 

    Tablica prevođenja ima vije razine aresa organizirane po stranicama veličine 4 KB. U prvoj razini je jena stranica s

    1024 kazaljki o po 32 bita (irektorij stranica). Kazaljke irektorija pokazuju na stranice u kojima je opet smješteno

    po 1024 riječi o po 32 bita (tablica stranica)

    100. U cemu se razlikuju prekidi izazvani zbog promašaja stranice kod stranicenja na zahtjev od ostalih vrstaprekida?

    Preki zbog aresiranja nepostojede stranice se ogoi usre instrukcije. Nakon obrade prekida mora se ponoviti

    instrukcija unutar koje se dogodio prekid. Kod ostalih vrsta prekida, postojanje prekida se provjerava nakon

    izvojenja instrukcije, a ponovno pokretanje retve započinje sljeečom instrukcijom. 

    101. Opisati sklopovsku potporu za ostvarenje stranicenja u Intel x86 arhitekturi. Što sadrži i cemusluži TLB (Translation Lookaside Buffer)? Opisati tablicu prevodenja. Gdje se ona nalazi?Intel nema registra povijesti. Stranice se razvrstavaju u dva razreda: one u koje se u

    prethodnoj periodi pisalo i one u koje se nije

    pisalo. Postoji jedan bit pristupa(A) i bit nečistode(D). Prvo se pokuša izbaciti stranica kojoj je A=0. Inače se izbacuje s

    tranica

    kojoj je bit nečistode 0, odnosno čista stranica.

    TLB je 32 bitni priručni međuspremnik za prevođenje aresa koji nam služi  za cjelokupno spremanje fizičke arese i

    ijela logičke ares, tj. omoguduje nam a ne moramo uzastopno ohvadati fizičku aresu ako ju trebamo češde.

    Koliko puta je potrebno pristupiti radnom spremniku ako se stranica ne nalazi u TLB meduspremniku? 3  a

    koliko ako se nalazi u TLB medusprenmiku? 1 

    102. Koju informaciju nosi bit cistoce? Gdje se on nalazi?

    Označava a li se saržaj stranice mijenjao od njenog prebacivanja u radni spremnik. Ako se mijenjao kod izbacivanja

    iz radnog spremnika se mora prepisivati na disk, a ako nije onda se samo obriše iz ranog spremnika. 

    103. Čemu služi posmačni registar povijesti?Za izvebu LRU strategije. Pri punjenju stranice u neki ovir inicijaliziraju se na 0 njezin bit pristupa i posmačni

    registar. Kada se pristupi stranici bit pristupa stranice se postavlja u 1. Prekid od sata periodno posmakne sve bitove

    pristupa u posmačne registre i zatim bit pristipa izbriše. Saržaj registra može se pročitati kao binarni broj. Manji broj

    pokazuje a se stranicu nije uže vrijeme koristilo. Kada se pojavi potreba za izbacivanjem stranice izbacuje se ona s

    najmanjim brojem.

    104. Opisati sljedece strategije za izbacivanje stranica: FIFO, LRU, OPT te satni algoritam.

      FIFO – izbacuje se stranica koja je najdulje u radnom spremniku (first-in first-out)

      LRU – izbacuje se stranica koja se najdulje u proslosti nije upotrebljavala (least recently used)

  • 8/16/2019 Skripta_os i Pitanja

    26/74

     18

      OPT (Optimalna strategija) – izbacuje se stranica koja se najulje u buučnosti nede upotrebljavati

      Satni algoritam – Stranice se svrstavaju u listu po reu prispjeda. Lista se obilazi kružno posebnom kazaljkom

    (kaa ođe o kraja kazaljka se vrada na početak liste). Kaa se pojavi potreba za praznim okvirom izbacit de

    se stranica na koju pokazuje kazaljka ako je njezina zastavica A u 0, inače de se preskočiti i pritom promjeniti

    vrijednost A u 0. Kazaljka se pomiče za jeno mjesto ok ne naiđe na stranicu s A=0. 

    105. Opisati strategiju izbacivanja stranica u Intel x86 arhitekturi kada se u obzir uzimaju dvije zastavice za

    oznacavanje stanja stranice.Zastavice koje se koriste su bit pristupa (A) i bit nečistode (D). Prije se izbacuju stranice u kojima se nije pristupalo i

    koje su čiste. 

    106. U kojim stanjima se mogu nalaziti pojedini okviri tijekom rada?

      Aktivno stajne – okvir je dodjeljen jednom od procesa i njegov se redni broj (kazaljka koja pokazuje na njegov

    početak) nalazi u tablici prevođenja tog procesa 

      Slobodno stanje – okvir se nalazi u povezanoj listi oslobođenih okvira 

      Slobono stanje s obrisanim saržajem  – okvir je spreman za dodjeljivanje

    9. Datotečni podsustav

    107. Navesti sadržaj opisnika datoteke.   Naziv datoteke

      Tip

      Lozinka

      Ime vlasnika

      Prava pristupa

      Vrijeme stvaranja

     

    Vrijeme zadnje uporabe  Ime posljenjeg korisnika, i slično 

      Opis smještaja 

    108. Gdje su pohranjeni

    a) opis smještaja datoteke  - u opisniku datoteke 

    b) opisnik datoteke - na disku u nekom volume-u 

    c) datotecna tablica - u opisniku datoteke 

    109. Navesti sadržaj datotecne tablice.

     

    broj sektora po disku (kapacitet)

      broj slobodnih sektora (veličina slobonog prostora) 

      informacije o slobodnim sektorima

      tablica opisnika pohranjenih datoteka

    110. Na koji nacin se može prikazati slobodan prostor na disku.   bitovni prikaz

      lista slobodnih sektora

      lista nakupina sektora

  • 8/16/2019 Skripta_os i Pitanja

    27/74

     19

    111. Opisati bitovni prikaz slobodnog prostora na disku.

    U nizu bitova svakom sektoru odnosno nakupini sektora pripada jedan bit čija je vrijenost jenaka 1 kaa je sektor

    odnosno nakupina zauzeta, inace 0.

    112. Opisati prikaz slobodnog prostora u obliku liste slobodnih blokova.

    Svaki element liste sadrzi tri lokacije. Prvo je kazaljka na sljedeci slobodan element, drugo adresa prvog slobodnog

    sektora, a trece broj slobodnih sektora.

    113. Opisati nacin smještaja datoteka u UNIX datotecnim podsustavima (i-node ).Opisnik datoteke u UNIXu zove se i-noe. Uz pretpostavku a je sektor velik 1KB u jean sektor se može smjestiti 256

    kazaljki. U opisniku se nalazi 13 kazaljki i to:

      10 neposrednih kazaljki

      1 jednostruko indirektna kazaljka

      1 dvostruko indirektna kazaljka

      1 trostuko indirektna kazaljka

    Pristup o atoteke obavlja se na sljeedi način:  

      Prvih eset sektora ohvada se neposrenim kazaljkama čime se može ohvatiti sve sektore atoteka manjih

    od 10KB  Jeanaesta kazaljka pokazuje na sektor u kojem se nalazi sljeečih 256 kazaljki (256 + 10)KB

      Dvanaesta kazaljka pokazuje na sektor u kojem su kazaljke na 256 sektora svaki s 256 kazaljki

    (256*256+256+10)KB

      Trinaesta kazaljka pokazuje na trostuko stablo kazaljki (256*256*256+256*256+256+10)KB = 16GB

    114. Opisati nacin smještaja datoteka u NTFS datotecnom podsustavu. Što je MFT? Kako se pohranjuju„male“ datoteke? Diskovni prostor dodjeljuje se po skupinama sektora (po 1, 2, 4 ili 8 sektora). NTFS sarži atoteku MFT (glavna

    tablica datoteka) u kojoj se nalaze opisnici svih datoteka (ukljucujuci i nje same). Jean MFT zapis ima veličinu jene

    skupine sektora (npr. 4KB). Za veče atoteke zapis sarži inekse skupina sektora i ako je potrebno oatnoproširenje opisa.

    Datoteka se dijeli na djelove koji su jednako veliki kao nakpine sektora (virtualne skupine). Za smještaj atoteka

    pronalazi se što više uzastopnih skupina sektora i ojeljuje se atoteci (ako nema uzastopnih ojeljuju se

    pojeinačne skupine).

    Male atoteke smještaju se unutar MFT zapisa. 

  • 8/16/2019 Skripta_os i Pitanja

    28/74

    Operacijski sustavi

     prof. Marin Golub

    -  službena stranica : http://www.zemris.fer.hr/labosi/os1/tehvel 

    -  preporučena literatura: Operating System Concepts – Silberschatz

    Ivan Nenadić 

  • 8/16/2019 Skripta_os i Pitanja

    29/74

      Operacijski sustavi – predavanja 2/34

    Operacijski sustavi - predavanja 2/34

    Predgovor

    Ova skripta je rađena po bilješkama sa auditornih predavanja kolegija ‘Operacijskisustavi’ te je moguće da se u njoj pojavljuju raznorazne greške (tipfeleri, krivi prijepisi

    s ploče, netočne informacije..) pa molim da sve greške ili gradivo koje nije upisano uovoj skripti, a trebalo bi biti, prijavite na [email protected] .

    Dilanje ove skripte kao i njezino prepravljanje je potpuno besplatno (bar što seautora tiče :-)

    P.S. posebna zahvala Zoranu Marinčiću na nadopuni skripte kad ja nisam bio

    prisutan na predavanjima :-)

  • 8/16/2019 Skripta_os i Pitanja

    30/74

      Operacijski sustavi – predavanja 3/34

    Operacijski sustavi - predavanja 3/34

    Sadržaj

    1.Model jednostavnog računala.................................................................................. 6 

    1.1 Dijelovi OS-a..................................................................................................... 6 

    1.2 Rudimentalno računalo ..................................................................................... 6 

    1.3 Osnovni registri procesora ................................................................................ 7 

    1.4 Procesor trajno radi sljedeće............................................................................. 8 

    1.5 Osnovni pojmovi ............................................................................................... 8 

    1.6 Proces se sastoji od.......................................................................................... 8 

    2.Obavljanje I/O operacija, prekidni rad...................................................................... 9 

    2.1 Prenošenje znakova radnim čekanjem ............................................................. 9 

    2.2 Prekidni način rada procesora ........................................................................ 10 

    2.3 Podsustav za prihvat više prekida................................................................... 10 

    2.4 Prenošenje blokova i sklopovi s neposrednim pristupom................................ 12 

    3. Datotečni podsustav............................................................................................. 13 

    3.1 Koncepcija datoteka........................................................................................ 13 

    3.2 Opisnik datoteka ............................................................................................. 13 

    3.3 Smještaj datoteka u vanjskom spremniku ....................................................... 14 

    3.4 Tipične datotečne operacije ............................................................................ 17 

    4. Međusobno isključivanje u višedretvenim sustavima............................................ 19 

    4.1 Model višedretvenosti ..................................................................................... 19 

    4.2 Ostvarenje međusobnog isključivanja dretvi ................................................... 21 

    4.3 Sklopovska potpora međusobnom isključivanju.............................................. 23 

    5. Jezgra OS-a ......................................................................................................... 24 

    5.1 Uvod................................................................................................................ 24 

    5.2 Struktura podataka jednostavnog modela jezgre............................................ 24 

    5.3 Prikaz mogućih stanja dretvi ........................................................................... 26 

  • 8/16/2019 Skripta_os i Pitanja

    31/74

      Operacijski sustavi – predavanja 4/34

    Operacijski sustavi - predavanja 4/34

    5.4 Jezgrine funkcije ............................................................................................. 26 

    6. Međudretvena komunikacija ................................................................................. 29 

    6.5 Pokretanje više procesa.................................................................................. 29 

    6.6 Višedretveni rad .............................................................................................. 29 

    7. Gospodarenje spremničkim prostorom (Memory Management – MM)................. 30 

    7.1 Fragmentacija ................................................................................................. 30 

    7.2 Ocjena fenomena fragmentacije (Knuthovo 50% pravilo) ............................... 31 

    7.3 Straničenje...................................................................................................... 32 

    7.4 Praktična ostvarenja izbacivanja stranica ....................................................... 33 

    Slike

    Slika 1 - Dijelovi OS-a................................................................................................. 6 

    Slika 2 - procesor i spremnik povezan na sabirnicu.................................................... 7 

    Slika 3 - pristupni sklop za prijenos pojedinačnih znakova ......................................... 9 

    Slika 4 - više prekidnih signala spojenih na jedan prekidni ulaz procesora .............. 10 

    Slika 5 - dijagram rada prekida i prekidne rutine....................................................... 11 

    Slika 6 - sustav sa sklopom za prihvat prekida......................................................... 12 

    Slika 7 - jednostavni model sklopa za neposredni pristup spremniku....................... 12 

    Slika 8 - Opisnik datoteke......................................................................................... 13 

    Slika 9 - ploče tvrdog diska....................................................................................... 14 

    Slika 10- Fizički sektori nisu logički susjedni sektori ................................................ 17 

    Slika 11 - Grafički prikaz 4 strategije posluživanja.................................................... 18 

    Slika 12 - Jezgra OS-a ............................................................................................. 24 

    Slika 13 – Opisnici .................................................................................................... 25 

    Slika 14 - moguća stanja dretvi................................................................................. 26 

    Slika 15 – statička fragmentacija radnog spremnika................................................. 30 

    Slika 16 - dinamička fragmentacija radnog spremnika ............................................. 30 

  • 8/16/2019 Skripta_os i Pitanja

    32/74

      Operacijski sustavi – predavanja 5/34

    Operacijski sustavi - predavanja 5/34

    Slika 17 - tipovi blokova............................................................................................ 31 

  • 8/16/2019 Skripta_os i Pitanja

    33/74

      Operacijski sustavi – predavanja 6/34

    Operacijski sustavi - predavanja 6/34

    1.Model jednostavnog računala

    def: Operacijski sustav je skup programa koji nam olakšavaju rad na računalu.

    Današnji operacijski sustavi omogućuju višekorisnički i višezadaćni rad.

    1.1 Dijelovi OS-a

    Slika 1 - Dijelovi OS-a

    -  MMU – Memory Management Unit

    -  API – Application Program Interface

    -  GUI – Graphic User Interface

    -  I/O – Input/Output

    1.2 Rudimentalno računalo

    -  procesor i radni spremnik

    -  pretpostavke:

    1. U radnom spremniku nalazi se strojni oblik programa i svi potrebni podaci

    2. Rezultati programa također se pohranjuju u radni spremnik

    -  u jednom sabirničkom ciklusu može se obaviti samo jedno ili čitanje ili pisanje

    u radni spremnik

  • 8/16/2019 Skripta_os i Pitanja

    34/74

      Operacijski sustavi – predavanja 7/34

    Operacijski sustavi - predavanja 7/34

    Slika 2 - procesor i spremnik povezan na sabirnicu

    registri – služe za pohranjivanje svih informacijskih sadržaja koji ulaze ili izlaze izprocesora i u njemu se transformiraju.

    1.3 Osnovni registri procesora

    -  adresni međuregistar (AMR)

    -  podatkovni međuregistar (PMR)

    -  instrukcijski međuregistar – pohranjuju se instrukcije koje se izvode

    -  programsko brojilo (PC)

    -  registar kazaljke STOG-a (SP – Stack Pointer)

    -  skup općih registara

  • 8/16/2019 Skripta_os i Pitanja

    35/74

      Operacijski sustavi – predavanja 8/34

    Operacijski sustavi - predavanja 8/34

    1.4 Procesor trajno radi sljedeće

    Ponavljati {dohvati iz spremnika instrukciju na koju pokazuje PC;PC++;dekodirati instrukciju i odrediti operaciju;odrediti adresu operanada i rezultata;operande dovesti u Aritmetičko-Logičku Jedinicu (ALJ) i izvesti operaciju;pohrani rezultat; Ako je (prekidni signal postavljen) {

    zabraniti prekidanje;aktivirati sustavni adresni prostor i sustavnu kazaljku STOG-a;PC pohraniti na sustavni STOG;u PC staviti adresu potprograma prekida;}

    }

    Procesor “provlači” kroz niz instrukcija instrukcijsku dretvu.

    1.5 Osnovni pojmovi

    1. Program – nešto što je pohranjeno na papiru, disketi, memoriji,...- statični niz instrukcija

    2. Dretva (thread) - niz instrukcija koje se izvode

    3. Proces - skup računalnih resursa koji omogućuju izvođenje programa- “sve što je potrebno” da bi se program izvodio- okolina koja omogućuje izvođenje programa

    1.6 Proces se sastoji od

    1. barem jedne dretve

    2. zajedničkog adresnog prostora

    3. adresnog prostora rezerviranog za pojedinu dretvu

    4. STOG, kazaljka STOG-a, opisnici datoteka, opisnici cijevovoda, redoviporuka, semafori...

  • 8/16/2019 Skripta_os i Pitanja

    36/74

      Operacijski sustavi – predavanja 9/34

    Operacijski sustavi - predavanja 9/34

    2.Obavljanje I/O operacija, prekidni rad

    2.1 Prenošenje znakova radnim čekanjem

    Slika 3 - pristupni sklop za prijenos pojedinačnih znakova

    PR – podatkovni registarRS – registar stanja

    Prenošenje jednog bajta prema izlaznoj napravi:

    1. Jednom instrukcijom bajt se dobavlja iz spremnika u registar procesora

    2. Drugom instrukcijom bajt se prenosi u podatkovni registar

    Prihvat jednog bajta od ulazne naprave:

    Jedan način prijenosa naziva se radno čekanje:

    Pročitati RS;dok je (zastavica == 0) pročitati RS;pročitati PR; //ovim čitanjem zastavica se vraća u ‘0’

    Dvožično rukovanje:

  • 8/16/2019 Skripta_os i Pitanja

    37/74

      Operacijski sustavi – predavanja 10/34

    Operacijski sustavi - predavanja 10/34

    2.2 Prekidni način rada procesora

    ZASTAVICA ↑ - generira električki signal koji se preko posebnog vodića dovodi doprocesora.

    PREKID – procesor prelazi iz korisničkog načina rada u sustavski ili jezgrivinačin rada

    - pozivaju se potprogrami koji sačinjavaju jezgru OS-a- procesor pri prelasku u jezgriv način rada djeluje tako da:

    - onemogući prekidanje- adresira sustavski dio spremnika- aktivira sustavski registar sustavske kazaljke STOG-a- programsko brojilo ide na sustavski STOG- u PC se postavlja kazaljka na početak potprograma

    -  ponašanje procesora treba nadopuniti tako da on na kraju izvođenja svakeinstrukcije ispituje da li se pojavljuje prekidni signal (to se na različitimarhitekturama izvodi na različite načine)

    Pogledati ‘procesor trajno radi sljedeć e’

    Na početku potprograma sve registre pohraniti na sust. STOG (pohraniti kontekst)

    Na kraju programa vratiti registre obrnutim redoslijedom (obnoviti kontekst)

    Prije nego što se PC sa sustav. STOG-a vrati, treba se vratiti iz prekidnog načinarada:

    -  omogućiti prekidanje

    -  prebaciti adresiranje u korisnički adresni prostor

    -  aktivirati korisnički registar kazaljke STOG-a

    2.3 Podsustav za prihvat više prekida

    Najjednostavniji oblik:

    (Zastavica 1, zastavica 2,...zastavica n)

    Slika 4 - više prekidnih signala spojenih na jedan prekidni ulaz procesora

  • 8/16/2019 Skripta_os i Pitanja

    38/74

      Operacijski sustavi – predavanja 11/34

    Operacijski sustavi - predavanja 11/34

    Nedostatak: manje važan prekid (čija obrada dugo traje) može ometati rad važnijihprekida

    Podsustav za prihvat više prekida razvrstanih po prioritetima s

    najjednostavnijim sklopovljem:

    -  navedeni nedostatak može se otkloniti programskim rješenjem

    -  pristupni sklopovi su razvrstani po važnosti ili prioritetu (npr. veći broj – većiprioritet)

    Slika 5 - dijagram rada prekida i prekidne rutine

    Prekidna rutina ( ) {

    (prekidni signal ↑, prekidanje onemogućeno, PC je na sust. STOG-u)pohrani kontekst na sust. STOG;ispitati uzrok prekida, indeks prekida i; Ako je (1

  • 8/16/2019 Skripta_os i Pitanja

    39/74

      Operacijski sustavi – predavanja 12/34

    Operacijski sustavi - predavanja 12/34

    Sklopovska potpora za ostvarivanje višestrukog prekidanja:

    Slika 6 - sustav sa sklopom za prihvat prekida

    Prekidi generirani unutar procesora:

    Uzrokuju ih: - dijeljenje s nulom

    - adresiranje nepostojeće lokacije u adresnom prostoru- dekodiranje nepostojeće instrukcije

    Programski prekidi:

    Postoji barem jedna instrukcija koja omogućuje namjerno izazivanje prekida izprograma.

    2.4 Prenošenje blokova i sklopovi s neposrednim pristupom

    Slika 7 - jednostavni model sklopa za neposrednipristup spremniku

    AR – adresni registar

    BR – brojač 

  • 8/16/2019 Skripta_os i Pitanja

    40/74

      Operacijski sustavi – predavanja 13/34

    Operacijski sustavi - predavanja 13/34

    3. Datotečni podsustav

    3.1 Koncepcija datoteka

    Datoteka je skup informacija povezanih u jednu cjelinu.

    Datoteka i rad s datotekama je najvidljiviji dio OS-a.

    Datotečni podsustav sastoji se od:

    1. datoteka

    2. direktorija (tablica)

    3. procedura za manipuliranje datotekamaOS sadrži naredbe za rad s direktorijima i datotekama

    osnovne naredbe:- stvori direktorij: md ili mkdir  - briši direktorij: rmdir  - premjesti se: cd - kopiraj: cp - premjesti datoteku ili direktorij: mov - briši: rm

    3.2 Opisnik datoteka

    Svaka datoteka je u potpunosti opisana svojim opisnikom.

    Slika 8 - Opisnik datoteke

    pravo pristupa (zastavice): [UNIX]

    User Group Other

    r w x r w x r w x

    chmod o-rwx .. briše rwx flagove sa ‘other’

    chmod go+rx .. stavlja flagove rx na ‘group’ i ‘other’

  • 8/16/2019 Skripta_os i Pitanja

    41/74

      Operacijski sustavi – predavanja 14/34

    Operacijski sustavi - predavanja 14/34

    3.3 Smještaj datoteka u vanjskom spremniku

    Slika 9 - ploče tvrdog diska

    Staze su podijeljene na sektore jednake veličine (kapacitet)

    Svaki vanjski spremnik ima svoju datotečnu tablicu.

    Na disku su neke od staza rezervirane za smještaj tablica.

    Organizacija tablica se razilkuje od OS-a do OS-a.

    Osnovni sadržaj datotečne tablice je:

    1. broj sektora po disku

    2. broj slobodnih sektora

    3. Informacije o slobodnim sektorima

    4. tablica opisnika pohranjenih datoteka

    Informacije o slobodnim sektorima – evidencija o slobodnom prostoru na disku:

    a) binarni prikaz

    011010011010

    sektor zauzet

    sektor slobodan

  • 8/16/2019 Skripta_os i Pitanja

    42/74

      Operacijski sustavi – predavanja 15/34

    Operacijski sustavi - predavanja 15/34

    -  prednost: sektori s greškom se prilikom formatiranja mogu postaviti u 1 (i višeih nikad ne možemo koristiti)

    -  mana: slobodan prostor saznajemo brojeći nule (traje)

    b) lista slobodnih blokova (skupina sektora) Xc) lista slobodnih skupina blokova √ 

    Svaki sektor ima jedinstvenu adresu koja se sastoji od:

    a) rednog broja ploče

    b) rednog broja staze na ploči

    c) rednog broja sektora na stazi

    Adresira se blok bajtova a ne 1 bajt! (1 sektor ili više)

    NTFS (MS WINDOWS NT, 2000, ...) – NT File System

    Prostor na disku dodjeljuje se po skupinama sektora (cluster)

    Cluster se sastoji od n sektora

    n vel. diska B (byte)

    1 < 512Mb 512

    2 do 1Gb 1024

    4 do 2Gb 2048

    8 > 2Gb 4056

    LNC – logički broj skupine

    -  redni broj skupine (od početka do kraja)

    -  fizička adresa = n . LNC

  • 8/16/2019 Skripta_os i Pitanja

    43/74

      Operacijski sustavi – predavanja 16/34

    Operacijski sustavi - predavanja 16/34

    MFT – datoteka; glavna tablica datoteka (Master File Table)

    -  svaka datoteka (pa i MFT) ima u toj datoteci zapis koji je opisnik datoteke

    -  datoteka MFT je podijeljena na zapise a svaki taj zapis je veličine jedne

    skupine-  male datoteke smještavaju se unutar MFT zapisa

    -  velike datoteke – u MFT-u se nalaze indeksi skupina sektora (podaci osmještaju datoteke) i ukoliko je potrebno, MFT zapis se proširuje za dodatnizapis.

    VCN – virtualni redni broj skupine (Virtual Cluster Number)...0, 1, 2, ...

    Za smještanje datoteke pronalaze se uzastopne skupine sektora (ako ih ima) idodjeljuju se datoteci.

    UNIX FS: i-node (indeksni č vor)

    U opisniku se tipično predviđa:

    10k – 10 direktnih kazaljki (na sektore ili skupine sektora)

    10+255 – 1 jednostruko indirektna kazaljka

    Uzimamo da je sektor veli č ine 1k, kazaljke veli č ine 1B

    266+256.256 – 1 dvostruko indirektna kazaljka

    -  1 trostruko indirektna kazaljka

    (10+256+256 .256+256 

    3≈  16Gb)

  • 8/16/2019 Skripta_os i Pitanja

    44/74

      Operacijski sustavi – predavanja 17/34

    Operacijski sustavi - predavanja 17/34

    Ukupno trajanje prijenosa podatakatrajanje postavljanja glave

    trajanje traženja staze (seek time)→ ovisi o početnom i krajnjem položaju glave→ sastoji se od: 1. ubrzavanje glave

    2. konstantna brzina3. usporavanje4. fino podešavanje

    + rotacijsko kašnjenje =TR/2 TR – vrijeme jednog okretaja+ trajanje prijenosa podataka (data transfer time)

    trajanje čitanja dijela ili cijele staze(po potrebi treba uzeti u obzir faktor PREPLITANJA)

    + trajanje premještanja glave sa staze na stazu

    Slika 10- Fizički sektori nisu logički susjedni sektori

     Ako su dva sektora koji logički slijede jedan iza drugoga fizički smješteni nasektorima n i n+k tada je faktor preplitanja jednak ‘k’.

    3.4 Tipične datotečne operacije

    -  stvoriti

    -  izbrisati

    -  kopirati

    -  premjestiti

    -  otvoriti

    -  zatvoriti

    -  čitati

    -  pisati

  • 8/16/2019 Skripta_os i Pitanja

    45/74

      Operacijski sustavi – predavanja 18/34

    Operacijski sustavi - predavanja 18/34

    Zadatak:

    Disk s pokretnim glavama ima 100 staza (0-99). Neka se glava trenutno nalazi nastazi 29 s tim da je prije bila na stazi 8. Zahtjevi za pristup pojedinim stazamasvrstani su po redu prispjeća: 3, 7, 40, 98, 71, 68, 70, 21, 5, 49.

    a) koliki je ukupan pomak glave pri izvršenju tih zahtjeva za sve 4 strategijeposluživanja?

    b) opisati svaku od navedenih strategija

    c) kod kojih strategija može doći do izgladnjivanja (beskonačnog odgađanjaposluživanja nekih zahtjeva zbog posluživanja novopristiglih zahtjeva)?

    d) grafički prikazati kretanje glave prilikom obrade danih zahtjeva za sve 4strategije

    Slika 11 - Grafički prikaz 4 strategije posluživanja

    1. FCFS (First Come First Served) – posluživanje po redu prispijeća.

    2. SSTF (Shortest Seek Time First) – posluživanje najbližih zahtjeva (može doćido izgladnjivanja.

    3. SCAN – skeniranje (ovisi o položaju glave prije početnog).

    4. C-SCAN (Circular SCAN) – kružno skeniranje (posluživanje).

  • 8/16/2019 Skripta_os i Pitanja

    46/74

      Operacijski sustavi – predavanja 19/34

    Operacijski sustavi - predavanja 19/34

    4. Međusobno isključivanje u višedretvenim sustavima

    4.1 Model višedretvenosti

    Dretve

    -  proces se sastoji od barem jedne dretve

    -  podaci rerzervirani za proces dostupni su svim dretvama

    -  dretveni dio spremničkog prostora sastoji se od:

    -dijela gdje su smještene instrukcije-STOG, kazaljka STOG-a-lokalni podaci

    -  problem sinhronizacije prilikom pristupa zajedničkim podacima treba nekakoriješiti

    -  dretve se mogu izvoditi istodobno (paralelno) na više procesora ili prividnoistodobno (prividno paralelno) ako se izvode na istom procesoru (dretve seizvode naizmjenično)

    Dretva T čita podatke iz domene D, obavlja neku funkciju f(D) nad podacima izdomene i rezultat upisuje u poddomenu K.. ( f(D)=K).

    Ti – i-ta dretva, f i : Di →Ki 

    DVA ZADATKA SU ME ĐUSOBNO NEZAVISNA AKO NEMAJU ZAJEDNIČKIHLOKACIJA U SVOJIM DOMENAMA I PODDOMENAMA.

    Uvijet nezavisnosti zadataka i i j je:

    0)()()(   =∩∪∩∪∩ i j ji ji   K  DK  DK K   

    Pišu na isto mjesto Piše tamo gdje drugi čita .

    K-kodomena – mjesto gdje se upisuju rezultati

    Kada zadaci pišu na isto mjesto, zadaci