Valósidejű beágyazott C vs Rust (fight!)
2025-2026 tavasz
Szoftver
Téma leírása
A beágyazott szoftverrendszerek számítási teljesítményének növekedése a komplexitás és sebezhetőség jelentős növekedését is maga után vonja. Ennek ellensúlyozására egyre nagyobb teret hódítanak a C nyelvhez képest megfoghatóbb kereteket nyújtó modern programozási nyelvek.
A hallgató feladata beágyazott programok tervezése, készítése a gyengén típusos C nyelv az erősen típusos Rust programozási nyelv ötvözésével vagy párhuzamosan alkalmazásával.
Előbbihez kiváló alapot nyújt a nyílt forráskodú FreeRTOS-hoz elérhető Rust wrapper (freertos_rust - Rust), utóbbinál izgalmas lehetőség az új, feltörekvő Embassy embedded MW használata (embassy-rs/embassy: Modern embedded framework, using Rust and async.), különösen az Embassy használhatósági körének ill. teljesítményének összehasonlítása a hagyományosabb, feladat-ütemező FreeRTOS-hoz képest.
A feladatnak nem feltétele a saját hardver, mikrokontrolleres vagy mikroprocesszoros eszköz, hardver-emulációval is teljesíthető asztali gépen, ld. Welcome to QEMU’s documentation! — QEMU documentation
Lehetséges részfeladatok:
- Rust literatúra (Official Rust Books - The Little Book of Rust Books)
- Szoftver stack-ek kiválasztása (mivel akarsz játszani?)
- Architektúra diagram készítése (mit is akarsz velük kipróbálni?)
- C és Rust alkalmazások készítése (coding monkey; új alkalmazás párhuzamos implementációja Rust és C nyelveken, vagy tisztán C alkalmazás egyes részeinek kiváltása Rust kóddal)
- Analízis (Hol volt hasznos a Rust? Hol volt megkerülhetetlen a C? Futásteljesítmény? Méret? Memóriaéhség?)
Maximális létszám:
2 fő