Системско програмирање

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

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

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

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

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

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

3034-sistemsko-programiranje

sbobet88 slot agb99 situs slot slot777 AMANAHTOTO toto AMANAHTOTO AMANAHTOTO slot SLOT GACOR AMANAHTOTO toto slot88 ASIA200 ASIA200 ASIA200 bayijudy.com situs resmi bayitoto slot gacor popotogel login situs slot eropa99 hoki99 roma77 babe138 roma77