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.""
Will the user interface be called Event Horizon?
"Because when we blue screen, all of your data goes down into a black hole."
Tee hee giggle snort. That was funny! I'd say more, but Full House is on! Cya!
"Derp de derp."
Last week, the latest build of Windows Vista became so horrendously bloated that it underwent gravitational collapse... coincidence?
I saw and worked on this a bit while interning at Microsoft. Although what I say is my own and doesn't reflect Microsoft in any way, it's important to remember that this is a research operating system, so its not challenging or replacing Windows. They have some very good, solid ideas. I hope that, someday, it will be released.
fnord.
This is just a research OS written in C#.
Microsoft Research is always making things Microsoft never uses. Remember all the 3D navigator stuff they were crowing about years ago?
I think Microsoft Research is a place to keep eggheads working and happy so they don't go working somewhere else.
"Sufferin' succotash."
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?
Have you actually read any of the papers?
I am an OS academic, and we take Microsoft Research seriously, because they're fucking good.
HotOS is a pretty serious workshop for Operating Systems research. Microsoft Research, among others, pays for the conference room. Singularity isn't far enough long yet to get into a bigger conference like SOSP or OSDI, but you can be sure it will in a year or two.
I wouldn't call Singularity pseudo-academic.
As far as I can see, the language in question is not exactly "new" anymore, being C#. In other words, this is sort of a demo OS written in a managed-code environment as a way to test various OS principles (which in this case sound a lot like the virtualization stuff that so many other vendors are also doing). Singularity seems like the equivalent of writing an operating system in Java for a school project.
Breakfast served all day!
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.
Better question: when's the last time anybody wrote an OS from scratch?
As far as I can see, the answer to that is really "never". Before there were OSes, there were collections of macros to act like device drivers and such. The first OSes were based on those, and added slightly more uniform interfaces and such.
Pretty much everything since can be traced back to something previous.
DOS 1.0 was based on QDOS, but DOS 2.0 was essentially a complete rewrite that was really based much more closely on UNIX than on QDOS.
In fairness it should also be added that QDOS was based on (according to some, just a re-compile of) CP/M. Lest any CP/Mers get all holier-than-thou about it, in his original announcement letter about it to "Doctor Dobb's Journal of Computer Calisthenics and Orthodontia", Gary Kildall openly stated that CP/M was derived from DEC RT/11. I'll assume there aren't enough DECies left to bother debunking the notion that RT/11 was entirely original.
I'd say the others are much the same way: on one hand, MS contributed more originality than you imply, and on the other hand, others contributed less than you imply.
--
The universe is a figment of its own imagination.
The universe is a figment of its own imagination.
Seriously, ALL operating systems borrow concepts from earlier versions and the existing state of the art. Trying to determine the degree (or not) of "innovation" is akin to arguing about the number of angels that can dance on the head of a pin, with no prior agreement as to the size of an angel...
Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
PDF of the Microsoft paper
[SIG] Far better to be thought a fool then to post on
I dislike MS production software and business practices as much as the next guy. But don't make the mistake of underestimating MS Research just because you dislike MS.
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.
How about IXMLHTTPRequest, or what everyone now so fondly calls AJAX now that its all the rave.
Top 10 Reasons To Procrastinate
10.