by lnsp on 10/18/21, 9:42 AM with 46 comments
by bcantrill on 10/18/21, 2:57 PM
Beyond the new system (called, appropriately enough, Hubris), we have been using Rust at more or less every layer of the stack: microcontroller firmware, early boot software, operating system kernel, hypervisor, and (of course) user-level. Again, this is not by fiat or to do it for its own sake; we are using Rust emphatically because it is the right tool for the job.
More generally: Rust has proved to be even more important that I thought it was when I gave this talk. My blog post from a year ago goes into some of this updated thinking[1], but honestly, my resolve on this continues to strengthen based on my own experience: Rust is -- truly -- a revolution for systems software.
[0] https://www.youtube.com/watch?v=cuvp-e4ztC0
[1] http://dtrace.org/blogs/bmc/2020/10/11/rust-after-the-honeym...
by IanSanders on 10/18/21, 1:34 PM
Edit: Feels like half measures won't move us very far (and taking a step back and refactoring everything, taking into account lessons we learned, while awesome, would likely not be financially viable)
by guerrilla on 10/18/21, 10:40 AM
by Verdex on 10/18/21, 2:39 PM
Rust is probably better than C or C++ for writing an OS ... however it has some behaviors that don't make it ideal. Rewriting the OS in Rust will perhaps simply have to start over again when some frustrated OS devs go off and make an even better language for writing the OS.
Heavily augment the OS in Rust is a much more believable effort. The main architecture can be in C and then all the utilities, misc functionality, etc can be in Rust. This is also kind of what Rust was built to do (heavily augment a web browser already written in C++).
Finally, my money is on the far future having most OSes built with multiple languages. Each one specializing in what is required for the given domain. It sounds like Windows is already taking this route (iirc Windows 8 and 10 have some drivers (probably usb) written in the P language).
OSes are important enough for our society that I think it makes sense for us to put some extra effort into their construction. Several custom languages and 50ish years of calendar time to get an output feels like it's going to be worth the cost.
by scrubs on 10/18/21, 4:05 PM
by matt_s on 10/18/21, 2:09 PM
by Shadonototra on 10/18/21, 4:25 PM
But it introduce even bigger issues; slow build times
Being able to iterate SUPER QUICK is very important, you want to be able to test and see results as fast as possible, so you get to fix bugs or implement feature with ease
Imagine you get to work on super import product that needs super low latency and close to 0 downtime
You notice a bug, you have to deploy a fix ASAP
If your language makes you test/deploy the issue in hours, then it's very bad
by nso95 on 10/18/21, 11:03 AM
by politician on 10/18/21, 1:56 PM
by sys_64738 on 10/18/21, 11:25 AM