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

Operativni sistemi

Odgovori           februarski ispitni rok (strukovne studije) 2010/2011 

Pitanja za 1 poen

1. Kolika je veličina fizičkog adresnog prostora mikroprocesora 8086?


a. 64 KB
b. 640 KB
c. 1024 KB
d. 1088 KB
e. 4 GB

2. Nakon završetka boot procesa operativnog sistema MS-DOS, prvi aplikacioni program koji se
izvršava na računaru je:
a. init
b. login.exe
c. io.sys
d. command.com
e. kernel.bin

3. Šta od navedenog kod operativnog sistema MS-DOS generiše sinhroni prekid?


a. Deljenje nulom
b. Sistemski časovnik
c. Prekid tastature
d. Poziv BIOS servisa
e. Sistemski poziv

4. 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

5. Poznato je da je jedna od osnovnih funkcija operativnog sistema učitavanje programa u


operativnu memoriju i njihovo izvršavanje. Ali i operativni sistem je takođe program. Ko njega
može da učita u memoriju?
a. Boot Loader, koga je prethodno učitao program startnog zapisa
b. Boot Loader, koga je uneo operater upotrebom prekidača na sistemskoj konzoli
c. Niko, jer se on tamo već nalazi
d. Program startnog zapisa koga je prethodno učitao Boot Loader

6. Koje stavke pripadaju kontrolnom bloku višenitnog procesa:


a. Prioritet
b. Kontekst
c. Afinitet
d. Promenljive okruženja
e. Tekući direktorijum

7. Da li Solaris kernel ima modularnu arhitekturu? Obrazložiti odgovor.


Odgovor: Da. Solaris ima jedan manji deo kernela koji je monolitan, dok ostatak čine moduli, tj.
ima modularnu arhitekturu.

RAF.08.2008.I2S.2010
Operativni sistemi
8. Kernel niti mogu se izvršavati:
a. U celosti u prostoru kernela
b. U celosti u prostoru korisnika
c. Delom u prostoru kernela i delom u prostoru korisnika

Pitanja za 2 poena

9. Šta će biti ispisano na standardnom izlazu nakon izvršavanja sledećeg dela programa:

pid = fork(); 
if (pid ==0) { 
printf(“A”); 
fork(); 
printf(“B”); 

else if (pid > 0){ 
wait(NULL);  
printf(“C”); 
}   

Odgovor: ABABC ili ABCAB

10. Navesti dva načina dodeljivanja diskontinualne memorije.

   Odgovor: Segmentacija i straničenje.

11. U sistemu datoteka FAT16, sa klasterima veličine 1KB, nalazi se datoteka KERNEL.SYS. Odrediti
kolika je njena interna fragmentacija. Napomena: EOC = 0FFF8h
direktorijumska stavka
ime start veličina atributi
KERNEL  SYS  006A  1BA5  ... 

FAT (u brojevima klastera izostavljene su prve dve vodeće nule)


65 66 67 68 69 6A … 92 93 94 95 96 97 98 99 9A 9B
46 EOC 00 45 00 97 … 57 96 00 EOC 99 98 93 66 57 00

Odgovor: Datoteka zauzima 7 klastera (66, 6A, 93, 96, 97, 98, 99). Broj bajtova koje zauzima
datoteka je 7 x 400h = 1C00h, pa je interna fragmentacija 1C00h -1BA5h = 5Bh (91 bajt).

12. Popuniti sledeću tabelu odgovorima DA ili NE.

Operacija Istiskivanje Blokiranje


Izvršavanje niti
U prostoru kernela DA DA
U toku hardverskog prekida DA DA

RAF.08.2008.I2S.2010
Operativni sistemi
13. Za dodeljivanje memorije u kernelu operativnog sistema primenjuje se partnerski sistem (Buddy).
U nekom trenutku stanje zauzetosti prikazano je na donjoj slici (prikazani su blokovi i njihove
veličine izražene u broju stranica; osenčeni blokovi su zauzeti, beli su slobodni). Prikazati na isti
način stanje nakon dodeljivanja memorije veličine a) 1 stranice, a zatim b) još 1 stranice.
8 1 1 2 4 8 8

Odgovor:

a)
8 1 1 2 4 8 8

b)
8 1 1 1 1 4 8 8

Pitanja za 3 poena

14. Navedite najmanje tri atributa Unix procesa koji nisu istovremeno atributi njegove osnovne niti.

Odgovor: Grupni ID, tekući direktorijum, korenski direktorijum, ID sesije, kontrolni terminal,
otvorene datoteke, dostupni resursi, identifikator procesa (PID) ...

15. U sistemu datoteka FAT32, sa klasterima veličine 2KB, nalazi se datoteka veličine 11967 bajtova.
Datoteka zauzima 6 klastera.
a. Koliko blokova veličine 512 bajtova zauzima ova datoteka?
b. Kolika je interna fragmentacija za ovu datoteku?
c. Ako je kapacitet sistema datoteka 2 GB, odredite veličinu FAT tabele.

