Beágyazott operációs rendszerek
A tantárgyleírás hatályossága
| 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) |
|
||||||||||||
| 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
elérhetőség:
vajk.istvan@vik.bme.hu
|
||||||||||||
| 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
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.
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
Tanulástámogató anyagok
Online források
A tantárgy teljesítéséhez ajánlott előzetes ismeretek
Általános szabályok
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
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
Tantervi elhelyezés
Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.