Professional Documents
Culture Documents
RAF.08.2008.I3A.2010 - Odgovori
RAF.08.2008.I3A.2010 - Odgovori
Pitanja za 1 poen
1. Kolika je veličina fizičkog adresnog prostora mikroprocesora iz klase IA32, ako se on nalazi u
realnom režimu rada?
a. 64 KB
b. 640 KB
c. 1024 KB
d. 1000 KB
e. 1088 KB
f. 4 GB
2. Shell je program koji ostvaruje vezu operativnog sistema i korisnika. Navesti bar još jednu
njegovu funkciju kod operativnog sistema MS-DOS.
3. Kod mikroprocesora iz klase IA-32, prelazak iz zaštićenog u realni 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 PE (Protected Enable) bita u kontrolnom registru CR0
d. Resetovanjem mikroprocesora
RAF.08.2008.I3A.2010
Operativni sistemi
Pitanja za 2 poena
8. 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 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 -1BFE5h = 2 bajta.
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.
10. 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
Stek (1MB)
Odgovor: 1M stavki 0xFFFFFC00
Prazan prostor
(nema memorije)
0x011FFFFF
Program i
podaci
(18MB)
0x00000000
Pitanja za 3 poena
Dodeljivanje Interna
memorije fragmentacija
Fiksne particije DA
Dinamičke particije NE
Straničenje DA
Segmentacija NE
RAF.08.2008.I3A.2010
Operativni sistemi
12. Za sistem sa veličinom stranice 2 KB, data je tabela stranica:
Stranica Okvir
0 1
1 4
2 3
3 7
4 12
Koje fizičke adrese odgovaraju sledećim logičkim adresama: 30, 249 i 2490?
30: Broj stranice = 30 div 2048 = 0. Iz tabele ovo je okvir 1. Offset = 30 mod 2048 = 30.
Fizička adresa = 1 * 2048+30 = 2078
249: Broj stranice = 249 div 2048 = 0. Iz tabele ovo je okvir 1. Offset = 249 mod 2048 = 249.
Fizička adresa = 1 * 2048+2249 = 2297
2490: Broj stranice = 2490 div 2048 = 1. Iz tabele ovo je okvir 4. Offset = 2490 mod 2048 = 442.
Fizička adresa = 4 * 2048+442 = 8634
13. U sistemu FAT32, sa klasterima veličine 2 KB, nalazi se datoteka veličine 9123 bajta. 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 9123/512 = 17,8 = 18 blokova
c) Interna fragmentacija je: broj bajtova koje zauzima datoteka – broj bajtova koje datoteka
koristi = 5 x 2048 – 9123 = 1117 bajtova
14. Na slici je prikazan dijagram stanja jedne niti, sa obeleženim uslovima za prelazak između stanja.
Kako se nazivaju stanja označena sa 1, 2 i 3 ?
switch
2 3
preempt
wakeup wait
RAF.08.2008.I3A.2010
Operativni sistemi
Pitanja za 5 poena
15. 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.
16. 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 boot?
Obrazložiti odgovor!
mem_velicina equ 512 ; Velicina memorije u KB
stek_velicina equ 1024 ; Velicina boot steka u bajtovima
boot:
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: Izvršavanje funkcije boot počinje od adrese 7C00h, jer je u pitanju boot sektor, pa je
vrednost kodnog segmenta CS=0.
RAF.08.2008.I3A.2010
Operativni sistemi
17. Pretpostavimo da su u nekom sistemu sa procesorom arhitekture IA32 već inicijalizovane tabele
GDT i IDT, kao i da postoje odgovarajuće rutine za obradu prekida. Segmentni selektori
(C_SEL,D_SEL,S_SEL)imaju poznate vrednosti.
U zaštićeni režim ulazi se na sledeći način: Modifikovani kod:
cli cli
mov eax, cr0 mov [real],cs
or eax, dword 1 mov [real+2],ds
mov cr0, eax mov [real+4],ss
jmp C_SEL:flush
mov eax, cr0
flush: or eax, dword 1
mov ax, D_SEL mov cr0, eax
mov ds, ax jmp C_SEL:flush
mov ax, S_SEL
mov ss, ax flush:
mov ax, D_SEL
mov ds, ax
Modifikovati ovaj kôd tako da kasnije bude mov ax, S_SEL
omogućen povratak u realni režim rada. mov ss, ax
segment .data
real: times 3 dw 0
18. U sledećem listingu prikazan je deo kôda koji realizuje jednostavni kružni raspoređivač sched. 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. Objasniti kako
funkcija .dispatch vrši zamenu konteksta.
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:
jmp far [task‐2]
ret
Odgovor:
Lokacija na adresi task‐2 sadrži proizvoljnu vrednost, ali to je irelevantno, jer ona ulazi u registar
IP. Ono što ulazi u segmentni selektor je sadržaj lokacije čija je adresa task, a to je selektor
taska kome treba predati kontrolu zamenom konteksta.
RAF.08.2008.I3A.2010
Operativni sistemi
19. U sledećem listingu prikazana je rutina za obradu prekida tastature. Kôd pritisnutog tastera nalazi
se u registru KBD, a ova rutina ga kopira u memorijsku lokaciju taster. Objasniti ulogu instrukcija
koje su obeležene zvezdicama.
KBD equ 060h
EOI equ 020h
PIC equ 020h
push ax
in al, KBD
mov [taster], al
mov al, EOI ; *******
out PIC, al ; *******
pop ax
iret
taster: db 0
Odgovor:
RAF.08.2008.I3A.2010