Циљ и исход предмета
Стицање основних знања и овладавање практичним вештинама у развоју софтвера за наменске рачунарске системе. Студент је оспособљен да пројектује, имплементира, тестира и анализира перформансе софтвера наменског система.
Теоријска настава
Фазе у развоју софтвера наменских система. Архитектура софтвера наменских система. Преглед развојних окружења и алата у области наменских система. Основне разлике између софтвера наменских система и апликативног софтвера. Софтверска архитектура за наменске системе. Преглед различитих врста хардвера наменских система и њихова ограничења са аспекта развоја софтвера. Анализа перформански наменских система. Методе и принципи тестирања наменског софтвера. Оптимизација перформанси према ограничењима хардвера. Пројектовање меморијског система и како он утиче на пројектовање софтвера и карактеристике целог система. Хардверско/софтверске целине за системе са једном магистралом. Софтверска подршка за рад у реалном времену. Развој драјвера уређаја. Извори грешака који потичу из софтвера. Функционисање јединице управљања. Потрошња енергије меморијског система. Управљање напајањем на системском нивоу. Основи имплементације конкурентног процесирања за наменске системе.
Практична настава
Анализа хардверских карактеристика изабраног наменског система. Вежба појектовања софтверске архитектуре са хардверским ограничењима на изабраном илустративном примеру. Имплементација компоненти софтвера наменског система. Повезивање компоненти. Тестирање перформанси имплементираног софтвера. Дискусија о могућој оптимизацији софтвера. Примена принципа конкурентног процесирања.