Senzori i aktuatori

Категорија курсаRačunarsko inženjerstvo

Izborni predmet - Racunarsko inzenjerstvo

Kreatori kursa: Djordje Babic

Uvod u programiranje -- testovi

Категорија курсаRačunarsko inženjerstvo

Na ovoj stranici ce biti postavljani testovi iz UUP-a.

Projektovanje namenskih sistema

Категорија курсаRačunarsko inženjerstvo

Projektovanje namenskih sistema - Master studije

Kreatori kursa: Lazar Karbunar

Fiziološko Računarstvo

Категорија курсаRačunarsko inženjerstvo

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.

Kreatori kursa: Jelena Mladenovic

Sistemko programiranje

Категорија курсаRačunarsko inženjerstvo
Циљ и исход предмета

Припрема студената да постану програмери који могу да направе а) програме ниског нивоа који користе или се извршавају унутар оперативног система, б) системске алатке за друге програмере и кориснике (асемблере, компајлере, пуниоце, дебагере) и в) програме који међусобно комуницирају преко рачунарске мреже. Након завршеног курса студенати разумеју функцију и начине конструкције различитих системских алата, као што су макро процесори, асемблери, компајлери, емулатори, повезивачи и пуниоци. Могу да и сами конструишу и имплементирају сличне алате или прилагоде већ постојеће. У стању су да имплементирају различите кернел модуле за оперативне системе Unix и Windows.

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

Упознавање са функцијама и начином конструкције различитих системских алата, као што су макро процесори, асемблери, емулатори, повезивачи и пуниоци. Основе асемблера за различите процесорске архитектуре. Функције асемблера као алата. Конструкција асемблера и макропроцесора. Претпроцесор за језик C. Пројектовање високо оптимизујућих компајлера. Пројектовање интерпретативних и JIT емулатора. Формати објектних програма. Основне функције пуниоца. Конструкција пуниоца и повезивача. Динамичко повезивање и пуњење. Пуњење са прекривањем. Функције кернела оперативног система и њихова употреба. Упознавање са функционисањем системских библиотека и кернел API-ја различитих оперативних система Кернел АПИ и системски позиви. Програмирање улаза и излаза. Прављење управљачких програма. Дебаговање у кернелу. Имплементација кернел модула. Интерпроцесна и међурачунарска комуникација.

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

Пројектовање компактора машинског кода. Пројектовање симулатора одредишног система. Пројектовање компоненти за дебаговање и контролисано извршење програма. Интегрисано развојно окружење. Процеси, њихова међусобна комуникација и употреба команди за праћење. Имплементација најважнијих Unix системских команди. Писање нових команди. Употреба POSIX API и сигнала. Развој управљачких програма (драјвера) за Униx и Wиндоwс. Системско програмирање употребом скрипт језика.

Kreatori kursa: Milos Jovanovic

Neuronske mreže

Категорија курсаRačunarsko inženjerstvo
Kreatori kursa: Milan Tomić

Računarske mreže

Категорија курсаRačunarsko inženjerstvo
Kreatori kursa: Mladen Stanojevic
Asistent: Veljko Pernar

Signali i sistemi

Категорија курсаRačunarsko inženjerstvo

Signali i sistemi

Ovladavanje matametičkim aparatom za modeliranje signala i sistema u vremenskom, frekvencijskom i kompleksnom domenu
Poznavanje standardnih tipova signala i mogućnosti njihove obrade
Poznavanje osnovnih karakteristika sistema i elemenata analize sistema
Razumevanje odnosa frekvencijskih i vremenskih karakteristika signala i problema filtracije signala
Razumevanje poroblema diskretizacije signala
Vladanje softverskim alatom za analizu signala i sistema
Kreatori kursa: Djordje Babic, Đorđe Babić

Sistemi u realnom vremenu (Računarsko inženjerstvo)

Категорија курса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.

Kreatori kursa: Stevan Milinković