3 ms·
Theseus is an example of (2), in Rust, without bytecode. As far as I understand, done by enforcing no-unsafe etc rules in a blessed compiler, so basically sourc
by yencabulator 3y ago
Theseus is an example of (2), in Rust, without bytecode. As far as I understand, done by enforcing no-unsafe etc rules in a blessed compiler, so basically source code becomes the equivalent of the byte code in your thinking. At a glance it's very similar to Midori, but the details of how it's done are quite different. In Theseus, drivers, applications etc are ELF objects, dynamically linked all together into one executable (which is also the kernel), with some neat tricks like hot upgrades.
https://github.com/theseus-os/Theseus https://github.com/theseus-os/Theseus
https://www.theseus-os.com/ https://www.theseus-os.com/
- vacuity 3y agoTheseus is very cool, as are Singularity and Midori. I'm trying to think of how a general-purpose OS could incorporate ideas from these intralingual OSes while allowing other programming languages to be used, without sacrificing security. I haven't gotten anywhere yet because I'm inexperienced.
- yencabulator 3y agoI think the Theseus design would accommodate this in 4 different ways: 1. native Rust modules 2. arbitrary code running in WASM sandbox 3. arbitrary code running in KVM virtualization, perhaps with a Linux kernel there to provide a backwards-compat ABI 4. one can compile the WASM+untrusted app into trustworthy machine code (still implementing the WASM sandboxing logic for the untrusted component); I recall Firefox did this with some image handling C++ code they didn't find trustworthy enough I know the Theseus project is working toward WASM support.