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.
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
Reference nosilca
- MUHOVIČ, Jon Natanael, MANDELJC, Rok, BOVCON, Borja, KRISTAN, Matej, PERŠ, Janez. Obstacle tracking for unmanned surface vessels using 3-D point cloud. IEEE journal of oceanic engineering. [Print ed.]. 2019, vol. , str. 1-13, ilustr. ISSN 0364-9059. https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8703893, DOI: 10.1109/JOE.2019.2909507. [COBISS.SI-ID 12642388]
- KRISTAN, Matej, SULIĆ KENK, Vildana, KOVAČIČ, Stanislav, PERŠ, Janez. Fast image-based obstacle detection from unmanned surface vehicles. IEEE transactions on cybernetics, ISSN 2168-2267, Mar. 2016, vol. 46, no. 3, pp. 641-654.
- SULIĆ KENK, Vildana, MANDELJC, Rok, KOVAČIČ, Stanislav, KRISTAN, Matej, HAJDINJAK, Melita, PERŠ, Janez. Visual re-identification across large, distributed camera networks. Image and vision computing, ISSN 0262-8856, Feb. 2015, vol. 34, pp. 11-26.
- MUROVEC, Boštjan, PERŠ, Janez, MANDELJC, Rok, SULIĆ KENK, Vildana, KOVAČIČ, Stanislav. Towards commoditized smart-camera design. Journal of Systems Architecture, ISSN 1383-7621, Nov. 2013, no. 10, part A, pp. 847-858.
- SULIĆ, Vildana, PERŠ, Janez, KRISTAN, Matej, KOVAČIČ, Stanislav. Efficient feature distribution for object matching in visual-sensor networks. IEEE transactions on circuits and systems for video technology, ISSN 1051-8215, Jul. 2011, vol. 21, no. 7, pp. 903-916.
Temeljni viri in literatura
- M. Kerrisk, The Linux Programming Interface, No Starch Press, Inc., 2010.
- R. Stevens, S. Rago, Advanced programming in the UNIX environment, 3rd Ed., Addison Wesley, 2013.
- Vgradni sistemi, Študijsko gradivo izvajalcev predmeta (Embedded systems: course material written by the lecturers), navodila za vaje (lab assignment instructions).