I acknowledge the strong pull to go and re-implement existing standards like POSIX in a new language like Rust.
But, having had to again deal with all the corner cases of signal handling and threads for a Linux application, I encourage any prospective Rust OS developers to pick a different path.
Please, please, let's move beyond POSIX. Give me a sane set of operating system API calls that work in a reasonable way together. And that can compose easily.
So that future developers don't have to deal with file read calls that may (or may not) be interrupted by a signal, and all that.