ОС1/Модификације јул 2021
< ОС1
Пређи на навигацију
Пређи на претрагу
Следеће модификације су се појавиле на одбрани пројекта у јулском року 2021.
Основа
- Треба прошити класу
IVTEntry
тако да може сигналује више догађаја у редоследу по приоритетима. - Треба изменити конструктор класе
Event::Event(IVTNo ivtNo, int priority)
тако да прима приоритет по ком ће се ослобађати (већи је приоритетнији).
20 поена
- Направити програм који креира 50 нити које циклично чекају на догађају тастатуре (9h), па онда симулирају рад локалним семафором или упосленим чекањем.
- За бирање дужине чекања користити функцију
rand()
изstdlib.h
- У методи
Event::wait()
догађаја додати да се пре блокирања исписујеBLOCKED - THREAD ID = x
, где је x ID нити. - Након ослобађања догађаја треба да се испише
SIGNALED - THREAD ID = x
.
30 поена
- Направити програм који
fork()
ом креира 50 нити које циклично чекају на догађају тастатуре (9h), па онда симулирају рад локалним семафором или упосленим чекањем. - За бирање дужине чекања користити функцију
rand()
изstdlib.h
- У методи
Event::wait()
догађаја додати да се пре блокирања исписујеBLOCKED - THREAD ID = x
, где је x ID нити. - Након ослобађања догађаја треба да се испише
SIGNALED - THREAD ID = x
, где је x ID нити.