This is interesting, as an answer to how much the OS/user boundary costs us.
The OS seems to be essentially a unikernel that runs an interpreter of a safe language which happens to be expressed in something close to machine code, and could use a JIT compiler to generate native-code loops. (Seems like it ought to use the actual unikernel, rather that starting from scratch. Maybe it does, and I misunderstood?) The language it interprets is output from compilers of lots of conventional languages.
Maybe it should directly execute machine code from compilers of declared-safe languages like Rust, provided the compiler attests it compiled no unsafe blocks. I don't know if there are any useful programs that it could say that about.
5 comments
[ 3.1 ms ] story [ 22.8 ms ] threadThe OS seems to be essentially a unikernel that runs an interpreter of a safe language which happens to be expressed in something close to machine code, and could use a JIT compiler to generate native-code loops. (Seems like it ought to use the actual unikernel, rather that starting from scratch. Maybe it does, and I misunderstood?) The language it interprets is output from compilers of lots of conventional languages.
Maybe it should directly execute machine code from compilers of declared-safe languages like Rust, provided the compiler attests it compiled no unsafe blocks. I don't know if there are any useful programs that it could say that about.
https://www.destroyallsoftware.com/talks/the-birth-and-death...
https://news.ycombinator.com/item?id=7605687