ОС2/Јануар 2022
1. задатак
Поставка
Навести основни проблем ФЦФС алгоритма распоређивања процеса и објаснити тај проблем на примеру. Навести и укратко објаснити и други проблем овог алгоритма.
Решење
- Основни проблем је дуго просечно време чекања за долазак на ред.
- Други проблем је тзв. конвој ефекат где група I/О-боунд процеса (који се често блокирају) чека на ЦПУ-боунд процес (који дуго заузима процес) заврши и тако у круг иду за њим као конвој што чини последицу слабијег искоришћења процесора.
2. задатак
Поставка
Коришћењем класичних условних променљивих реализовати монитор са две операције, x и y, при чему монитор одржава следећу инваријанту: укупан број извршавања операције x је увек не мањи од броја извршавања операције y. Занемарити прекорачење ограниченог опсега целобројних бројача.
Решење
monitor xy;
export x, y;
var
count : int;
canY : cond;
procedure x();
begin
count := count + 1;
if (count >= 0) then
begin
signal(canY);
end;
end;
procedure y();
begin
while (count == 0) then
begin
wait(canY);
end;
count := count - 1;
end;
begin
count := 0;
end;
3. задатак
Поставка
Објаснити зашто је немогуће у потпуности гарантовати семантику тачно једног позива код РПЦ у дистрибуираном окружењу у општем случају.
Решење
Неопходно је успоставити отпорност на изгубљене или дуплициране поруке што није тривијално. Отпорност на изгубљене поруке се може имплементирати порукама потврде пријема, али и оне могу да се изгубе; или временском контролом, која може да истекне па се онда опет мора слати захтев.
4. задатак
Поставка
Нацртати граф заузећа ресурса за дати систем који избегава мртву блокаду после следеће секвенце: П1-реqуест(Р1), П3-реqуест(Р3), П2-реqуест(Р2). Сва три процеса су најавила коришћење сва три ресурса.
Решење
П1 ће заузети Р1. Због избегавања мртве блокаде, П3 неће смети да узме Р3 (ствара се петља) док П1 не ослободи Р1.
5. задатак
Поставка
Укратко објаснити алгоритам часовника за замену страница.
Решење
- Основа је ФИФО кружна листа. Свака страница има бит који означава да ли је било приступа њој - бит референцирања.
- Постоји показивач (казаљка часовника) који показује на страницу коју треба избацити.
- Уколико страница има бит референцирања постављен на 0, она се избацује.
- Уколико је тај бит 1, поставља се на 0 (тиме се даје "друга шанса") и прелази се на следећу страницу у реду.
- Своди се на ФИФО ако су сви бити референцирања 1.
6. задатак
Поставка
Шта је кеш (цацхе), а шта плоча (слаб) код алгоритма за алокацију меморије плочама? Прецизно објаснити.
Решење
- Кеш се састоји од једне или више плоча. Служи да смести све инстанце неког типа објекта.
- Плоча је низ физички суседних страница. Поља у плочи су величине типа који њен кеш чува. Број поља зависи од величине објекта.
7. задатак
Поставка
Неки РАИД6 систем означен је на следећи начин: (12 + 3) x 2 ТБ. Колики је ефективан капацитет за податке овог система?
Решење
2 x 12 = 24 ТБ.
8. задатак
Поставка
Шта је ЦЛР у .Нет окружењу?
Решење
Цоммон Лангуаге Рунтиме (ЦЛР) је компонента виртуелне машине која покреће .НЕТ програме.
9. задатак
Поставка
Под којом лиценцом се дистрибуира Линуx кернел?
Решење
ГПЛ - ГНУ Генерал Публиц Лиценсе.
10. задатак
Поставка
Навести најмање две стандардне C библиотеке уграђене у систем Андроид и кратко навести чему оне служе.
Решење
- СQЛите - имплементација релационе базе података
- ОпенГЛ - библиотека за рендеровање 2Д и 3Д графике