Системи у реалном времену

Циљ и исход предмета

Циљ предмета је стицање знање о карактеристикама и начину функционисања система у реалном времену, као и овладвање техникама битним за пројектовање и реализацију апликација у реалном времену. По завршетку курса, студент има основна знања о фундаменталним проблемима, појмовима и приступима у пројектовању и анализи система у реалном времену. Разуме и имплементира одговарајуће алгоритме рспоређивања. Разуме моделе комуникације и синхронизације конкурентних процеса у таквим системима. Уме да користи и управља ресурсима у системима реалног времена. У стању је да изврши најпогоднији избор програмског језика за решавање конкретних проблема у системима реалног времена.

Теоријска настава

Концепт времена. Постизање предвидивости. Временска ограничења. Ограничење претхођења. Ограничења ресурса. Проблем распоређивања. Распоређивање апериодичних таскова. Џексонов алгоритам. Хорнов алгоритам. Распоређивање без истискивања. Братлијев алгоритам. Спринг алгоритам. Распоређивање са ограничењем претхођења. Распоређивање периодичних таскова. Циклично распоређивање. Распоређивање монотоним темпом (RM). Earliest Deadline First (EDF). Deadline Monotonic. EDF са ограниченим роковима. Сервери са фиксним приоритетом. Позадинско распоређивање. Сервер са пропитивањем. Сервер са одлагањем. Размена приоритета. Спорадични сервер. Slack Stealing. Сервери са динамичким приоритетом. Сервер са разменом динамичких приоритета. Динамички спорадични сервер. Сервер са тоталним опсегом. Earliest Deadline Late сервер. Побољшани сервер са разменом приоритета. Сервер са константним опсегом. Протоколи за приступ ресурсима. Инверзија приоритета. Протокол без истискивања. Highest Locker Priority протокол. Протокол са наслеђивањем приоритета. Протокол са горњом границом приоритета. Политика стек ресурса. Распоређивање са ограниченим истискивањем. Праг истискивања. Одложено истискивање. Растављање таскова. Избор тачака истискивања. Управљање преоптерећењем. Руковање апериодичним преоптерећењем. Прекорачења. Перманентна преоптерећења.

Практична настава

Рад са FreeRTOS оперативним системом у симулираном окружењу и на микроконтролеру. Познавање елемената FreeRTOS оперативног система као што су послови, редови, браве, семафори и сл. Типични проблеми конкурентности код система у реалном времену. Примена и модификација FreeRTOS распоређивача. Имплементација подршке за апериодичне и периодичне послове. Имплементација подршке за ограничења претхођења. Запис и анализа добијеног распореда системског распоређивача у симулираном и стварном окружењу. Имплементација послова са ограниченим ресурсима и њихово распоређивање.