The viability of Rust as a real-time system language: A comparative analysis between Rust and C for real-time systems

dc.contributor.authorJohansson, Simon
dc.contributor.authorLindahl, Emrik
dc.contributor.departmentChalmers tekniska högskola / Institutionen för data och informationstekniksv
dc.contributor.departmentChalmers University of Technology / Department of Computer Science and Engineeringen
dc.contributor.examinerAlmgren, Magnus
dc.contributor.supervisorAlmgren, Magnus
dc.date.accessioned2025-07-02T12:55:27Z
dc.date.issued2025
dc.date.submitted
dc.description.abstractReal-time systems are used in many crucial applications in our society, for example, airplanes and satellites. These systems need to be secure and reliable since they are often time-crucial and safety-critical. Security in this aspect means that there are no unforeseen crashes or undefined behavior of the system. Historically, these systems have been created in C due to the performance C can achieve along with the ability to manipulate hardware at a low level. A performantsystem is important to ensure that the system can handle the workload put on it, however, it is not trivial to combine the aspects of performance and security. This is because security often comes at the expense of performance since additional checks are needed. A new emerging language, Rust, tries to solve this problem. This thesis will extend the work done by Tjäder [1] on the framework RTIC by testing if Rust is viable in a real-time setting. To achieve this aim, real-time applications in both Rust and C are created, which are then run on different hardware. The purpose is to test the applications with metrics such as performance, memory usage, and reaction time for events. This will be used to evaluate the viability of Rust for real-time systems to make them more secure and reliable. The thesis concludes that although Rust offers security in terms of memory management, Rust can compete with C in aspects such as performance. It all comes down to different tradeoffs, from what is needed in the specific system to be built.
dc.identifier.coursecodeDATX05
dc.identifier.urihttp://hdl.handle.net/20.500.12380/309863
dc.language.isoeng
dc.setspec.uppsokTechnology
dc.subjectRust
dc.subjectC
dc.subjectReal-time systems
dc.subjectFreeRTOS
dc.subjectRTIC
dc.titleThe viability of Rust as a real-time system language: A comparative analysis between Rust and C for real-time systems
dc.type.degreeExamensarbete för masterexamensv
dc.type.degreeMaster's Thesisen
dc.type.uppsokH
local.programmeComputer systems and networks (MPCSN), MSc

Ladda ner

Original bundle

Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
CSE 24-144 SJ EL.pdf
Storlek:
4.94 MB
Format:
Adobe Portable Document Format

License bundle

Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
license.txt
Storlek:
2.35 KB
Format:
Item-specific license agreed upon to submission
Beskrivning: