You are here

Osnovne informacije

Naziv: 
LPuRV - Linuks programiranje u realnom vremenu
Studijski program: 
Računarstvo i automatika – E2
Semestar: 
VIII

Opis

Razvoj Linuks rukovalaca uređajima sa primerom primene na Raspberry Pi 2 platformi. Detaljan pregled unutrašnje strukture i rada operativnog sistema Linuks. Primena u aplikacijama u realnom vremenu. Poseban naglasak na upotrebi i specifičnostima Linuksa u namenskim sistemima (ugrađenim u automobile, telefone, televizore...), a ne samo u sistemima opšte namene.

Konsultacije: Doc. dr Vladimir Marinković
Pon Uto Sre Čet Pet
         
Narodnog fronta 23A, I sprat, kancelarija 5.1.4
Konsultacije: MSc Nemanja Fimić
Pon Uto Sre Čet Pet
         
Konsultacije: MSc Nenad Šoškić
Pon Uto Sre Čet Pet
         

Linuks programiranje u realnom vremenu

Literatura:

  1. Materijal (prezentacije, pripreme za vežbe, itd.) na sajtu Odseka http://www.rt-rk.uns.ac.rs/predmeti/ra%C4%8Dunarstvo-i-automatika-%E2%80%93-e2/lpurv-linuks-programiranje-u-realnom-vremenu
  2. Linux Kernel in a Nutshell, Dec 2006, by Greg Kroah-Hartman, O’Reilly, http://www.kroah.com/lkn/ https://bootlin.com/community/kernel/lkn
  3. Linux Device Drivers, Third Edition, by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman, O’Reilly, https://lwn.net/Kernel/LDD3/ https://bootlin.com/community/kernel/ldd3
  4. Linux Kernel Development, Third Edition, by Robert Love, O’Reilly, https://doc.lagout.org/operating%20system%20/linux/Linux%20Kernel%20Development%203rd%20Edition.pdf

Obrazovni cilj: Osposobljavanje studenata za programiranje komponenata jezgra Linux operativnog sistema.
Ishodi obrazovanja: Osposobljenost za projektovanje komponenata jezgra Linux operativnog sistema, njihovom integracijom sa drugim delovima jezgra i korisničkim aplikacijama, sa fokusom na razvoj rukovalaca uređajima za namenske računarske strukture i personalne računare.
Sadržaj/struktura predmeta: Uvod u jezgro Linux operativnog sistema, detalji izvornog koda jezgra. Podešavanje, prevođenje i učitavanje Linux jezgra. Moduli Linux jezgra. Rukovanje memorijom i pristup ulazno-izlaznim jedinicama. Rukovaoci uređaja karakternog tipa. Procesi, raspoređivanje, čekanje na resurse, rukovanje prekidima, zaključavanje. Tehnike otklanjanja grešaka u razvoju komponenata jezgra. Korišćenje jedinice za direktan prisup memoriji. Arhitektura jezgra za rukovaoce uređajima (ilustracija na mnogim primerima u jezgru). Detalji pokretanja jezgra. Prilagođavanje Linux jezgra za drugu platformu. Rukovanje potrošnjom. Razvoj u zajednici.

Način polaganja predmeta: 

Nastava se izvodi u bloku u trajanju od 4 sedmice (predavanja – 4 časa i vežbe – 4 časa se izvode u toku prve 3 sedmice, a provera znanja na kraju četvrte sedmice).

Predavanja su organizovana u 6 termina. Znanja stečena na predavanjima se direktno primenjuju na laboratorijskim vežbama, te predstavljaju i svojevrsnu pripremu za laboratorijske vežbe. Priprema se ne ponavlja na vežbama u celosti, već samo najbitniji potrebni detalji.

Vežbe su organizovane u 10 termina u laboratoriji. U poslednja 3 termina se izrađuje projektni zadatak koji se ocenjuje, a predstavlja direktnu primenu znanja stečenih na vežbama.

Načini provere znanja:

Student može maksimalno da osvoji 100 poena

10% poena za pohađanje nastave (prisustvo na predavanjima i laboratorijskim vežbama)

60% poena za projekat

30% poena za ispit iz teorije

Napomene:

  1. Predispitne obaveze nose 70% i mogu se realizovati isključivo u toku bloka
  2. Mora se realizovati minimalno 21% predispinih obaveza da bi se uopšte moglo izaći na ispit, ali se tada mora osvojiti svih 30% na ispitu, da bi se dobila ocena 6.