Opis predmeta
Predmet se navezuje na »64136 Načrtovanje vgrajenih sistemov«
1) Osnovni pojmi in problemi: Večopravilnost, izvajanje programa v realnem času, problem hkratnega dostopa do skupnih enot, problem usklajene komunikacije.
2) Načelo časovnega rezinjenja in posledice: Oblikovanje časovnih rezin, ocena zmogljivosti, praktična izvedba na nivoju zbirnika oziroma na nivoju programskega jezika C, večskladovne podatovne strukture, prekinitve, izračun odzivnega časa sistema.
3) Sinhronizacija in arbitraža: Cevovodne podatkovne strukture, medpomnilniki, semaforji, programski atomi.
Predmet učimo na programih
Elektrotehnika 1. stopnja
Cilji in kompetence
Razumeti problematiko programiranja vgrajenih sistemov: zahteve po sočasnem izvajanju večih opravil in hkrati zahteve po izvajanju v realnem času. Osvojiti osnovne tehnike programiranja časovnih rezin in reševati tipične sinhronizacijske probleme. Pridobiti praktične izkušnje pri delu v laboratoriju na lastni strojni opremi, ki je bila izdelana v okviru vezanega predmeta 64136.
Metode poučevanja in učenja
Predavanja, vodena diskusija, laboratorijsko skupinsko delo, samostojno seminarsko delo.
Predvideni študijski rezultati
Po uspešno opravljenem izpitu naj bi bili študenti zmožni:
- izračunati najdaljši čas izvajanja za napisano funkcijo v jeziku C
- izračunati maksimalne potrebe po skladu za poljubno programsko C kodo
- izbrati primerno upravljalsko shemo za kopico
- izračunati razvrstljivost za poljuben podan problem prioritetnega razvrščanja
- ugotoviti potencialno mrtvo ali neskončno pad situacijo
- uporabiti sinhronizacijske primitive in semaforje
Temeljni viri in literatura
1. PUHAN, Janez, TUMA, Tadej. Uvod v mikrokrmilniške sisteme : zgradba in programiranje. 2. dopolnjena izd. Ljubljana: Založba FE in FRI, cop. 2011. III, 206 str.
2. Večje število PDF datotek s področja mikrokrminliške družine Arduino Due. Ustrezne spletne povezave na posodobljen seznam datotek se sproti objavlja na spletnih straneh predmeta.