ОС1/Септембар 2014
1. задатак
Поставка
Шта је мултипроцесни, а шта мултипроцесорски оперативни систем?
Решење
Мултипроцесни оперативни систем је оперативни систем који подржава извршавање више процеса упоредо (над истим процесором).
Мултипроцесорски систем је рачунарски систем са више процесора који имају дељену меморију. Процесори могу да приступају тој дељеној меморији преко заједничке магистрале на коју су повезани.
2. задатак
Поставка
Коришћењем операције yield(PCB* old, PCB* new) која чува контекст извршавања првог и рестаурира контекст извршавања другог датог процеса, имплементирати операцију wаит на семафору који је реализован класом Semaphore попут оне у школском језгру.
Решење
Видети 2. задатак из јануарског рока 2013. године.
3. задатак
Поставка
На језику C, коришћењем системских позива fork() и execlp() за Униx, написати програм који покреће други програм из фајла чији је назив задат као параметар командне линије првог програма.
Решење
Видети 4. задатак из јунског рока 2021. године.
4. задатак
Поставка
Коришћењем стандардних бројачких семафора у школском језгру, на језику C++ написати глобалне декларације и иницијализације, као и код тела две упоредне нити А и Б које циклично раде следеће:
- А: уписује вредност у дељене променљиве x и y, а затим чека да процес Б упише збир x и y у променљиву з чију вредност онда исписује на стандардни излаз;
- Б: чека да процес А упише вредности у дељене променљиве x и y, затим ове две вредности сабира и збир уписује у дељену променљиву з.
Решење
Видети 5. задатак из јунског рока 2021. године.
5. задатак
Поставка
Шта је основни разлог за то да линкер обавља задатак у два пролаза? Прецизно објаснити.
Решење
Видети решење 5. задатка из јула 2017. године.
6. задатак
Поставка
Навести најмање три сличности (нпр. заједнички захтеви, ограничења или проблеми) између континуалне алокације меморије и сегментне алокације меморије процеса.
Решење
- Оперативни систем мора да организује и одржава структуру података за евиденцију слободних фрагмената
- Оперативни систем мора да спроводи неку од техника динамичке алокације
- Проблем екстерне фрагментације
7. задатак
Поставка
Којом техником се недељиви уређај може учинити виртуелно дељивим? Навести класичан пример таквог уређаја за који се најчешће примењује ова техника.
Решење
Видети 6. задатак из јунског рока 2021. године.
8. задатак
Поставка
У фајл подсистему неког оперативног система не води се табела отворених фајлова за сваки процес, већ постоји само једна глобална табела отворених фајлова за цео систем. Другим речима, не постоји никаква информација о употреби отвореног фајла локална (приватна) за појединачни процес, већ су све такве информације глобално дељене. Да ли појам показивача тренутне локације (курзора) за читање/упис у фајл има смисла чувати у глобалној табели отворених фајлова и зашто?
Решење
Не, јер више различитих процеса могу имати различиту вредност курзора.
9. задатак
Поставка
Дати процену комплексности датих операција са директоријумом у односу на број постојећих фајлова н у директоријуму, за наведене имплементације директоријума, уколико у случају хасх табеле нема ниједне колизије.
Решење
| Хасх табела са двоструком уланчаним листама за решавање колизије | Двоструко уланчана листа са показивачима на главу и реп листе | |
|---|---|---|
| Проналажење улаза са датим именом | О(1) | О(н) |
| Додавање новог улаза са јединственим именом (не рачунајући проверу јединствености имена) | О(1) | О(1) |
10. задатак
Поставка
Неки фајл систем користи индексирани приступ алокацији фајлова са индексима у два нивоа, блоком величине 256КБ и 64-битним адресама физичких блокова. Колика је максимална величина фајла у овом систему?
Решење
- Број улаза:
- Максимална величина фајла: