The Microsoft Singularity
jose parinas writes ""Microsoft Research has published the first details of a wholly new operating system under development called Singularity, designed new from the ground up, built on a new language and designed with emphasis on dependability instead of performance.""
For what it's worth, HotOS is an actual respected academic workshop. It was sponsored by Microsoft, but then again, Microsoft sponsors lots of real, respected academic conferences.
The Singularity project is run by top-notch researchers with very good reputations in the academic community. This is the real deal.
I think Slashdot has an acronym for things like the parent post... FUD, was it?
Check out EROS for an implementation that exists now. Granted, EROS itself is no longer being developed, it was definitely around before this OS, and EROS has spawned some new projects (look on the link for links).
// file: mice.h
#include "frickin_lasers.h"
A quote from Galen Hunt (apparently someone working on it) from the Channel9 video page (I have to say I've not watched the video, at least yet, it's just interesting wherever developers actually reply to queries), says something about this:
I don't know if that directly answers your question, but I think it kinda explains how they're dealing with this sort of thing.
PDF of the Microsoft paper
[SIG] Far better to be thought a fool then to post on
This is just a research OS written in C#.
No, it's written in Sing# which is an extension of Spec# which is an extension of C#. People really ought to pay more attention to Spec# - it's a nice extension of C# that allows for more formality if and when you require it. It's in the same class of language as SPARK which is an extension of Ada, JML which extends Java with specification semantics, BitC, Extended ML, HasCASL, and I guess to a lesser extent things like Eiffel and D.
Think of it this way: static types and type signatures for functions allow you to specify things about the software that the compiler can statically check and make sure there aren't any silly errors. The languages listed above (to varying degrees) allow for more exacting specification about the software, and hence you can (with the right tools) do far more comprehensive static checking and ensure various properties of the software. The difference is that, with most of these languages, the amount of specification is optional - you can be as exacting as you want where you need it, and not bother where you don't. It's like a dynamically typed language that lets you declare and use static types (and check them)just for those areas of code where it matters (except you start with static types and can provide more exacting specification where it matters). It's well worth checking out.
Jedidiah.
Craft Beer Programming T-shirts
I already wrote about this four days ago so I won't repeat the whole thing here. Short version:
Even shorter version: lots of great ideas, lots of work still to be done. Anybody with a clue about operating systems should be following this with interest.
Slashdot - News for Herds. Stuff that Splatters.