Programska oprema komunikacijskih sistemov

Opis predmeta

Predmet poglobljeno obdela ključne komponente računalniških sistemov, ki jih mora dobro poznati vsak razvijalec, načrtovalec sistemov in strokovnjak za kibernetsko varnost. Tematike obsegajo številne od nalog sodobnih operacijskih sistemov, vključno z zagotavljem abstrakcije, učinkovitosti delovanja, in varnosti. Posvetili se bomo razumevanju življenskega cikla procesov, njihovega razvrščanja in upravljanja s pomnilnikom. Poseben poudarek bomo namenili medprocesni komunikaciji in sinhronizaciji ter možnim težavam na tem področju. Spoznali bomo pomemben koncept atomarnosti in njegovo vlogo tako v medprocesni komunikaciji kot tudi v kontekstu podatkovnih baz in transakcij. Pomembne tematike bodo predstavljali tudi gonilniki in dostop do perifernih naprav, datotečni sistemi in virtualizacija, pridobljena znanja pa bomo nadgradili tudi v smeri porazdeljenih sistemov ter izzivov in rešitev, ki jih tam srečamo. Tako virtualizacija kot porazdeljeni sistemi bodo predstavljali dobro osnovo za kasnejše razumevanje tematike računalništva v oblaku, vse obdelane tematike predmeta pa so ključne tudi za razumevanje kompleksnih izzivov ranljivosti in zaščite sistemov z vidika kibernetske varnosti.

Predmet učimo na programih

Elektrotehnika 2. stopnja

Cilji in kompetence

Cilj predmeta je študentu podati pregled osnovnih načel in izhodišč za samostojno načrtovanje in razvoj programske opreme v komunikacijskih sistemih. Predmet vključuje področja sodobnih operacijskih sistemov, porazdeljenih sistemov, podatkovnih baz, virtualizacije in načrtovanja programske opreme.

Metode poučevanja in učenja

Predavanja, na katerih se študent seznani s teoretičnimi osnovami, ter laboratorijske vaje, kjer probleme spozna tudi praktično in jih v timu rešuje skozi projektno delo. Del pedagoškega procesa bo izveden s pomočjo IKT tehnologij in možnosti, ki jih ponujajo. Ogledi in vabljeni predavatelji.

Predvideni študijski rezultati

Po uspešno opravljenem modulu naj bi bili študentje zmožni:

  •  opisati osnovne koncepte delovanja operacijskega sistema;
  • razložiti atomarnost in njene aplikacije v kontekstu programske opreme in podatkovnih baz;
  • razviti večniten program s vzajemno izključujočim se dostopom do skupnega vira;
  • uporabiti različne načine medprocesne komunikacije v praksi;
  • oceniti primernost odločitev pri zasnovi porazdeljenega računalniškega sistema;
  • razložiti različne tehnike strežniške virtualizacije.

Temeljni viri in literatura

  1. Modern Operating Systems, Andrew S. Tanenbaum, Prentice Hall; 3rd ed (2007)
  2. Silberschatz A, Galvin P.B., Gagne G., Operating System Concepts, 7th ed, John Wiley &Sons, New York, 2004,
  3. Bic L.F., Shaw A.C, Operating Systems Principles, Prentice Hall, New Jersey, 2003,
  4. Benvenuti C., Understanding LINUX Network Internals, O'Reilly, 2005,
  5. Članki, objavljenih v revijah, npr. / Articles published in magazines, i.e.: IEEE Communications Surveys & Tutorials, http://www.comsoc.org/livepubs/surveys/index.html   

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