Spring 2023 - Spring 2024
The objective of this research project is to conduct a comparative analysis of the development process and power performance outcomes between Rust and C in the context of a micro operating system. With the development of IoT and embedded systems, there is a growing need for safe and efficient systems programming. With its recent inclusion in the Linux Kernel, Rust has emerged as a strong contender in this domain. Its strengths lie in memory safety, performance and concurrency guarantees alongside its ownership and borrowing system which ensure that memory-related bugs, such as null pointer dereferences and data races, are caught by the compiler These characteristics makes Rust a compelling choice for systems programming.
Meanwhile, C remains a dominant language for operating system development due to its long-standing history and low-level capabilities. Using C enables developers to directly control memory management and optimize for performance. With decades of use and optimization, C has a large knowledge base of existing libraries and documentation which make C a trustworthy language to develop your systems in. This thesis is currently in progress! Please see below for work that has been done so far.