Vgradni sistemi

Opis predmeta

Uvod, bistvene arhitekturne lastnosti vgradnih sistemov, napredni vgradni sistemi, področja in primeri uporabe.

Koncepti operacijskih sistemov (OS).  OS v realnem času. OS za vgradne sisteme.

Linux, pregled sistemskih klicev in funkcij.

Upravljanje procesov/opravil, večopravilnost, večnitnost. Upravljanje pomnilnika. Razvrščanje procesov/opravil. Sistemski klici in funkcije za upravljanje procesov/niti. Primeri v programskem jeziku C/C++.

Medprocesne komunikacije, kritično področje, sinhronizacija, semaforji, signali, deljen pomnilnik, cevi, sporočila. Sinhronizacija niti. Sistemski klici in funkcije,  s primeri v programskem jeziku C/C++.

Koncepti komunikacijskih omrežij,  ISO OSI, TCP/IP, protokoli in storitve. Model odjemalec strežnik. Programski vmesnik komunikacijskih vtičnic s primeri v jeziku C/C++.

Čas in upravljanje časa. Časovniki. Sistemi v realnem času. Razvrščanje v sistemih realnega časa. Primeri v jeziku C/C++.

Večprocesorski sistemi, oblike paralelizmov, pohitritev, učinkovitost, načrtovanje paralelnih/porazdeljenih algoritmov in programov.

Predmet učimo na programih

Elektrotehnika 2. stopnja

Cilji in kompetence

Razumevanje osnovnih načel ter uporaba sodobnih tehnologij in rešitev v naprednejših vgradnih  sistemih za avtomatiko in robotiko.

Metode poučevanja in učenja

Na predavanjih so predstavljene teoretične osnove obravnavanih poglavij skupaj s praktičnimi prikazi na Linuxu.

Praktično delo poteka v okviru laboratorijskih vaj. Te so zasnovane v obliki večih programerskih nalog, v katerih se študentje postopoma seznanjajo s posameznimi elementi modernih operacijskih sistemov na konkretnem primeru Linuxa. Skupino na vajah  sestavljata dva ali trije študentje, rezultati pa so v obliki programske kode v jeziku C/C++ za izbrano vgradno platformo. Po vsakem delu vaj študentje predstavijo svoje rezultate asistentu.

Predvideni študijski rezultati

Po uspešno opravljenem predmetu bi naj bili študenti zmožni:

  • Definirati osnovna načela operacijskih sistemov za vgradne, realnočasovne sisteme v avtomatiki in robotiki.
  • Poiskati problemu primerne rešitve za medprocesno komunikacijo v vgradnih sistemih
  • Uporabiti problemu primerna orodja, ki jih ponuja operacijskih sistem za kontrolo procesov v vgradnih sistemih
  • Izdelati programsko opremo za vgradne sisteme, temelječe na operacijskih sistemih.
  • Izdelati preprosto komponento operacijskega sistema, ki deluje v načinu jedra (preprost modul jedra v OS Linux)
  • Izbrati ter svetovati prave in primerne rešitve na podlagi vgradnih sistemov za konkretne probleme iz avtomatike in robotike

Temeljni viri in literatura

  1. M. Kerrisk, The Linux Programming Interface, No Starch Press, Inc., 2010.
  2. R. Stevens, S. Rago, Advanced programming in the UNIX environment, 3rd Ed., Addison Wesley, 2013.
  3. Vgradni sistemi, Študijsko gradivo izvajalcev predmeta (Embedded systems: course material written by the lecturers),  navodila za vaje (lab assignment instructions).

Bodi na tekočem

Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška cesta 25, 1000 Ljubljana

E:  dekanat@fe.uni-lj.si T:  01 4768 411