Beágyazott Linux teljesítményének vizsgálata

OData támogatás
Konzulens:
Wacha Gábor József
Méréstechnika és Információs Rendszerek Tanszék

Diplomamunkámban a Linux operációs rendszerrel, azon belül is bővebben a Linux kernel debuggolási és teljesítmény mérési módszerekkel foglalkoztam. A szakirodalom kutatás kiterjedt az egyedi Linux disztribúció fejlesztéstől kezdve az eszközkezelőkön, illetve user-space – kernel-space adatutakon keresztül a kernel debugging és profiling módszerekig. A források feltárása és a különböző eszközkezelők közötti különbségek tisztázása után nem találtam egyértelmű érveket, illetve bizonyítást arra vonatkozóan, hogy melyik driver megoldás optimális, melyik az amit egy erőforrás kritikus egyedi periféria illesztésénél alkalmazni lehetne. Munkám során arra kerestem a választ, hogy milyen eljárásokkal lehetne minden kétséget kizáróan belátni, hogy egy eszközkezelő futásidőben gyorsabb, hatékonyabb a másiknál. A problémát nehezíti, hogy a kernel-space és user-space átmenet kezelése nem egyértelmű feladat. Elkezdtem kidolgozni egy szoftveranalitikai eljárást, amivel a különböző perifériáktól érkező adatok továbbítási sebessége mérhető, ezáltal képet kapva egy-egy eszközkezelő profiljáról, egymáshoz viszonyított sebességéről. Az eljárás lényege egy nagy felbontású timer periféria Kprobe-bal történő együttes alkalmazása a futó kernel különböző metódusaira. A módszer kidolgozásához Raspberry PI single-board PC-t használtam, így az architektúrának köszönhetően rendelkezésre állt egy óraciklus számláló regiszter az időbélyegek kiolvasásához. A méréseket preparált karakteres eszköz és sysfs platform driver open, close, read, write függvényeire végeztem. Szembesülnöm kellett a Kprobe néhány kellemetlen sajátosságával, amik miatt egyedi megoldásokkal (szűrések, szemafor változók) kellett élni a tesztkörnyezet kialakítása során. A módszer architektúra specifikus részei a ciklusszámláló kiolvasás, illetve egyes esetekben a függvények argumentumaira történő szűrés. Ezeket leszámítva a metódus adaptálható különböző Linux platformokra.

A diplomaterv elkészítése alatt fontos ismeretekre tettem szert Linux kernel fejlesztést illetően. Megismerkedtem különböző teljesítménymérési eljárásokkal és a meglévőket alapul véve egyedi eljárást dolgoztam ki a futásidő megállapítására. Munkámon keresztül kívánok hozzájárulni a Linux operációs rendszerben lévő lehetőségek jövőbeli maximális kihasználásához.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.