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.
P1.1 - Uvod
P1.2 - Linuks u namenskim sistemima - Uvod i razvojno okruženje
P2.1 - Karakterni uređaji
P2.2 - Blokovski uređaji i DMA
P3.1 - Linuks uređaj i model rukovaoca
P3.2 - Primer Linuks uređaja - komunikacija sa I2C uređajem
P3.3 - Radni okviri kernela za rukovaoce uređaja
P4.1 - Rukovanje memorijom - U/I memorija i portovi
P4.2 - Procesi, raspoređivanje i prekidi
P4.3 - Konkurentni pristup resursima - zaključavanje
P5.1 - Debagovanje
P5.2 - Portovanje
P5.3 - Upravljanje potrošnjom
P6 - Realno vreme u Linuks namenskim sistemima
RPI datasheet
L1 - Priključivanje i konfigurisanje RPI platforme i okruženja
L2 - Pisanje i prevođenje modula
L3 - Model uređaja - LED uređaj
L3 led.zip
L4 - Model uređaja - LED uređaj
L4 led.zip
L5 - Sistemska vremenska kontrola - spavanje, prekidi, zaključavanje
timer.zip
L6 - Realno vreme - merači vremena i kašnjenje raspoređivača
| Pon | Uto | Sre | Čet | Pet |
|---|---|---|---|---|
| Naučno tehnološki park, IV sprat, kancelarija NTP433 | ||||
| Pon | Uto | Sre | Čet | Pet |
|---|---|---|---|---|
Linuks programiranje u realnom vremenu
Literatura:
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.
Nastava se izvodi u bloku u trajanju od 3 sedmice (predavanja – 4 časa i vežbe – 4 časa se izvode u toku prve 3 sedmice, a provera znanja na kraju treće sedmice i prvom sledećem roku pismeno, odnosno u svakom sledećem roku usmeno).
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 13 termina u laboratoriji. U poslednjih 5 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: