ОС1/Јун 2011

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу

Задаци на страници предмета.

1. задатак

Поставка

Дати кратке дефиниције мултипроцесорског система и дистрибуираног система.

Решење

Видети први задатак из јулског рока 2012. године.

2. задатак

Поставка

Који је разлог деобе процесорског времена (тиме схаринг) код интерактивних система?

Решење

Равномернији одзив на акције више корисника него без деобе времена.

3. задатак

Поставка

Зашто је стек део контекста извршавања програма?

Решење

Стек представља део контекста извршавања програма зато што се приликом позива било ког потпрограма у програму на стеку памти место одакле је потпрограм позван како би се по повратку могло наставити одакле се стало.

4. задатак

Поставка

Написати део кода који обезбеђује критичну секцију помоћу бројачких семафора, уз дозволу конкурентног извршавања критичне секције до Н упоредних процеса.

Решење

var mutex : Semaphore := N;
process P
begin
    loop
        wait(mutex);
        <critical section>
        signal(mutex);
        <non-critical section>
    end
end

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);
  1. фреад(ф1, буффер1, н1);
  2. фwрите(ф1, буффер2, н2);
  3. фреад(ф2, буффер1, н1);
  4. фwрите(ф2, буффер2, н2);

Решење

  1. успешан
  2. неуспешан
  3. успешан
  4. успешан

10. задатак

Поставка

Коришћењем података из које табеле отворених фајлова систем проверава право приступа за позиве из претходног задатка (fread и fwrite), у глобалној табели или у табели која је део контекста датог процеса?

Решење

У табели која је контекст датог процеса.