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ő