Rust for HelenOS
Rust v HelenOSu
bakalářská práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/200687Identifikátory
SIS: 281630
Kolekce
- Kvalifikační práce [11978]
Autor
Vedoucí práce
Oponent práce
Bednárek, David
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Informatika se specializací Systémové programování
Katedra / ústav / klinika
Katedra distribuovaných a spolehlivých systémů
Datum obhajoby
19. 6. 2025
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
Klíčová slova (česky)
HelenOS|Rust|portování|překladač|běhové prostředíKlíčová slova (anglicky)
HelenOS|Rust|porting|compiler|runtime environmentRust je moderní programovací jazyk, který se překládá do strojového kódu a nabízí unikátní vlastnosti, jako je vlastnictví dat a kontrola zápůjček. Komplexní standardní knihovna a dobře integrovaná schopnost křížového překladu poskytují významnou vý- hodu pro vývoj aplikací, které podporují mnoho cílových platforem. Cílem této práce je přidat podporu operačního systému HelenOS do překladače a standardní knihovny ja- zyka Rust. Pojednáváme o krocích tohoto procesu a zkoumáme nastalé technické výzvy, včetně problémů, které je třeba vyřešit v implementaci samotného operačního systému. Značná část standardní knihovny je implementována a její správnost je ověřena spuště- ním naší vlastní sady testů na všech pěti podporovaných variantách HelenOSu. Praktická využitelnost této práce je následně předvedena spuštěním několika reálných aplikací pro příkazovou řádku i grafických aplikací na systému HelenOS.
Rust is a modern programming language that compiles to machine code and offers unique features such as data ownership and borrow checking. A comprehensive standard library and well integrated cross-compilation capabilities provide a significant advantage for developing applications that support many target platforms. The objective of this thesis is to introduce support for the HelenOS operating system into the Rust compiler and standard library. We discuss the steps of this process and examine the technical challenges that arise, including issues that need to be resolved in the underlying operating system implementation. A significant portion of the standard library is implemented, and its correctness is validated by running a custom test suite on all five HelenOS variants that we support. Practical applicability of this work is then demonstrated by running multiple real-world command-line and graphical applications on HelenOS.
