News for hackers. Stuff that matters.
Re:Writing an OS in Rust: Handling Exceptions by mastax on Sunday March 26, 2017 @02:36PM (#13962300)
You may be interested in these projects:

https://github.com/ryanra/RustOS

RustOS is hobby OS project that's pretty bare bones, but has similar ideas to what you've mentioned. It's essentially a port of the Rust standard library to bare metal, relying on the safety of the language rather than hardware features. It's sort-of a unikernel in implementation if not intention.

https://github.com/helena-project/tock

Tock is an interesting academic project to create an embedded OS. It still uses more traditional hardware protection for user processes, since these can be written in any language. The kernel, however, is composed of cooperatively-scheduled components called capsules, which rely on the language for isolation and don't have the overhead associated with real processes. See this doc for more details: https://www.tockos.org/documentation/design/

Re:Writing an OS in Rust: Handling Exceptions by adamnemecek on Sunday March 26, 2017 @03:26PM (#13962612)
Both of those look really dope. How did you learn about them?
Re:Writing an OS in Rust: Handling Exceptions by kibwen on Sunday March 26, 2017 @03:54PM (#13962834)
reddit.com/r/rust is a useful resource for keeping abreast of Rust-related happenings.

For other OS stuff in Rust, see Redox (a microkernel) and Robigalia (Rust on seL4).

Re:Writing an OS in Rust: Handling Exceptions by adamnemecek on Sunday March 26, 2017 @05:30PM (#13963415)
I think that the thing I'm most interested in is what new architectures does Rust allow for.

Redox is cool but Unix has outlived it's usefulness at this point. Also. the Unix philosophy is the very anti-thesis of what I think is the Rust philosophy. I can imagine that a Rust port of QNX could be a big deal tho (QNX is/was only like 500KLOC of C, which could be like 100KLOC of Rust).

But I think that we need mode advanced systems, e.g. don't need as much virtual memory protection because that's handled by the language. There's actually quite a few things in the current OSs that seem to be pure anachronisms.

Re:Writing an OS in Rust: Handling Exceptions by bluejekyll on Sunday March 26, 2017 @06:31PM (#13963730)
> don't need as much virtual memory protection because that's handled by the language.

This is true at compile time. But what does it do for you at runtime when bad actors will be trying to break any and all assumptions? The guarantees in the kernel need to be vigilant against attackers, so while the kernel itself might be simpler, the boundary with processes still needs a lot of constraints at runtime.

Re:Writing an OS in Rust: Handling Exceptions by krzat on Monday March 27, 2017 @05:37AM (#13966230)
I think the assumption here is that OS would only allow binaries built from safe rust code.
Re:Writing an OS in Rust: Handling Exceptions by bluejekyll on Monday March 27, 2017 @11:18AM (#13968399)
Sure, but I don't know how you'd still guard against runtime issues. I'm not even sure you could require user space only safe code.
Re:Writing an OS in Rust: Handling Exceptions by MrBuddyCasino on Sunday March 26, 2017 @05:12PM (#13963324)
A Rust unikernel sounds very tempting for embedded stuff. Anyone doing that?
Re:Writing an OS in Rust: Handling Exceptions by nickpsecurity on Sunday March 26, 2017 @06:45PM (#13963802)
I'll add that it probably should be done. Aside from usefulness, it's already been done for Ada and embedded Java on top of partitioning microkernels. There's companies actually paying for these. The dynamic or concurrency safety of Rust might be appealing for some of them. Any money made there can go back into improving the project/product.