Tárgy hivatalos adatlapja:
http://www.vik.bme.hu/kepzes/targyak/VIAUMA08
A tantárgy célkitűzése:
A tantárgy célkitűzése bemutatni azokat a platformokat, technikákat és eszközöket, amelyek szükségesek a valósidejű követelményeknek megfelelő rendszerek alkalmazás és rendszer szintű szoftverének megírására és futtatására. A tantárgy középpontjában a hardvertervezés során létrehozott eszközök szoftverrendszerének kialakítása áll. A beágyazható operációs rendszerek (Linux, Windows család, QNX, stb.), és az általuk biztosított programozási-, és rendszerszolgáltatásainak bemutatását az adott rendszerek meghajtóprogram-modelljeinek részletes ismertetése, illetve a szinkronizálás és párhuzamos végrehajtás problémáinak vizsgálata követi.
A tantárgy részletes tematikája:
Az előadások az alábbi témákat érintik, míg a gyakorlatok célja az előadáson hallottak gyakorlati elmélyítése.
Bevezető
Operációs rendszerek alapvető szolgáltatásai, a beágyazott rendszerekben történő alkalmazásuk sajátosságai. Operációs rendszerek elterjedtsége, kiválasztási szempontjaik.
Egyszerűbb operációs rendszerek
A uCOS-II és a FreeRTOS operációs rendszerek felépítése és szolgáltatásai. Ütemező algoritmus, taszkok nyilvántartása, elérhető szolgáltatások, taszkok közötti kommunikáció.
GNU/Linux operációs rendszer ismeretek
A GNU/Linux operációs rendszer történetének és általános jellemzőinek bemutatása. Megismerkedés a Kernel legfőbb, a valósidejű működést befolyásoló jellemzőivel úgymint ütemezés, memóriakezelés, megszakításkezelés. Az operációs rendszer felépítésének elemzése. Az alapvető Unix parancsok áttekintése után a BASH shell funkciónak részletes tárgyalása többek közt parancs értelmezés, állománynév helyettesítés, programozási funkciók. A jogosultság kezelés részletes tárgyalása, egyszerű reguláris kifejezések, és folyamatok kezelése. Gyakorlaton ismerkedés az operációs rendszer kezelésével.
Beágyazott Linux rendszer ismeretek
A minimális x86 alapú Linux rendszer felépítésének, komponenseinek részletes bemutatása. Az alap konfigurációs állományok ismertetése.
Linux rendszer összeállítása eltérő architektúrájú (ARM) céleszközre. Automatizált beágyazott Linux rendszert generáló eszközök áttekintése úgy mint Buildroot, OpenEmbedded, Yocto Project. A Yocto Project rendszer felépítésének és használatának részletes ismertetése. Gyakorlaton beágyazott Linux rendszer összeállítása a Yocto Project rendszer segítségével egy adott eszközre.
Linux alkalmazások fejlesztése
Ismerkedés a fejlesztő eszközökkel: fordító (gcc), fejlesztői könyvtárak, Makefile szintaktikája, hibakeresés eszközei (gdb, malloc debugerek, valgrind, strace), integrált fejlesztői környezetek
Az állományabsztrakció bemutatása, és az állománykezelő rendszerhívások áttekintése, beleértve az i-node kezelő függvényeket is. Párhuzamos programozás: folyamatok. Gyakorlaton példák, I/O multiplexálás és az ioctl rendszerhívás bemutatása. Párhuzamos programozás: folyamatok közötti kommunikáció, szálak, szálak közötti szinkronizáció. Valósidejű alkalmazások fejlesztése. Hálózati kommunikáció a Berkley socket API használatával.
Linux kernel modulok fejlesztése
A Linux kernel fejlesztés alapjai. Kernel modulok írása, fordítása, használata. Paraméterátadás a modul számára. Karakteres eszközvezérlő felépítésének bemutatása. Eszközvezérlő regisztrációja. Konkurencia kezelés a kernelben: atomi műveletek, spinlock, semaphore, mutex, reader/writer változatok. Gyakorlaton példákkal egybekötve az I/O portok és a megszakítás kezelésének bemutatása.
Beágyazott Windows operációs rendszerek
A Windows helye a beágyazott eszközök világában. A Windows Embedded és Windows Embedded Compact felépítése, szolgáltatásai. Ütemezés, szinkronizációs objektumok, megszakítások kezelése. BSP-ben megvalósítandó feladatok, driver modellek. Natív WinAPI alkalmazás felépítése fejlesztése.
QNX operációs rendszer
QNX operációs rendszer felépítése. Kernelszolgáltatások, ütemezés, megszakítások kezelése, hálózatkezelés. Beágyazott rendszerek készítése QNX operációs rendszerrel. QNX operációs rendszer felhasználói szemmel. Alkalmazások fejlesztése QNX operációs rendszerrel.
Hírek
A ZH-t 2022.03.31-én 18:15 kezdettel a Q-I. teremben tartjuk
(Szabó Zoltán,
2022.03.27. 21:39)
·
Bővebben »
Régebbi hírek »
Jegyzetek
A tárgyhoz nincs feltöltve jegyzet, vagy az csak belépett illetve a tárgyat felvett hallgatók számára érhető el.