ОС2/Фебруар 2022

Извор: SI Wiki
< ОС2
Датум измене: 9. фебруар 2023. у 00:52; аутор: KockaAdmiralac (разговор | доприноси) (Formatiranje i latinica)
Пређи на навигацију Пређи на претрагу

Испит у фебруарском року 2022. године одржан је 10. фебруара. Поставка рока доступна је са странице предмета.

1. задатак

Поставка

Да ли се код алгоритма распоређивања Мулти-левел Феедбацк Qуеуе Сцхедулинг процесу који је дошао у ред спремних из стања суспензије по правилу смањује или повећава приоритет? Зашто?

Решење

  • Ставља се у виши (приоритетнији) ред.
  • Зато што смо прошлом проценом преценили дужину његовог налета или смо потценили његову интерактивност. Зато стављамо процес у ред у којем ће краће чекати следећи налет, али ће имати и мање време налета.

2. задатак

Поставка

На програмском језику Јава реализовати монитор са две операције, op1 и op2, при чему монитор одржава следећу инваријанту: укупан број извршавања операције op1 је увек не мањи од броја извршавања операције op2. Занемарити прекорачење ограниченог опсега целобројних бројача.

Решење

public class MyMonitor {
    private int count;

    public synchronized void op1() {
        this.count += 1;
        if (this.count == 1) notifyAll();
    }
    public synchronized void op2() {
        while (--this.count < 0) wait();
    }
}

3. задатак

Поставка

У коју категорију међупроцесне комуникације по питању именовања спада концепт цевовода (пипе)? Образложити. Шта је основна мотивација за овакав концепт?

Решење

  • Индиректно, не морамо знати тачну индетификацију процеса којем шаљемо/узимамо податке, већ само име цевовода.
  • Мотивација је распрезање кода што омогућава лакше одржавање и независно мењање кода.

4. задатак

Поставка

Навести и прецизно објаснити бар два начина спречавања мртве блокаде укидањем услова "држање и чекање" (холд анд wаит).

Решење

  • Процеси не смеју тражити нови ресурс уколико већ имају/траже неки други. За холд анд wаит су потребна бар 2 ресурса што овај приступ онемогућава.
  • Процеси све своје ресурсе морају тражити истовремено, уколико не добију све које су тражили ослобађају их па после неког времена покушавају поново све док не добију све тражене ресурсе. За холд анд wаит морамо држати неки ресурс док тражимо други, а овим приступом се то онемогућава јер се сви ресурси заузимају истовремено.

5. задатак

Поставка

Дати систем примењује избегавање мртве блокаде. Три процеса, П1, П2 и П3, најавила су коришћење оба ресурса Р1 и Р2. Нацртати граф заузећа ресурса након следеће секвенце: П1 тражи Р1, П3 тражи Р2, П2 тражи Р1, П1 ослобађа Р1. Ако више процеса чека на исти ресурс, добиће га најпре онај који га је најраније тражио.

Скица решења

  • П1 најављује коришћење свих ресурса
  • П2 тражи Р1, најављује коришћење Р2
  • П3 користи Р2, најављује коришћење Р1

6. задатак

Поставка

Код ЛРУ алгоритма замене страница коришћењем додатних бита референцирања, навести шта тачно ради оперативни систем у следеће две ситуације:

  • периодично ажурирање евиденције:
  • избор жртве за избацивање:

Решење

  • Шифтује додатне бите референцирања и у њих убацује бит референцирања који угађа хардвер који потом ресетује на 0
  • Путује по кружној листи и понавља корак под а док не наиђе на страницу којој сви бити референцирања 0

7. задатак

Поставка

Неки систем примењује систем парњака (буддy) за алокацију меморије. Стање система у датом тренутку приказано је на следећој слици:

  • X__XX__X_X__X___

Свако поље представља један елементарни блок (најмању јединицу алокације), а блокови означени са X су заузети. Приказати стање након захтева за алокацију сегмента величине два блока:

Решење

  • X__XX__X_XXXX___ или
  • X__XX__X_X__X_XX

8. задатак

Поставка

Која РАИД конфигурација има већи ефективни простор за податке, РАИД0 или РАИД1, и колики је ефективни простор за 2Н једнаких дискова? А која има већу поузданост?

Решење

  • Већу поузданост има РАИД0, а већи ефективни простор има РАИД1.
  • У овом примеру РАИД0 има 2Н, а РАИД1 има Н ефективног простора.

9. задатак

Поставка

Укратко објаснити концепт модула језгра у систему Линуx, укључујући и мотивацију за увођење тог коцнепта[сиц].

Решење

  • Језгро Линуx "довлачи" потребне делове кода тек када му затребају, нпр. драјвере, јер их иначе не садржи у свом коду.
  • Мотивација је жеља да Линуx може радити и на хардверски лошим рачунарима.

10. задатак

Поставка

Који начин алокације фајлова примењује Линуx еxт фајл систем? Укратко га објаснити.

Решење

  • Индексни, са највише 3 нивоа индирекције.
  • Налик је алокацији страница за процесе коришћењем ПЦБа.