Most (if not all) of these showed up in other places first, but it’s still a nice page both of what Minix has done and of getting a good feel for what reliability development is like.
It’s a refreshing change of thought process to approach your code from the perspective of “all code is very buggy, even what I’m writing right now”. Trying to get your “has to work” code down to the axiomatic core, layering things on top in fault-tolerant ways, reducing dependency chain lengths during architecture design – lots of fun stuff to do.
Reliability is, like security, also something you can (and should) consider at each level in the stack. For instance, the .NET CLR has a lot of reliability features that are new in the 2.0 version. Since this is the first version that was hosted in SQL Server, hopefully it’s obvious why the mandate for some of these was higher than it had been in the V1.x versions 🙂