Folyamatok ütemezése többmagos mikrokontrollerekre

OData támogatás
Konzulens:
Bányász Gábor
Automatizálási és Alkalmazott Informatikai Tanszék

A mikrokontrollerek fejlődésének köszönhetően a beágyazott rendszerekben a többmagos eszközök már általánossá váltak. Az ilyen típusú mikrokontrollerek hatékony használatához feltétlenül szükséges egy ütemezőt készíteni, mely képes a végrehajtandó feladatokat a magok között szétosztani. Éppen ezért e dokumentumban bemutatom az ütemező és a kernel számára felmerülő problémákat, és megoldási lehetőségeket hoztam fel rá. Egy ilyen program szemléltetésére elkészítettem egy többmagos mikrokontrollerekre optimalizált ütemezőt, és a feladatok további támogatására alapvető kernelfunkciókat rendeltem hozzá. Az ütemező készítésén végighaladva bemutattam a korábban említett problémákra az általam választott megoldásokat, és az azok mögött rejlő indokokat. Ezek során nem csak az ütemezés problémája merült fel. A kernelfunkciók között megtalálható a memória kezelése, a feladatok és szálak szétválasztása, az időzítések kezelése, a folyamatok közötti kommunikáció megvalósítása, valamint a megszakítások megfelelő kiszolgálása. Az architektúra függő részek bemutatására, egy 64 bites módban működő többmagos x86-os Intel processzort szimuláltam, amely következtében képes voltam változó körülmények között is tesztelni a megírt programot. Az ütemező és kernel működésének igazolására, bemutatására számos tesztet végeztem, többek között elkészítettem egy soros drivert is egy hozzátartozó keretrendszerrel együtt.

Letölthető fájlok

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