Bratislava OpenCamp 2025

Eduard Drusa

Vývojar so skoro dvadsaťročnými skúsenosťami v rôznych odvetviach od hard-embedded a automotive až po desktopový a serverový vývoj.

Vždy som bol zvedavý ako fungujú jednotlivé časti, ktoré tvoria stavebné bloky technológii s ktorými som pracoval. Neskor, keď som zmenil odvetvie v ktorom som pracoval, ma tá istá zvedavosť hnala k jednoduchej otázke: Sú koncepty, ktoré poznám použiteľné aj v inom kontexte než v tom, v ktorom som ich spoznal? Vieme podobné výzvy riešiť podobným prístupom aj keď podmienky sú úplne iné?

Po životnej zmene vo forme prechodu na freelancing som spustil svoj súkromný hobby projekt real-timoveho operačného systému, ktorý robí presne to: prináša niektoré koncepty z desktopových operačných systémov až na úroveň low-power embedded vývoja.


Session

04-05
11:00
30min
CMRX: Mikrokernelový RTOS s ochranou pamäte pre mikrokontrollery
Eduard Drusa

Napriek tomu, že ochranu pamäte ako techniku na zvýšenie odolnosti našich systémov používame už desiatky rokov, typické súdobé low-power IoT zariadenie ju ignoruje. Jedným z dôvodov je aj to, že pri väčšine dostupných operačných systémov je ochrana pamäte vlastnosťou pridanou dodatočne. Navrhli a vytvorili sme mikrokernelový real-time operačný systém CMRX so zameraním na procesory, ktoré nedisponujú schopnosťou mapovania pamäte. Tento systém je navrhnutý okolo konceptu totálnej izolácie pamäte a túto funkciu neumožňuje vypnúť.

Implementácia ochrany pamäte na zariadeniach s tak prísnymi limitmi prináša výzvy a vyžaduje robenie kompromisov. V tomto príspevku by som chcel predstaviť najdôležitejšie rozhodnutia ohľadom dizajnu systému CMRX a cestu, ktorou sme k ním prišli.

Ako v tomto prostredí funguje koncept mikrokernelu? Aké prináša výhody? Pokúsim sa načrtnúť potenciálne výhody a limitácie tejto architektúry a dotknem sa aj toho, prečo stále potrebujeme ochranu pamäte aj keď máme Rust.

Aula Minor