K-INFO
HU
EN
Belépés

Beágyazott operációs rendszerek

Embedded Operating Systems
A tantárgyleírás hatályossága
Hatályosság kezdete:
2026. March 21.
Hatályosság vége:
Tantárgy neve (magyarul, angolul)
Beágyazott operációs rendszerek
Embedded Operating Systems
Tantárgykód BMEVIAUMA08
Tantárgyjelleg
Képzési szint
Kurzustípusok és óraszámok (heti/féléves)
Kurzustípus elmélet gyakorlat laboratóriumi gyakorlat
óraszám (heti) 2 1 0
jelleg (kapcsolt/önálló) kapcsolt
Tanulmányi teljesítmény/értékelés típusa vizsga
Tantárgy kreditértéke 4
Tantárgyfelelős
Dr. Vajk István
beosztás: egyetemi docens
Tantárgyat gondozó oktatási szervezeti egység
Automatizálási és Alkalmazott Informatikai Tanszék
Kar Villamosmérnöki és Informatikai Kar
Tantárgy weboldala
Tantárgy elsődleges mintatantervi jellege
Közvetlen előkövetelmények – Erős előkövetelmény nincs
Közvetlen előkövetelmények – Gyenge előkövetelmény nincs
Közvetlen előkövetelmények – Párhuzamos előkövetelmény nincs
Közvetlen előkövetelmények – Mérföldkő előkövetelmény nincs
Közvetlen előkövetelmények – Kizáró feltétel nincs

Célkitűzés

Tantárgyprogram

Bevezető (1. hét)
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 (1-2. hét)
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 (3-4. hét)
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 (4-6. hét)
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 (7-8. hét)
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 (9-11. hét)
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 (11-12. hét)
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 (13-14. hét)
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.

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.  

Tanulmányi eredmények

Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:

Tudás

Nincsenek rögzített tanulási eredmények.

Képességek

Nincsenek rögzített tanulási eredmények.

Attitűd

Nincsenek rögzített tanulási eredmények.

Autonómia és felelősség

Nincsenek rögzített tanulási eredmények.

Oktatási módszertan

Előadás, gyakorlat 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.  

Tanulástámogató anyagok

Online források
Tantárgy weboldalán található oktatási segédanyagok. Bányász Gábor, Oláh István, Szabó Zoltán: Valósidejű rendszerek (elektronikus jegyzet) BME AAIT,2014; Asztalos Márk, Bányász Gábor, Levendovszky Tihamér: Linux programozás, Szak Kiadó 2013  

A tantárgy teljesítéséhez ajánlott előzetes ismeretek

Tudás típusú kompetenciák
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
·         A C++ nyelv, valamint az objektum orientált szoftverfejlesztési elvek ismerete és alkalmazása.  
Képesség típusú kompetenciák
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
·         A C++ nyelv, valamint az objektum orientált szoftverfejlesztési elvek ismerete és alkalmazása.  
Általános szabályok
Követelmények: A félévközi ismeretek elsajátítása a szorgalmi időszak alatt 1 alkalommal nagy zárthelyi formájában kerül ellenőrzésre. Az aláírás megszerzésének feltétele a zárthelyi elfogadható (legalább elégséges szintű) megoldása. A vizsgára bocsátás feltétele az aláírás megléte. A vizsgán is el kell érni legalább az elégséges szintet, a tárgyból szerzett érdemjegy 30%-ban a zárthelyin, 70%-ban a vizsgán mutatott eredményből tevődik össze. Pótlási lehetőségek: A zárthelyihez a TVSZ előírásai szerint mind a szorgalmi, mind a pótlási időszakban 1-1 pótlási lehetőséget biztosítunk.
Teljesítményértékelési módszerek
Szorgalmi időszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Szorgalmi időszakban végzett teljesítményértékelések részaránya

Nincs megadva részarány.

Vizsgaidőszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Vizsgarészek részaránya

Nincs megadva részarány.

Érdemjegy megállapítása

Nincs megadva érdemjegy határ.

Jelenléti és részvételi követelmények

Nincs megadva jelenléti követelmény.

Javítás, ismétlés és pótlás különös szabályai

Nincs megadva.

Rövid leírás

Nincs megadva.

Részletes leírás

Nincs megadva.

Ajánlott tantárgyak
nincs  
A tantárgy elvégzéséhez szükséges tanulmányi munka

Nincs megadva munkaidő bontás.

Tantárgykövetelmények hatályossága
Tantárgykövetelmények hatályosságának kezdete:
Tantárgykövetelmények hatályosságának vége:
Tantervi elhelyezés

Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.