Rust for HelenOS
Rust v HelenOSu
bachelor thesis (DEFENDED)
View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/200687Identifiers
Study Information System: 281630
Collections
- Kvalifikační práce [11977]
Author
Advisor
Referee
Bednárek, David
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Computer Science with specialisation in Systems Programming
Department
Department of Distributed and Dependable Systems
Date of defense
19. 6. 2025
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Excellent
Keywords (Czech)
HelenOS|Rust|portování|překladač|běhové prostředíKeywords (English)
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.
