Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

Operativni sistemi

Odgovori junski ispitni rok 2018

Pitanja su grupisana u tri kategorije, prema broju poena koji nose. Nema negativnih poena.

Pitanja za 1 poen

1. Šta od navedenog generiše asinhroni prekid:


a. Deljenje nulom INT 00h
b. Sistemski časovnik INT 08h
c. Poziv BIOS servisa INT 10h
d. Sistemski poziv INT 21h

2. Kolika je veličina linearnog adresnog prostora mikroprocesora iz klase IA32, ako se on nalazi u
realnom režimu rada?
a. 64 KB
b. 1024 KB
c. 1088 KB
d. 4 GB

3. Na koji način MS-DOS kernel poziva funkcije korisničkih programa?


a. Far call
b. Near call
c. Softverski prekid
d. IRQ

Napomena: Ništa od ponuđenog. Kernel ne poziva funkcije korisničkih programa

4. Kod mikroprocesora iz klase IA-32, prelazak iz realnog u zaštićeni režim rada ostvaruje se:
a. Upotrebom sistemskog poziva
b. Zabranom prekida (uključujući i NMI, ukoliko to dozvoljavaju spoljašnja elektronska kola)
c. Resetovanjem mikroprocesora, nakon čega on odmah prelazi u zaštićeni režim rada
d. Postavljanjem PE (Protected Mode Enable) bita u kontrolnom registru CR0

5. Kolika je veličina FAT tabele u sistemu datoteka FAT16 kapaciteta 1GB, ako je veličina klastera
16KB?
a. 6 KB
b. 64 KB
c. 128 KB
d. 256 KB
Operativni sistemi
Pitanja za 2 poena

1. Objasniti:
a. Koja je glavna prednost korisničkih niti u odnosu na kernel niti
b. Koji je glavni nedostatak korisničkih niti u odnosu ne kernel niti

Odgovor:
a. Kod česte zamene konteksta (npr. kod GUI), korisničke niti su znatno brže jer nema promena
nivoa privilegije.
b. Korisničke niti mogu da prave problem prilikom blokirajućeg sistemskog poziva, kada se
blokira ceo proces, a sa njim i korisničke niti koje nisu aktivne.

2. Šta će biti ispisano na standardnom izlazu nakon izvršenja sledećeg programa

#include <sys/types.h>
#include <stdio.h>

int main(){
pid_t pid;
printf("A");
pid = fork();
if (pid == 0) fflush(stdout);
else wait(NULL);
}
Odgovor: AA

3. Navesti bar dva načina realizacije sistemskih poziva kod arhitekture IA32.
Odgovor: Call Gate, softverski prekid, Fast Call mehanizam.

4. Data je tabela deskriptora segmenata:

Selektor Deskriptor
Bazna adresa segmenta Dužina segmenta
1 219 196
2 1327 196
3 2300 410
4 101 101
5 1327 580

Koje linearne adrese odgovaraju sledećim logičkim adresama:


2:196 Ilegalna adresa
5:196 1523

5. Šta je to Bilejdijeva anomalija kod upotrebe memorije sa straničenjem?


Odgovor:
Ukoliko se kod straničenja za zamenu memorijskih stranica koristi FIFO algoritam, Bilejdijeva
anomalija predstavlja situaciju kada se broj PF prekida (Page Fault) povećava sa povećanjem broja
memorijskih okvira, umesto da se smanjuje.
Operativni sistemi
Pitanja za 3 poena

1. Na jednom IA32 procesorskom jezgru koje radi u realnom režimu, izvršava se task kojeg
periodično treba istisnuti i zameniti drugim taskom. Prekid koji potiče od sistemskog časovnika
periodično vrši prekidanje izvršavanja prvog taska, a rutina za obradu prekida, koja nije task,
završava se instrukcijom IRET. Kako će se izvršavati drugi task, kada instrukcija IRET po definiciji
vraća kontrolu na mesto prekida, tj. prvom tasku?
Odgovor:
Zamenom stekova ova dva taska tokom izvršavanja prekidne rutine. Zamena se vrši punjenjem
registra SP (stek pointera) sa vrednošću koja je sačuvana u TCB (kontrolnom bloku taska). Koji
TCB će biti izabran zavisi od algoritma raspoređivanja. Međutim, kada se jednom izabere i
promenom vrednosti SP izvrši zamena steka, nakon istrukcije IRET izvršavanje se ne nastavlja u
prvom tasku već u dugom tasku, jer se na zamenjenom steku nalaze njegove povratne vrednosti
(flags, CS, IP).

