ОС1/Јун 2011
1. задатак
Поставка
Дати кратке дефиниције мултипроцесорског система и дистрибуираног система.
Решење
Мултипроцесорски систем је рачунарски систем са више процесора који имају заједничку (дељену) оперативну меморију (енгл. схаред меморy). Процесори могу да приступају тој дељеној меморији, тј. да читају из ње и у њу уписују, нпр. преко заједничке магистрале на коју су повезани.
Дистрибуирани систем је рачунарски систем са више процесора који немају заједничку оперативну меморију, већ сваки процесор има своју, али су сви повезани комуникационом мрежом.
2. задатак
Поставка
Који је разлог деобе процесорског времена (тиме схаринг) код интерактивних система?
Решење
Равномернији одзив на акције више корисника него без деобе времена.
3. задатак
Поставка
Зашто је стек део контекста извршавања програма?
Решење
Стек представља део контекста извршавања програма зато што се приликом позива било ког потпрограма у програму на стеку памти место одакле је потпрограм позван како би се по повратку могло наставити одакле се стало.
4. задатак
Поставка
Написати део кода који обезбеђује критичну секцију помоћу бројачких семафора, уз дозволу конкурентног извршавања критичне секције до Н упоредних процеса.
Решење
var mutex : Semaphore := N;
process P
begin
loop
wait(mutex);
<critical section>
signal(mutex);
<non-critical section>
end
end P
5. задатак
Поставка
Коришћењем системских позива fork() и execlp() написати C програм који креира процес над програмом у фајлу чије је име задато аргументом командне линије.
Решење
int main(int argc, char* argv[]) {
if(argc < 2)
return -1;
pid_t pid = fork();
if(pid < 0)
return -2;
else if(pid == 0)
execlp(argv[1]);
else wait(0);
return 0;
}
6. задатак
Поставка
Меморија неког рачунара организована је странично, са страницом величине 4КБ. Адресибилна јединица је бајт, а виртуелна адреса је 32-битна. Физичка адреса је величине 32 бита. Ако је ПМТ организована у два нивоа, с тим да су величине поља за број улаза у табеле оба нивоа исти, колика је величина (у бајтовима) ПМТ првог нивоа?
Решење
ВА(32): 10,10,12
Улаз је величине 32б тј 4В
7. задатак
Поставка
Да ли линкер приликом повезивања са циљем добијања извршног програма (.еxе) прави разлику између фајлова типа .обј и типа .либ?
Решење
Линкер не прави разлику између .обј и .либ фајлова приликом повезивања. Разлика је једино што је .обј фајл настао превођењем једног фајла док је либ фајл настао повезивањем више објектних, могуће и више других фајлова.
8. задатак
Поставка
Којом техником се знаковно оријентисани улазни уређај може учинити логички (виртуелно) блоковски оријентисаним?
Решење
Техником баферисања.
9. задатак
Поставка
Неки процес извршава редом следеће системске позиве. Под претпоставком да корисник у чије име се извршава овај процес има право приступа до оба фајла и на читање и на упис, и да оба позива за отварање фајлова успевају, навести који од преосталих позива ће бити успешан, а који неуспешан (уписати на линији поред позива).
FHANDLE f1 = fopen(“x.doc”,read);
FHANDLE f2 = fopen(“y.doc”,read|write);
fread(f1,buffer1,n1);fwrite(f1,buffer2,n2);fread(f2,buffer1,n1);fwrite(f2,buffer2,n2);
Решење
- успешан
- неуспешан
- успешан
- успешан
10. задатак
Поставка
Коришћењем података из које табеле отворених фајлова систем проверава право приступа за позиве из претходног задатка (fread и fwrite), у глобалној табели или у табели која је део контекста датог процеса?
Решење
У табели која је контекст датог процеса.