Praktikum iz računarstva u oblaku
Uvod u programiranje -- testovi
Na ovoj stranici ce biti postavljani testovi iz UUP-a.
Sistemi u realnom vremenu 2023/4
Osnovi računarskih sistema RI 23
Projektovanje namenskih sistema
Projektovanje namenskih sistema - Master studije
Fiziološko Računarstvo
Na ovom predmetu se uči o različitim fiziološkim procesima čoveka, kako ih zabeležiti i kako ih predstaviti kroz zvuk, sliku, vibracije, temperaturu, miris itd. Učimo o elektronici, senzorima, Arduino, Raspberry Pi, lemimo itd. Radimo na dizajnu zvuka, koristimo 3D printer i razne alate kako bismo napravili proizvod (prototip) od početka do kraja tipa fiziološkog računarstva.
Kodovanje i teorija informacija
5G/6G tehnologije mreznog kora
Sistemko programiranje
Циљ и исход предмета
Припрема студената да постану програмери који могу да направе а) програме ниског нивоа који користе или се извршавају унутар оперативног система, б) системске алатке за друге програмере и кориснике (асемблере, компајлере, пуниоце, дебагере) и в) програме који међусобно комуницирају преко рачунарске мреже. Након завршеног курса студенати разумеју функцију и начине конструкције различитих системских алата, као што су макро процесори, асемблери, компајлери, емулатори, повезивачи и пуниоци. Могу да и сами конструишу и имплементирају сличне алате или прилагоде већ постојеће. У стању су да имплементирају различите кернел модуле за оперативне системе Unix и Windows.
Теоријска настава
Упознавање са функцијама и начином конструкције различитих системских алата, као што су макро процесори, асемблери, емулатори, повезивачи и пуниоци. Основе асемблера за различите процесорске архитектуре. Функције асемблера као алата. Конструкција асемблера и макропроцесора. Претпроцесор за језик C. Пројектовање високо оптимизујућих компајлера. Пројектовање интерпретативних и JIT емулатора. Формати објектних програма. Основне функције пуниоца. Конструкција пуниоца и повезивача. Динамичко повезивање и пуњење. Пуњење са прекривањем. Функције кернела оперативног система и њихова употреба. Упознавање са функционисањем системских библиотека и кернел API-ја различитих оперативних система Кернел АПИ и системски позиви. Програмирање улаза и излаза. Прављење управљачких програма. Дебаговање у кернелу. Имплементација кернел модула. Интерпроцесна и међурачунарска комуникација.
Практична настава
Пројектовање компактора машинског кода. Пројектовање симулатора одредишног система. Пројектовање компоненти за дебаговање и контролисано извршење програма. Интегрисано развојно окружење. Процеси, њихова међусобна комуникација и употреба команди за праћење. Имплементација најважнијих Unix системских команди. Писање нових команди. Употреба POSIX API и сигнала. Развој управљачких програма (драјвера) за Униx и Wиндоwс. Системско програмирање употребом скрипт језика.
Tehnologije rutiranja
Tehnologije komutiranja
Računarske mreže
Signali i sistemi
Signali i sistemi
Sistemi u realnom vremenu (Računarsko inženjerstvo)
Teorijska nastava
Koncept vremena. Postizanje predvidivosti. Vremenska ograničenja. Ograničenje prethođenja. Ograničenja resursa. Problem raspoređivanja. Raspoređivanje aperiodičnih taskova. Džeksonov algoritam. Hornov algoritam. Raspoređivanje bez istiskivanja. Bratlijev algoritam. Spring algoritam. Raspoređivanje sa ograničenjem prethođenja. Raspoređivanje periodičnih taskova. Ciklično raspoređivanje. Raspoređivanje monotonim tempom (RM). Earliest Deadline First (EDF). Deadline Monotonic. EDF sa ograničenim rokovima. Serveri sa fiksnim prioritetom. Pozadinsko raspoređivanje. Server sa propitivanjem. Server sa odlaganjem. Razmena prioriteta. Sporadični server. Slack Stealing. Serveri sa dinamičkim prioritetom. Server sa razmenom dinamičkih prioriteta. Dinamički sporadični server. Server sa totalnim opsegom. Earliest Deadline Late server. Poboljšani server sa razmenom prioriteta. Server sa konstantnim opsegom. Protokoli za pristup resursima. Inverzija prioriteta. Protokol bez istiskivanja. Highest Locker Priority protokol. Protokol sa nasleđivanjem prioriteta. Protokol sa gornjom granicom prioriteta. Politika stek resursa. Raspoređivanje sa ograničenim istiskivanjem. Prag istiskivanja. Odloženo istiskivanje. Rastavljanje taskova. Izbor tačaka istiskivanja. Upravljanje preopterećenjem. Rukovanje aperiodičnim preopterećenjem. Prekoračenja. Permanentna preopterećenja.
Praktična nastava
Rad sa FreeRTOS operativnim sistemom u simuliranom okruženju i na mikrokontroleru. Poznavanje elemenata FreeRTOS operativnog sistema kao što su poslovi, redovi, brave, semafori i sl. Tipični problemi konkurentnosti kod sistema u realnom vremenu. Primena i modifikacija FreeRTOS raspoređivača. Implementacija podrške za aperiodične i periodične poslove. Implementacija podrške za ograničenja prethođenja. Zapis i analiza dobijenog rasporeda sistemskog raspoređivača u simuliranom i stvarnom okruženju. Implementacija poslova sa ograničenim resursima i njihovo raspoređivanje.