Odgovor:

a. Datoteka zauzima 6 klastera, a to je 6 × 2048/512 = 24 bloka.


b. Interna fragmentacija je 6 × 2048 – 11967 = 321 bajt.
c. Broj klastera = kapacitet sistema datoteka / veličina klastera = 2 GB / 2 KB = 1048576
klastera. FAT 32 ima 4 bajta (32 bita) po jednoj svojoj stavci. Veličina FAT tabele =
broj klastera × broj bajtova po jednoj stavci FAT = 1048576 × 4 = 4 MB.

16. Navesti tri stanja u kojima može da se nadje kernel nit (kernel thread), bez obzira na implementaciju
operativnog sistema. Nacrtati dijagram stanja i obeležiti uslove za prelazak između stanja.
switch
Odgovor:
1) Stanje nespremnosti za izvršenje 2 3
2) Stanje spremnosti za izvršenje preempt
3) Stanje izvršenja

• switch = zamena konteksa (dispatch) wakeup wait


• preempt = istiskivanje (prioritetno ili vremenski
kvantum)
• wait = blokirajući sistemski poziv 1
• wakeup = nastanak događaja na koji se čeka u
blokiranom stanju

RAF.08.2008.I2S.2010
Operativni sistemi
17. Navesti najmanje tri fukcije Microsoft Windows kernela.
1) Raspoređivanje kernel niti
2) Upravljanje rutinama za obradu prekida ili izuzetaka
3) Multiprocesorska sinhronizacija
4) Oporavak sistema nakon pada usled nestanka napajanja

Pitanja za 5 poena

18. Na sledećem listingu prikazan je početak boot sektora FAT16 diska sa koga se podiže operativni
sistem. Navesti brojnu vrednost kodnog segmenta u kome će početi izvršavanje funkcije main?
Obrazložiti odgovor!
 
mem_velicina    equ  512    ; Velicina memorije u KB 
stek_velicina    equ  1024    ; Velicina boot steka u bajtovima 
 
  mov  ax, mem_velicina 
shl  ax, 6            
sub  ax, 32     
mov  es, ax           
sub  ax, stek_velicina / 16    
mov  ss, ax 
mov  sp, stek_velicina         
mov  cx, 512           
mov  si, 7C00h         
xor  di, di            
mov  ds, di            
rep  movsb             
push  es                
push  word main         
retf 
   main:                            
push  cs 
pop  ds                
  ... 

Odgovor: Pre izvršenja funkcije main, program se kompletno relocira iz boot oblasti u oblast
512KB - 512 bajtova. Bazna adresa ovog dela memorije je 7FE00h, što znači da je
njegova segmentna adresa 7FE0h, pa je i segmenta adresa funkcije main 7FE0h.

19. Imajući u vidu da PSP kod DOS datoteke tipa COM počinje od lokacije 81h, objasniti šta radi
sledeći deo kôda:

org 100h 
 
mov  ch, 01h  ; Maksimalni broj ponavljanja instrukcije sa prefiksom rep__ 
mov  di, 81h 
mov  al, ' ' 
repe  scasb 
lea  dx, [di‐1] 
dec  di 
mov  al, 13 
repne  scasb 
mov  byte [di‐1], 0 

Odgovor: Parsuje komandnu liniju za argument COM datoteke zadat preko komandne linije. Ovaj
argument postaje string koji počinje od lokacije na koju pokazuje registar DX, a završava se nulom.

RAF.08.2008.I2S.2010
Operativni sistemi
20. Objasniti šta u sledećem listingu radi funkcija fun. Napisati mogući prototip ove funkcije u jeziku C.

fun: mov      si, bx 
     and word si, 000fh   
     mov byte al, [tab+si]       
     ret                          
tab: db '0123456789ABCDEF' 

Odgovor: Vrši konverziju donjeg binarnog nibla koji se prosleđuje preko BX u ASCII vrednost,
koja se vraća preko registra AL. Ovo se može koristiti za sve tipove konverzije iz binarnog
formata u npr. u oktalni, decimalni ili heksadecimalni, o čemu mora da vodi računa funkcja koja
poziva fun. Mogući prototip: char fun(int a);

21. U rutini za obradu prekida tastature, prikazanoj na sledećem listingu, objaniti ulogu zaokruženih
instrukcija.
 
tastatura   equ 060h 
EOI     equ 020h 
Master_8259  equ 020h 
 
obrada:                        
push  ax                   
in  al, tastatura             
mov  [kod], al 
mov  al, EOI                          
out  Master_8259, al 
pop  ax 
iret         
kod:  db 0   
 
Odgovor: Šalju nespecifičnu EOI (End Of Interrupt) komandu master kontroleru prekida, čime se
dozvoljavaju novi hardverski prekidi.    

RAF.08.2008.I2S.2010

You might also like