2. Koje su prednosti, a koji nedostaci sledeće tri realizacije mutex-a (edx sadrzi adresu mutex
promenljive)?
a) b) c)
mutex_lock: mutex_lock: mutex_lock:
xor eax,eax xor eax,eax xor eax,eax
lock lock L:lock
xchg dword [edx],eax xchg dword [edx],eax xchg dword [edx],eax
test eax,eax test eax,eax test eax,eax
jnz acquired jnz acquired jnz acquired
call _kernel_wait call _scheduler jmp L
acquired: acquired: acquired:
ret ret ret

Odgovor:
a) Blokirajuće zaključavanje. Prednost: čekanje na ključ ne opterećuje procesor. Nedostatak:
zaključavanje i otključavanje traju dugo, zbog promene nivoa privilegije.
b) Neblokirajuće zaključavanje – yield. Prednost: brzo zaključavanje. Nedostatak: opterećenje
reda spremnih procesa. Trenutak otključavanja zavisi od dugih niti, iako one ne koriste ovaj
mutex.
c) Neblokirajuće zaključavanje – spinlock. Prednost: brzo zaključavanje i otključavanje.
Nedostatak: kod jednoprocesorskog sistema, permanentno zauzeće procesora, sve do
istiskivanja.

3. U sistemu datoteka FAT16, sa klasterima veličine 8 KB, nalazi se datoteka veličine 22345 bajtova.
Datoteka je smeštena u sledećim klasterima: 6, 12, 15.
a) Koliko blokova veličine 512 bajtova datoteka zauzima, a koliko blokova koristi?
b) Kolika je interna fragmentacija za ovu datoteku?
c) Ako je kapacitet sistema datoteka 1 GB, odredite veličinu FAT tabele.
Odgovor:
a) Datoteka zauzima 3 klastera, a to je 3 × 8192/512 = 48 blokova.
b) Interna fragmentacija je 3 × 8192 – 22345 = 2231 bajt.
c) Broj klastera = kapacitet sistema datoteka /veličina klastera = 1 GB / 8 KB = 131072 klastera
FAT 16 ima dva bajta (16 bitova) po jednoj svojoj stavci
Veličina FAT tabele = broj klastera × broj bajtova po jednoj stavci FAT = 131072 × 2 = 256 KB
Operativni sistemi
4. Šta je to mikrokernel arhitektura? Šta je prednost a šta nedostatak ove arhitekture?
Odgovor:
Mikrokernel aritektura je rešenje kada se u prostoru kernela nalazi samo kernel sa minimalnim
funkcijama (raspoređivanje i dodeljivanje resursa), a da se ostale funkcionalnosti sistema (npr.
sistemi datoteka, drajveri, itd.) realizuju kao korisnički procesi.Komunikacija među procesima vrši
se razmenom poruka. Prednost takve arhitekture u odnosu na monolitne ili modularne je visoka
pouzdanst i robusnost. Pad nekog podistema (npr. drajvera) ne izaziva krah čitavog sistema.
Nedostatak su lošije performanse zbog česte promene nivoa privilegije prilikom prenosa poruka.

5. Na dijagramu su prikazana stanja u kojima može da se nađe neki Unix proces. Objasnite šta znače
stanja označena sa READY MEMORY i READY SWAPPED.

intr

exit RUN return RUN


ZOMBIE KERNEL USER
syscall

sleep schedule return


preempt preempted

SLEEP wakeup READY


MEMORY MEMORY new

fork
swap_ out swap_ out swap_ in CREATED

SLEEP wakeup READY new


SWAPPED SWAPPED swapped

Odgovor:

READY MEMORY: Proces koji je spreman za izršavanje i nalazi se u redu čekanja u operativnoj
memoriji.

READY SWAPPED: Proces koji je spreman za izršavanje, ali se nalazi na disku. Da bi dobio
procesor, ovaj proces mora prvo da uđe u red čekanja u operativnoj memoriji, tj. da pređe u stanje
READY MEMORY. Stanje READY SWAPPED je svojstveno starijim verzijama Unixa, kada je
operativna memorija računara bila vrlo ograničena i kada je nekada bilo potrebno izbacivati čitav
proces iz operativne memorije, čak i kada je bio u stanju spremnosti na izvršenje. U savremenim
sistemima, zahvaljujući upotrebi efikasnije virtuelne memorije, ovo stanje više nije potrebno.

You might also like