ОС1/Модификације предрок 2020

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
Овај рок није решен. Помозите SI Wiki тако што ћете га решити.

Следеће модификације су се појавиле на одбрани пројекта у предроку 2020.

20 поена

  • Проширити класу Semaphore нестатичком функцијом turnOnPriorities која на том семафору уводи приоритетни сигнал након што се позове та функција (понашање као флег).
  • Приоритетни сигнал треба да увек одблокира нити по ID нити у растућем поретку, а не по досадашњем редоследу који је имплементиран.
  • Додати следеће исписе у методама wait и signal: signal треба да каже који је ID која га је позвала; wait треба да каже који је ID која га је позвала и да ли ће се блокирати на том семафору.
  • Написати тест за ову функционалност:
    • Направити 50 нити које циклично раде следеће:
    • Семафор sem коме су укључени приоритети и коме је вредност 10 пута мања од броја нити (у овом случају 5) чека;
    • Исписује се "Ушао у критичну секцију";
    • Неким другим семафором се симулира спавање нити за насумично време;
    • Семафор sem сигналира;
    • Исписује се "Изашао из критичне секције".