ОС2/Јануар 2020
1. задатак
Поставка
Укратко објаснити технику предвиђања трајања наредног налета извршавања помоћу експоненцијалног усредњавања код СЈФ алгоритма распоређивања процеса.
Решење
Техника предвиђања трајања наредног налета извршавања помоћу експоненцијалног усредњавања тежи да што прецизније процени трајање наредног налета. То постиже тежинским факторисањем претходних процена и трајања претходних налета.
Формула која се користи за предвиђање:
Где је:
- : предвиђено време извршавања
- : стварно време извршавања
- : коефицијент који представља утицај историје на наредна предвиђања.
- На пример, ако је , историја нема никаквог значаја, а ако је , само последње извршавање се узима у обзир процене. Генерално се користи .
2. задатак
Поставка
На језику Јава имплементирати монитор са две операције, флип и флоп, које клијенти могу да позивају строго наизменично.
Решење
public class Monitor {
public boolean flipIsNext = true;
public synchronized void flip() {
while (!flipIsNext) {
try {
wait();
} catch (InterruptedException e) {}
}
flipIsNext ^= true;
// execute flip operation
notifyAll();
}
public synchronized void flop() {
while (flipIsNext) {
try {
wait();
} catch (InterruptedException e) {}
}
flipIsNext ^= true;
// execute flop operation
notifyAll();
}
}
3. задатак
Поставка
Шта је марсхаллинг? Шта је СОАП?
Решење
- марсхаллинг је серијализација структуре података неког изворног језика у низ бајтова погодних за пренос.
- СОАП је мессаге протокол који постоји као "међујезик" за комуникацију између веб апликација написаних у различитим изворним језицима.
4. задатак
Поставка
Стање заузећа ресурса неког система у неком тренутку дефинисано је следећим структурама:
Аллоцатион | Маx | Аваилабле | |||||||
---|---|---|---|---|---|---|---|---|---|
А | Б | C | А | Б | C | А | Б | C | |
П1 | 2 | 0 | 1 | 3 | 3 | 2 | 1 | 0 | 1 |
П2 | 0 | 1 | 1 | 2 | 3 | 3 | |||
П3 | 2 | 2 | 1 | 3 | 2 | 2 |
Да ли у датом стању треба одобрити захтев (1,0,0) процесу П1 (спровести цео поступак и образложити одговор)?
Решење
Стање после предлога:
Аллоцатион | Маx | Аваилабле | |||||||
---|---|---|---|---|---|---|---|---|---|
А | Б | C | А | Б | C | А | Б | C | |
П1 | 3 | 0 | 1 | 3 | 3 | 2 | 0 | 0 | 1 |
П2 | 0 | 1 | 1 | 2 | 3 | 3 | |||
П3 | 2 | 2 | 1 | 3 | 2 | 2 |
У овом стању није могуће завршити ни један процес - П1 захтева још 3xБ (недоступан) и 1xА. П2 захтева још 2xА, 2xБ и 2xЦ (сви недоступни). П3 захтева 1xА (недоступан) и 1xЦ. То значи да је мртва блокада могућа.
П3 би могао да се заврши да процесу П1 није био одобрен захтев. Закључак је да не треба одобрити захтев П1(1,0,0).
5. задатак
Поставка
Једна реализација протокола више читалаца-један писац (мултипле реадерс – сингле wритер) ради тако што пушта новог читаоца ако већ постоји читалац који чита. Који проблем постоји у тој реализацији?
Решење
Проблем у овој реализацији је случај у коме писац долази и чека да читалац заврши читање. Могуће је бескрајно изгладњивање писца ако непрестано долазе нови читаоци док год постоји макар један читаоц у систему.
Овај проблем се може заобићи ако, док неки читаоц чита, не пуштамо нове читаоце ако је у међувремену у ред дошао и писац.
6. задатак
Поставка
Дата је следећа секвенца референцирања страница од стране неког процеса:
2, 5, 7, 4, 5, 7, 5, 3, 2, 5, 6, 7, 5, 6, 7, 2, 4, 5, 7
Процесу су додељена 4 оквира, замена се врши локално, само у скупу страница додељених том процесу, а иницијално није учитана ниједна страница овог процеса. Колико пута овај процес генерише страничну грешку (паге фаулт) ако је алгоритам замене страница ЛРУ, а колико ако је ОПТ?
Решење
Одговор ЛРУ: 10
Одговор ОПТ: 7
7. задатак
Поставка
Укратко објаснити технику коришћења резервоара (поол) слободних оквира.
Решење
Системи обично одржавају резервоар (поол) слободних оквира: када се тражи слободан оквир, одмах је расположив у базену, тако да се нова страница учитава пре него што се покрене избацивање неке друге ради допуне резервоара (што је могуће урадити касније).
8. задатак
Поставка
У реду захтева за приступ диску налазе се захтеви за приступ следећим цилиндрима (по редоследу пристизања):
57, 38, 90, 125, 65, 36, 46.
Претходно опслужени захтев је био на цилиндру 41, а глава се креће према цилиндрима са већим бројевима. Написати редослед опслуживања ових захтева уколико је алгоритам распоређивања ЛООК.
Решење
Одговор: 46, 57, 65, 90, 125, 38, 36.
9. задатак
Поставка
Укратко описати принципе микрокернел архитектуре оперативног система.
Решење
- Мотив: свести ОС језгро на минимум, све непотребне делове претворити у системске програме и процесе који раде у корисничком моду.
- У кернелу остаје само системи за управљање процеса и меморије.
- Предности: проширивост, променљивост и преносивост.
- Мане: лошије перформансе.
10. задатак
Поставка
Који механизам користи систем Андроид да би из Јава програма позивао услуге из C библиотека?
Решење
ЈНИ (Јава Нативе Интерфаце)