HelenOS Rustification
Rustifikace HelenOSu
bakalářská práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/213507Identifikátory
SIS: 296573
Kolekce
- Kvalifikační práce [12744]
Autor
Vedoucí práce
Oponent práce
Kratochvíl, Miroslav
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
9. 9. 2026
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Dobře
Klíčová slova (česky)
HelenOS|Rust|udržovatelnost kódu|portování softwaruKlíčová slova (anglicky)
HelenOS|Rust|code maintainability|software portingV oblasti systémového vývoje, zavedeným jazykem v průmyslu je C, ale v posled- ních letech se míra adopce Rustu signifikantně zvedla. Rust volí alternativní přístup k systémovému vývoji, většinu zodpovědnosti za správnost kódu přesouvá na kompilátor. Zvýšená míra adopce vyvolala mnohé debaty při vybírání mezi těmito dvěma jazyky. Co se obvykle nediskutuje důkladně je proces přepisu již existujícího programu. Tato práce představí Rust vývojáři C z praktického pohledu a ukáže kompromisy přepisování na dvou konkrétních příkladech v ekosystému operačního systému HelenOS. Na závěr práce shrne, že jsou konkrétní aspekty projektů, které musí být zváženy před přepisem.
In systems development the well-established language in the industry is C, but in the recent years the adoption rate of the Rust programming language increased significantly. Rust takes an alternative approach to systems development, it moves most of respon- sibility for code correctness to the compiler. The increasing adoption rate fueled many debates along the way choosing between these two languages. What is usually not dis- cussed thoroughly is the process of rewriting an existing program. This thesis introduces Rust to a C developer from a practical point of view and shows the trade-offs of rewriting on two concrete examples in the ecosystem of the HelenOS operating system. Ultimately, it concludes there are concrete aspects of the codebase to consider before rewriting it.
