4 ms·
Rust is great, but "rewrite it in Rust" is a tired and unrealistic refrain. Aside from performance concerns, an emulation layer defeats the validations that The
by vacuity 3y ago
Rust is great, but "rewrite it in Rust" is a tired and unrealistic refrain. Aside from performance concerns, an emulation layer defeats the validations that Theseus incorporates as an intralingual codebase. It'll be like a mix of a microkernel and a monolithic kernel; drivers, file system managers, and whatnot can stay in the OS, but there'll have to be heavyweight userspace processes all the same. Theseus and Singularity/Midori are great proof of concepts, but I think we need a third (fourth? fifth? What number are we on?) path.
- Aerbil313 3y agoTo clarify, there is no motivation towards RIIR except the fact that Rust’s guarantees are required for Theseus’s very existence. I do not understand how the emulation layer can defeat validations. As long as the emulator is conformant to validations, it should be okay. I’m probably ignorant of something here. Regarding performance, in a presentation, the Theseus dev mentioned one study which showed the performance tax of context switching with attack mitigations (Spectre etc.) can be as much as %15-%30 in modern conventional OSes.
- vacuity 3y agoTo my understanding, any kind of emulation layer or runtime can't leverage Rust's type system to achieve the cheap context switches and other benefits that define Theseus today. It seems to me that programs running on the emulation layer will essentially be conventional heavyweight processes. There are still benefits over conventional monolithic OSes, but not as significant.