ОС2/Септембар 2015 — разлика између измена
(WIP) |
м (rešenje 5. zadatka) |
||
(Нису приказане 3 међуизмене другог корисника) | |||
Ред 1: | Ред 1: | ||
{{tocright}} | {{tocright}} | ||
[http://os.etf.rs/OS2/rokovi/2015/ | {{rešenja}} | ||
[http://os.etf.rs/OS2/rokovi/2015/sep/Sep%202015.pdf Zadaci na stranici predmeta.] | |||
== 1. zadatak == | == 1. zadatak == | ||
Ред 35: | Ред 36: | ||
begin | begin | ||
locked := 1; | locked := 1; | ||
signal(condition; | signal(condition); | ||
end; | end; | ||
begin | |||
locked := 0; | |||
end; | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== 3. zadatak == | == 3. zadatak == | ||
Ред 43: | Ред 47: | ||
Dati i kratko objasniti primer konstrukta za slanje i prijem poruke indirektnim imenovanjem. | Dati i kratko objasniti primer konstrukta za slanje i prijem poruke indirektnim imenovanjem. | ||
=== Rešenje === | === Rešenje === | ||
* Primer su priključnice (''sockets''). | |||
* Imaju asinhrono slanje i sinhroni prijem. | |||
* Server neprestano osluškuje za zahteve klijenta preko TCP. | |||
* Server može da prihvati vezu, komunicira sa klijentom i raskine vezu. | |||
== 4. zadatak == | == 4. zadatak == | ||
Ред 48: | Ред 56: | ||
Koja od sledećih transformacija poruke se obavlja na strani primaoca poruke kod međuprocesne komunikacije: ''marshalling'' ili ''unmarshalling''? | Koja od sledećih transformacija poruke se obavlja na strani primaoca poruke kod međuprocesne komunikacije: ''marshalling'' ili ''unmarshalling''? | ||
=== Rešenje === | === Rešenje === | ||
<div class="abc-list" data-solution="single"> | |||
# marshalling | |||
# <span class="solution">unmarshalling</span> | |||
</div> | |||
== 5. zadatak == | == 5. zadatak == | ||
Ред 58: | Ред 69: | ||
</div> | </div> | ||
=== Rešenje === | === Rešenje === | ||
[[Датотека:OS2 septembar 2015 zadatak 5 rešenje_graf zauzeća.svg|thumb|Graf zauzeća iz rešenja 5. zadatka.]] | |||
U slučaju da P1 zatraži resurs R2 sistem može da mu dozvoli, jer ne dolazi do petlje u grafu odnosno ne postoji opasnost od mrtve blokade. | |||
Sa druge strane, sistem ne sme predati resurs R2 procesu P3 jer dolazi do petlje u grafu <code>P1->R2->P3->R1->P1</code>. | |||
== 6. zadatak == | == 6. zadatak == | ||
Ред 65: | Ред 81: | ||
Procesu su dodeljena 4 okvira, zamena se vrši lokalno, samo u skupu stranica dodeljenih tom procesu, a inicijalno nije učitana nijedna stranica ovog procesa. Koliko puta ovaj proces generiše straničnu grešku (page fault) ako je algoritam zamene stranica OPT? | Procesu su dodeljena 4 okvira, zamena se vrši lokalno, samo u skupu stranica dodeljenih tom procesu, a inicijalno nije učitana nijedna stranica ovog procesa. Koliko puta ovaj proces generiše straničnu grešku (page fault) ako je algoritam zamene stranica OPT? | ||
=== Rešenje === | === Rešenje === | ||
Odgovor: <span class="spoiler" data-solution="text">9</span> | |||
== 7. zadatak == | == 7. zadatak == | ||
Ред 70: | Ред 87: | ||
Šta je Beladijeva (''Belady'') anomalija? | Šta je Beladijeva (''Belady'') anomalija? | ||
=== Rešenje === | === Rešenje === | ||
Beladijeva anomalija je problem u algoritmima zamene stranica gde za neke sekvence i neki broj okvira, broj straničnih grešaka se povećava sa porastom broja okvira. Pristuan je u FIFO algoritmu. | |||
== 8. zadatak == | == 8. zadatak == | ||
Ред 75: | Ред 93: | ||
Na kom disku 0 do 15 se nalazi logički blok broj 67 (blokovi su numerisani počev od 0) kod strukture ''block-striping'' RAID0? | Na kom disku 0 do 15 se nalazi logički blok broj 67 (blokovi su numerisani počev od 0) kod strukture ''block-striping'' RAID0? | ||
=== Rešenje === | === Rešenje === | ||
Odgovor: <span class="spoiler" data-solution="text">3</span> | |||
== 9. zadatak == | == 9. zadatak == | ||
Ред 80: | Ред 99: | ||
Ukratko objasniti principe mikrokernel arhitekture operativnih sistema. | Ukratko objasniti principe mikrokernel arhitekture operativnih sistema. | ||
=== Rešenje === | === Rešenje === | ||
* Mikrokernel arhitektura izbacuje nepotrebne delove iz samog kernela i pretvara ih u sistemske programe. | |||
* Svrha je učiniti kernel što manjim, tako da ima samo minimalne funkcionalnosti (promenu konteksta, raspoređivanje, sinhronizaciju). | |||
* Prednost je fleksibilnost, mana su lošije performanse. | |||
== 10. zadatak == | == 10. zadatak == | ||
Ред 85: | Ред 107: | ||
Šta je ''inode'', a šta ''vnode'' u sistemu Linux? | Šta je ''inode'', a šta ''vnode'' u sistemu Linux? | ||
=== Rešenje === | === Rešenje === | ||
* ''inode'' je deskriptor fajla koji sadrži informacije o fajlu specifične za fajl sistem (fizička pozicija na disku i sl.) | |||
* ''vnode'' je deskriptor fajla koji je nezavisan od fajl sistema (''virtual node'') i sadrži skup operacija nad fajlom | |||
* ''vnode'' ostvaruje polimorfizam u virtuelnom fajl sistemu, koji je nezavisan od konkretnog fajl sistema i njegovih ''inode''-ova | |||
[[Категорија:Рокови]] | [[Категорија:Рокови]] | ||
[[Категорија:ОС2]] | [[Категорија:ОС2]] |
Тренутна верзија на датум 5. јул 2023. у 00:49
- За питања са више одговора, тачни одговори су подебљани и уоквирени
- За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
- Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:
1. zadatak
Postavka
Navesti i objasniti obrazac po kom se predviđa dužina narednog izvršavanja procesa na procesoru tehnikom eksponencijalnog usrednjavanja kod SJF raspoređivanja procesa.
Rešenje
- Formula: , gde
- je koeficijent koji određuje koliko je istorija trajanja od značaja u aproksimaciji.
- je nova aproksimacija
- je pravo vreme naleta
- je prethodna aproksimacija naleta
2. zadatak
Postavka
Korišćenjem klasičnih uslovnih promenljivih, napisati kod za monitor koji realizuje binarni semafor (događaj).
Rešenje
monitor BinarySemaphore;
export wait, signal;
var
locked : int;
condition : cond;
procedure wait();
begin
while locked = 0 do
begin
wait(condition);
end;
locked := 0;
end;
procedure signal();
begin
locked := 1;
signal(condition);
end;
begin
locked := 0;
end;
3. zadatak
Postavka
Dati i kratko objasniti primer konstrukta za slanje i prijem poruke indirektnim imenovanjem.
Rešenje
- Primer su priključnice (sockets).
- Imaju asinhrono slanje i sinhroni prijem.
- Server neprestano osluškuje za zahteve klijenta preko TCP.
- Server može da prihvati vezu, komunicira sa klijentom i raskine vezu.
4. zadatak
Postavka
Koja od sledećih transformacija poruke se obavlja na strani primaoca poruke kod međuprocesne komunikacije: marshalling ili unmarshalling?
Rešenje
- marshalling
- unmarshalling
5. zadatak
Postavka
U nekom sistemu primenjuje se mehanizam izbegavanja mrtve blokade (deadlock) zasnovan na grafu alokacije. Na početku, procesi P1 i P3 su najavili korišćenje resursa R2, a P1, P2 i P3 korišćenje resursa R1. Trenutno stanje sistema je sledeće: P1 je zauzeo R1, a P2 čeka na R1.
- Nacrtati graf alokacije resursa u ovom stanju.
- Ukoliko i P1 i P3 sada zatraže resurs R2, da li i kome od ovih procesa treba dodeliti taj resurs?
Rešenje
U slučaju da P1 zatraži resurs R2 sistem može da mu dozvoli, jer ne dolazi do petlje u grafu odnosno ne postoji opasnost od mrtve blokade.
Sa druge strane, sistem ne sme predati resurs R2 procesu P3 jer dolazi do petlje u grafu P1->R2->P3->R1->P1
.
6. zadatak
Postavka
Data je sledeća sekvenca referenciranja stranica od strane nekog procesa:
3, 2, 6, 8, 5, 6, 9, 8, 2, 6, 4, 9, 3, 6, 7, 9, 8, 6, 7, 8
Procesu su dodeljena 4 okvira, zamena se vrši lokalno, samo u skupu stranica dodeljenih tom procesu, a inicijalno nije učitana nijedna stranica ovog procesa. Koliko puta ovaj proces generiše straničnu grešku (page fault) ako je algoritam zamene stranica OPT?
Rešenje
Odgovor: 9
7. zadatak
Postavka
Šta je Beladijeva (Belady) anomalija?
Rešenje
Beladijeva anomalija je problem u algoritmima zamene stranica gde za neke sekvence i neki broj okvira, broj straničnih grešaka se povećava sa porastom broja okvira. Pristuan je u FIFO algoritmu.
8. zadatak
Postavka
Na kom disku 0 do 15 se nalazi logički blok broj 67 (blokovi su numerisani počev od 0) kod strukture block-striping RAID0?
Rešenje
Odgovor: 3
9. zadatak
Postavka
Ukratko objasniti principe mikrokernel arhitekture operativnih sistema.
Rešenje
- Mikrokernel arhitektura izbacuje nepotrebne delove iz samog kernela i pretvara ih u sistemske programe.
- Svrha je učiniti kernel što manjim, tako da ima samo minimalne funkcionalnosti (promenu konteksta, raspoređivanje, sinhronizaciju).
- Prednost je fleksibilnost, mana su lošije performanse.
10. zadatak
Postavka
Šta je inode, a šta vnode u sistemu Linux?
Rešenje
- inode je deskriptor fajla koji sadrži informacije o fajlu specifične za fajl sistem (fizička pozicija na disku i sl.)
- vnode je deskriptor fajla koji je nezavisan od fajl sistema (virtual node) i sadrži skup operacija nad fajlom
- vnode ostvaruje polimorfizam u virtuelnom fajl sistemu, koji je nezavisan od konkretnog fajl sistema i njegovih inode-ova