Professional Documents
Culture Documents
RAF.08.2008.I4A.2010 - Odgovori
RAF.08.2008.I4A.2010 - Odgovori
RAF.08.2008.I4A.2010 - Odgovori
Pitanja za 2 poena
1. U koje stanje prelazi nit koja je istisnuta sa procesora zbog isteka vremenskog kvantuma?
Odgovor: Za stranicu se kaže da je čista kada je njena memorijska verzija ista kao ona na disku.
U suprotnom, za nju se kaže da je prljava. Stranice se povremeno upisuju na disk i kernel to radi
u pozadini. Operacije može da se forsira upotrebom sistemskog poziva sync. Kernel može da
preda okvir čiste stranice drugome na korišćenje jer zna da može ponovo da je učita sa diska.
Međutim, prljave stranice moraju prvo da se snime na disk pa tek onda njihovi okviri mogu
ponovo da se koriste.
3. Na slici je prikazan fizički adresni prostor jednog 32-bitnog Unix sistema. Ako pretpostavimo da su
stranice veličine 4 KB, koliko stavki mora da ima tabela stranica ukoliko se koristi jedinstvena
tabela stranica?
0xFFFFFFFF
Odgovor: 18 MB/4KB = 4608 stavki
Prazan
prostor (nema
memorije)
0x011FFFFF
Program,
podaci i stek
(18MB)
0x00000000
4. Šta će biti ispisano na standardnom izlazu nakon izvršavanja sledećeg dela programa:
pid = fork();
if (pid ==0) {
printf(“1”);
fork();
printf(“0”);
}
else if (pid > 0){
wait(NULL);
printf(“2”);
}
RAF.08.2008.I4A.2010
Operativni sistemi
Pitanja za 3 poena
Dodeljivanje Interna
memorije fragmentacija
Dinamičke particije NE
Segmentacija NE
Straničenje DA
Stranica Okvir
0 12
1 15
2 6
3 1
4 2
5 17
6 3
Koje fizičke adrese odgovaraju sledećim logičkim adresama: 249, 2490 i 24900?
249: Broj stranice = 249 div 4096 = 0. Iz tabele ovo je okvir 12. Offset = 249 mod 4096 = 249.
Fizička adresa = 12 * 4096+249 = 49401
2490: Broj stranice = 2490 div 4096 = 0. Iz tabele ovo je okvir 12. Offset = 2490 mod 4096 =
2490. Fizička adresa = 12 * 4096+2490 = 51642
24900: Broj stranice = 24900 div 4096 = 6. Iz tabele ovo je okvir 3. Offset = 24900 mod 4096 =
324. Fizička adresa = 3 * 4096+324 = 12612
8. U sistemu FAT32, sa klasterima veličine 2 KB, nalazi se datoteka veličine 10240 bajtova.
Datoteka je smeštena u sledećim klasterima: 5, 10, 30, 40, 75. Ako je veličina jednog bloka 512
bajtova, odrediti:
a) koliko blokova zauzima datoteka
b) koliko blokova koristi datoteka
c) kolika je interna fragmentacija
Odgovor:
a) Datoteka zauzima 5 klastera, a to je 5 x 2048/512 = 20 blokova
b) Datoteka koristi 10240/512 = 17,8 = 20 blokova
c) Interna fragmentacija je: broj bajtova koje zauzima datoteka – broj bajtova koje datoteka
koristi = 5 x 2048 – 10240 = 0 bajtova (nema interne fragmentacije)
RAF.08.2008.I4A.2010
Operativni sistemi
Pitanja za 5 poena
9. Na sledećem listingu prikazan je jednostavni kružni raspoređivač kojeg poziva prekidna rutina
tajmera. Svi TSS segmenti taskova su inicijalizovani. Selektor nultog taska učitan je u registar TR
kao i u varijablu task. Selektori ostalih taskova nalaze se redom iza slektora nultog taska.
Napišite deo programa koji realizuje zamenu konteksta (funkciju jmp2tss).
TASK_0 equ 32 ; Selektor taska 0
TASKOVA equ 4 ; Broj taskova
deskriptor equ 8 ; Velicina task deskriptora
SEGMENT DATA
task: dw 0
SEGMENT CODE
sched:
add word [task], deskriptor
cmp byte [task], TASK_0+(TASKOVA‐1)*deskriptor
jle .dispatch
mov word [task], TASK_0
.dispatch:
push word [task]
call jmp2tss
pop cx
ret
Odgovor:
jmp2tss:
push bp
mov bp, sp
jmp far [ss:bp+2]
pop bp
ret
10. U sistemu datoteka FAT16, sa klasterima veličine 1 KB, nalazi se datoteka DATA.TXT. Odrediti
kolika je njena interna fragmentacija. Napomena: EOC = 0FFF8h
direktorijumska stavka
ime start veličina atributi
DATA TXT 006A 1BFE ...
Odgovor: Datoteka je sa greškom i nije upotrebljiva. Lanac klastera čini zatvorenu petlju tako da
nije moguće odrediti njen kraj, bez obzira na veličinu koja upisana u direktorijumu.
RAF.08.2008.I4A.2010
Operativni sistemi
11. Šta je svrha sledećeg dela programa:
video equ 0B800h
mov ax, video
mov es, ax
mov bx, word 320
mov si, hex
next: mov al, byte [si]
cmp al, 0
je end
mov byte [es:bx], al
inc si
inc bx
jmp next
end: ret
hex: db '7 C 0 0 h ',0
12. Napisati deo kôda koji ispituje da li je učitani MS-DOS program tipa EXE.
Odgovor:
mov ax, bafer ; pocetak bafera gde je ucitan program sa diska
mov es, ax
cmp word [es:0], 5A4Dh ; Da li su pva dva bajta "MZ"?
je JesteEXE ; Ako jesu, to je EXE program
13. Objasniti šta je to LBA (Logičko Blok Adresiranje) za pristup blokovima diska.
Odgovor: Logičko Blok Adresiranje (LBA) je standardna šema za određivanje lokacije blokova
podataka sačuvanih na spoljašnjim medijumima, kao što su npr. diskovi. LBA je linerana šema
koja adresira blokove upotrebom celobrojnog indeksa, gde je prvi blok označen sa LBA 0, drugi
sa LBA 1, itd. LBA zamenjuje starije šeme koje su koristile fizičke detalje (Cylinder-Head-Sector
geometriju) diska, uvodeći apstrakciju koja je primenljiva i na druge medijume, npr. magnetne
trake, mrežne diskove, itd.
Odgovor: Pokušaj adresiranja stranice koja nije prisutna generiše grešku. Ovaj izuzetak mora da
poseduje svoju stavku u tabeli prekida. Rutina za obradu, na osnovu kôdne oznake greške koju
uzima sa steka, određuje zbog čega je nastala greška a zatim proverava da li je linearna adresa
ispravna (da li je translacija dozvoljena i da li je moguća translacija u fizičku adresu). Ako nije,
procesu se šalje signal ili poruka, nakon čega se on zaustavlja i o tome se ispisuje poruka (Unix
Kernel Panic ili Windows BSOD). Ako je adresa ispravna, rutina proverava da li ima slobodnih
okvira u fizičkoj memoriji. Ako nema, primenjuje neki od algoritama zamene. Sledi blokirajući
sistemski poziv rutine za upis sadržaja okvira na disk. U deskriptor stranice koja je izazvala
izuzetak kopira se adresa izabranog okvira, u stari deskriptor oznaka da stranica nije prisutna, a u
ostatak starog deskriptora lokacija stare stranice na disku. Tekući proces se stavlja u blokirano
stanje čekanja na završetak disk operacije. U međuvremenu se izvršava neki drugi proces. Po
završetku disk operacije upisivanja stranice, blokirani proces se aktivira, a u deskriptor se upisuje
da je stranica čista. Okvir sada može da se koristi za učitavanje nove stranice. Tražena stranica
se pronalazi na disku. Ponovo se koristi blokirajući sistemski poziv za učitavanje sa diska, tokom
koga proces ponovo blokira, a neki drugi se izvršava. Kada se završi učitavanje stranice, ažurira
se odgovarajuća tabela stranica. Programski brojač na steku ponovo se postavlja na instrukciju
koja je napravila straničnu grešku. Proces se prebacuje u stanje spreman. Nastavalja se
izvršavanje rutine za obradu stranične greške, koja se na svom izlazu vraća procesu kao da se
greška nije ni dogodila.
RAF.08.2008.I4A.2010