Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Operating Systems Software Microsoft

The Microsoft Singularity 615

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.""
This discussion has been archived. No new comments can be posted.

The Microsoft Singularity

Comments Filter:
  • Well.... (Score:2, Insightful)

    by Petaris ( 771874 ) on Thursday November 03, 2005 @02:40PM (#13942963)
    Quote:
            "designed with emphasis on dependability instead of performance."

    Well since there goal has always been to have both dependability and preformance and they never succeded I suppose it is rather wise for them to cut back on the complexity and just try to get one of them.

  • by BronxBomber ( 633404 ) on Thursday November 03, 2005 @02:41PM (#13942980)
    Right. And /. has never taken down an Apache site. Mod me down, you haughty assholes. At least I've got the sack to post this using my real UN
  • by Anonymous Coward on Thursday November 03, 2005 @02:43PM (#13942991)
    anonymous so as not to whore karma:

    One interesting concept is the abstraction of Software Isolated Processes (SIPs).

    SIPs provide the strong isolation guarantees of OS processes (isolated object space, separate GCs, separate runtimes) without the overhead of hardware-enforced protection domains. In the current Singularity prototype SIPs are extremely cheap; they run in ring 0 in the kernel's address space. Singularity uses these advances to build more reliable systems and applications. For example, because SIPs are so cheap to create and enforce, Singularity runs each program, device driver, or system extension in its own SIP. SIPs are not allowed to share memory or modify their own code. As a result, we can make strong reliability guarantees about the code running in a SIP. We can verify much broader properties about a SIP at compile or install time than can be done for code running in traditional OS processes. Boarder application of static verification is critical to predicting system behavior and providing users with strong guarantees about reliability"
    Source: Singularity Site

    From the report we can read that:

    SIPs are the OS processes on Singularity. All code outside the kernel executes in a SIP.
    differ from conventional operating system processes in a number of ways:

    SIPs are closed object spaces, not address spaces. Two Singularity processes cannot
    simultaneously access an object. Communications between processes transfers exclusive
    ownership of data.

    SIPs are closed code spaces. A process cannot dynamically load or generate code.
    SIPs do not rely on memory management hardware for isolation. Multiple SIPs can reside
    in a physical or virtual address space.

    Communications between SIPs is through bidirectional, strongly typed, higher-order
    channels. A channel specifies its communications protocol as well as the values
    transferred, and both aspects are verified.

    SIPs are inexpensive to create and communication between SIPs incurs low overhead.
    Low cost makes it practical to use SIPs as a fine-grain isolation and extension
    mechanism.

    SIPs are created and terminated by the operating system, so that on termination, a SIP's
    resources can be efficiently reclaimed.

    SIPs executed independently, even to the extent of having different data layouts, run-time
    systems, and garbage collectors.
  • Re:My guess: (Score:1, Insightful)

    by Anonymous Coward on Thursday November 03, 2005 @02:49PM (#13943077)
    Now, to bring it up to the level of ... Linux

    You're not even trying to make sense anymore, are you?

  • by Anonymous Coward on Thursday November 03, 2005 @02:49PM (#13943080)
    Nothing but redundant posts and tired cliches for comments on this article so far. But being critiques of Microsoft the mods will be retarded enough to mod it all Funny/Insightful/blah/blah/blah instead of Redundant and Overrated that they deserve.

    Slashdot's credibility as a serious news site went through a black hole for all it's worth.
  • by Anonymous Coward on Thursday November 03, 2005 @02:51PM (#13943100)
    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.
  • by zootm ( 850416 ) on Thursday November 03, 2005 @02:52PM (#13943118)

    Try checking out the Microsoft Research page, and their past systems stemming from there. You might be surprised.

  • by Entrope ( 68843 ) on Thursday November 03, 2005 @02:53PM (#13943130) Homepage
    Premature optimization is the root of all blah blah blah. The web server isn't be running on Singularity anyway. OpenBSD shares a similar (albeit more human than mechanical) focus on correctness over performance, but nobody seems to think it is doomed to failure because of that.

    I think "Singularity" is not worth a hill of beans, but mostly because its novel ideas have already been tried and made little headway. Java systems have applied similar approaches to securing multiple processes within an address space in the past; microkernels have applied similar approaches to communications between processes. To the best of my knowledge, neither have resulted in software that is used outside of the initially targeted niche. Singularity mostly looks like the application of those previously tried approaches to a Microsoft virtual machine.
  • by devilsadvoc8 ( 548238 ) on Thursday November 03, 2005 @02:53PM (#13943131)
    The relentless bashing of Microsoft in this manner is tiring. Have they made flawed products? Absolutely, but to generalize their contribution to modern computing as nothing more than theft and good marketing is pure garbage. However such posts are good at karma whoring...
  • Re:Papers? (Score:5, Insightful)

    by Kupek ( 75469 ) on Thursday November 03, 2005 @02:55PM (#13943166)
    I don't understand your complaint. They wrote some papers about their research project, why wouldn't they put them on their site? Before you dismiss the quality of the papers, you want to actually read them.
  • by PCM2 ( 4486 ) on Thursday November 03, 2005 @02:56PM (#13943169) Homepage
    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.
  • by spectrokid ( 660550 ) on Thursday November 03, 2005 @02:57PM (#13943192) Homepage
    An OS written in C#? Could be good. Not for a gaming machine, but what about an ATM? A controller in an industrial environment? Imagine a PC with no memory leaks,like ever. No buffer overflows. No monthly patching hell. Would make one tough SOB as a firewall.
  • by AKAImBatman ( 238306 ) * <akaimbatman@gmaYEATSil.com minus poet> on Thursday November 03, 2005 @02:58PM (#13943210) Homepage Journal
    NT / XP / Vista - Built off of OS/2

    Actually, NT was a kitbash of a VMS kernel with OS/2 usermode components, which themselves were "upgrades" to Windows 3.1 components, which were mostly "simple" concepts stolen from Mac OS. Confused yet?

    Now take Windows 95 (which was Windows 3.1 running in full protected mode, but with a new UI and a Virtualized DOS window) and bash it together with NT 3.51. Remove various security considerations and compile the graphics subsystem into the kernel and you have the makings of NT 4.0.

    2000 and XP have since reflected that Microsoft has experienced no major increases in technology. Thus 2000 bashed various bits of Unix into itself (to make it "Enterprise Ready") and XP just added lots'o'pretty-stuff and a Win95 virtualizer.

    Now if Microsoft manages to get their HotOS into production (not bloody likely, considering that Microsoft Research is merely a place for good researchers to die) then Microsoft will have managed to reinvent Symbolics LISP from 20+ years earlier. Yay for progress!
  • by romanbway ( 928243 ) on Thursday November 03, 2005 @03:05PM (#13943281)
    As software starts to take over from mechanical controls it needs to be super reliable. It looks like Microsoft is getting ready for a world where their software flies our planes and drives out cars.
  • by EraserMouseMan ( 847479 ) on Thursday November 03, 2005 @03:08PM (#13943307)
    Yea, we've never seen a LAMP site /.ed now have we?
    So when /.ers kill a LAMP site do you post with the subject, "This just in LAMP sucks . . . already Slash Dotted"?
  • by The Bungi ( 221687 ) <thebungi@gmail.com> on Thursday November 03, 2005 @03:09PM (#13943321) Homepage
    Just goes to show what IIS and SQL Server will do for you....

    Wow, and the last time I saw a /.'ed site spewing MySQL and Apache errors I thought it was just me. Because, well, I've heard that using open source will automagically upgrade your DSL to a T3. Free!

    Moron.

  • by Jerry Coffin ( 824726 ) on Thursday November 03, 2005 @03:11PM (#13943337)
    Come to think of it - has MS EVER written their own OS from scratch?

    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 - Borrowed from Tim Patterson's QDOS.

    Windows - Shell extention to DOS

    Xenix - AT&T/Berkley clone

    OS/2 - Co-built with IBM

    NT / XP / Vista - Built off of OS/2

    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.

  • by cbiffle ( 211614 ) on Thursday November 03, 2005 @03:13PM (#13943374)
    My favorite bit from the research paper (linked from TFA) is the following:


    Extensions are a major cause of software reliability, security, and backward compatibility problems. Although extension code is often untrusted, unverified, faulty, or even malicious, it is loaded directly into a program's address space with no hard interface, boundary, or distinction between host and extension.


    Okay, Microsoft, I think I'm with you on this one...you're telling us not to use ActiveX, right?
  • by WhiteWolf666 ( 145211 ) <{sherwin} {at} {amiran.us}> on Thursday November 03, 2005 @03:18PM (#13943433) Homepage Journal
    Thoughts:

    1. Be nice to have some real competition versus Linux/OS X in terms of architecture. XP/2003 just aren't there. Vista won't be, most likely.
    2. Where such a beast (research OS) ever to become a product, would it demonstrate a high level of backwards compatibility? If not, would it actually have to compete on merits, rather than vendor lock-in?
    3. It's taken ~10 years to write Wine to the point where it is in _beta_. Now, I'm sure MS can do it faster, because they have the documentation; after all, they designed it. But how long will it take? Or will they use a virtual machine architecture?

    In any case, if MS switches to an entirely different OS architecture, I forsee the end of the MS monopoly. Release of a non-Win32 based OS, one that runs older applications (either desktop OR server) in emulation validates Linux/OS with QEMU/Virtual PC/VMware/Xen/Whatever.

    4. I doubt this will ever leave the lab. Singularity will be a test bed for MS researchers who want to play with various concepts. These things will be ported over to Vista, or whatever comes into the future. I cannot imagine a world in which MS actually started from scratch; having to market such a product against mainline-Windows, Mac OS X, Linux, Solaris, AIX, and FreeBSD would be pure madness. It's already extremely difficult for MS to push Office against older versions of Office; this has generated substantial pressure towards alternative Office packages.

    It'll be significantly harder for MS to push towards a non-Windows MS operating system. Every single CIO willing to consider moving from Windows will be willing to consider moving to Linux/OS X/whatever instead.
  • by LLuthor ( 909583 ) <lexington.luthor@gmail.com> on Thursday November 03, 2005 @03:20PM (#13943473)
    I am going to be modded troll for this I am sure, but I have to say it anyway.

    How many OSes have ever been written from scratch?

    I can think of only 3, none of which has even 0.1% market share. In fact, Plan9 is the only one of them alive.

    What is the big deal with bashing microsoft for copying ideas from people?

    Isn't that what OSS is built around, copying good ideas?
  • by shmlco ( 594907 ) on Thursday November 03, 2005 @03:23PM (#13943530) Homepage
    You mean the way the FOSS community has managed to reinvent Unix from 30 to 40 years earlier? Yay for progress!

    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...

  • by pstreck ( 558593 ) * on Thursday November 03, 2005 @03:26PM (#13943577)
    After browsing the pdf this os looks very promising. It's implementing a lot of technologies that have to this point only been theorized or tested in very small scale environments. I personally applaud microsoft for taking this initiative on dependenability, for it is something that they have lacked focus on for the past 15 years or so. And i'm honestly kind of disgusted with general microsoft bashing in these comments. Judge technology by it's merits and pitfalls not by it's creators past acheivement, or personal disputes with it's creator. -- nuff said
  • Re:Papers? (Score:1, Insightful)

    by Anonymous Coward on Thursday November 03, 2005 @03:28PM (#13943595)
    Posting as AC, so I don't care who reads this, I just wanted to get this off my chest.

    I have wondered what would ahppen if Microsoft sent a team of developers off to build a new operating system from the ground up. Regardless of what people think, they have some of the worlds best developers. Now, they've gone and done it. I can imagine Micsrosoft having the best operating system out there, under those circumstances. They could just end up winning, after all.
  • Re:Papers? (Score:5, Insightful)

    by GileadGreene ( 539584 ) on Thursday November 03, 2005 @03:49PM (#13943890) Homepage
    Please keep in mind that MS Research is quite a different beast than the production departments of MS. MS Research does a lot of respected work. They also employ some of the most reputable researchers in software and OS development, including:

    • Tony Hoare [microsoft.com] (quicksort, CSP, Hoare logic, among other things)
    • Leslie Lamport [microsoft.com] (TLA+, the bakery algorithm, the byzantine generals problem, LaTeX, among other things)
    • Simon Peyton-Jones [microsoft.com] (Haskell, many things FP)
    • Luca Cardelli [microsoft.com] (many things in type theory and PL semantics)
    • Eric Meijer [microsoft.com] (many things FP)

    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.

  • Re:Device Drivers (Score:3, Insightful)

    by zootm ( 850416 ) on Thursday November 03, 2005 @03:55PM (#13943956)

    Interesting point! I guess that's exactly what it would mean, yes, since they seem to be treating all of these things at similar levels.

  • Re:Nope. (Score:2, Insightful)

    by SlashSquatch ( 928150 ) on Thursday November 03, 2005 @03:57PM (#13943990) Homepage
    Maybe the animosity towards microsoft stems from the feeling of persecution derived from being forced to hard reboot to often (among other ridiculous things). This occuring in stressful situations, coupled with any other quirky behavior, makes the user harbor very negative feelings of being held captive, resulting in frustration, feelings of unproductivity and anger toward the perceived captor. When the captor is a monolithic corporation, incapable of assimilating true user feedback, the feelings are compounded. Slashdot is a healthy release of this animosity.

    "You think your Commodore 64 is really neato What kinda chip you got in there, a Dorito? You're usin' a 286? Don't make me laugh Your Windows boots up in what, a day and a half?"

  • by Anonymous Coward on Thursday November 03, 2005 @04:13PM (#13944165)
    Coming from a guy who's never written a piece of sizable software himself.

    You really are a fool. You know that right? It would be a damn shame if you went through life without finding out you really aren't as smart or important as you think you are.
  • by Coryoth ( 254751 ) on Thursday November 03, 2005 @04:18PM (#13944227) Homepage Journal
    As far as I can see, the language in question is not exactly "new" anymore, being C#.

    Actually its an extended version of Spec# which is in turn an extension of C#. It might help to acquaint yourself with what that actually means. The first significant different is that Spec# allows for explicit pre and post conditions and other formal specificiation syntax, and hence allows for model checking, extended static checking, and formal proof if required.

    It's more like someone writing an OS in BitC [coyotos.org] because it can be formally verified and hence be more secure. It does make sense, and there is good logic behind it. Comparing it to an OS in Java is just silly. Comparing it to an OS written in Java using JML [iastate.edu] and associated theorem provers [key-project.org] is getting a little closer. Of course that doesn't address the issue of designing the OS to be more secure and reliable from the outset, and not just relying on formal verification.

    If you actually bothered to read some of the material on Singularity you would see that it is an ambitious, but remarkably interesting and promising project. It is also, I would expect, something that will permanently remain buried in MS research like so many other projects. I would be interested in seeing a good open source equivalent though - such a project might have some hope of surviving.

    Jedidiah.
  • by renfrow ( 232180 ) on Thursday November 03, 2005 @04:20PM (#13944254) Homepage
    GP post was correct so far as I can tell. Every succesful (where succesful means it actually made it into significant use in the real world) OS was a refinement of a previous attempt, and every new, innovative, designed from scratch OS project has ended in dismal failure, usually bankrupting the designers (or at least the corporation they formed) in the process.

    Sooooo.... Where is the bad in this if Microsoft does it?

    Tom.
  • by courtarro ( 786894 ) on Thursday November 03, 2005 @04:49PM (#13944566) Homepage
    Wow, quick to judge. Once MS has given up the push for performance (as in this case), you can guess they're not aiming at the end-user desktop. They don't want this to compete with Vista or any future derivative, they will want it to be used in embedded systems that can't fail. They want it to compete with Linux for small devices, not on the desktop. In cars, IV drips, air traffic controllers, and voting machines, you need computers that never ever crash, so this is the sort of thing that can be used in those lower-performance-allowable situations.

    That said, this is research. They have barely even made it known to the public at this point, much less secured some sort of massive marketing campaign. They may later decide that it's pointless to compete with existing solutions (I couldn't say either way), but the only way to find out is to start something and see where it goes.

  • The first implementation is indeed innovative. I'd call Gopher and WAIS truly innovative as information delivery systems and the web as innovative as a presentation system. For plain information, Gopher and WAIS are still technically superior.


    I would argue, however, that later generations can be innovative - provided they do something revolutionary in and of itself. For example, CERN's webserver was the first (and therefore innovative by being first) but I'd consider NCSA's webserver to to have posessed qualities that the CERN server did not have, in a manner such that NCSA's webserver (IMHO) deserves the title of innovative as well. Although Apache has yet more qualities, I would not consider those to be in a manner that justifies such a title.


    By implication, I'm saying that a quality must have some attribute that distinguishes itself above and beyond being a mere addition, for the idea/project to be called a true innovation. To me, that attribute is that the addition not simply be an extrapolation or an interpolation of what already existed but must exist outside of the covered space, yet intersect the covered space in such a manner that the extension is a natural extension, not forced.


    The "dumb person's test" for true innovation is that it must be so difficult to see in advance that it had truly occured to nobody at all. EVER. Yet be so obvious once found/developed that nobody really realizes it hasn't always been there,

  • Heres one: (Score:5, Insightful)

    by 0kComputer ( 872064 ) on Thursday November 03, 2005 @06:17PM (#13945478)
    How about IXMLHTTPRequest, or what everyone now so fondly calls AJAX now that its all the rave.
  • by naasking ( 94116 ) <naasking@gmaEULERil.com minus math_god> on Thursday November 03, 2005 @06:39PM (#13945658) Homepage
    EROS uses C and relies on memory management hardware for isolation. EROS also can't analyze or verify code it loads.

    I don't want to re-hash our previous argument on this subject [slashdot.org], but the above statement is trivially falsifiable. Singularity is built on a microkernel. EROS is built on a microkernel. Anything that can be built on Singularity, can be built on EROS, including verifiers, virtual machines, Software Isolated Processes, etc.

    EROS has a default mechanism for isolating faults and loading untrusted code in the absence of any safety guarantees: the constructor.

    I don't know whether Singularity is going to make it, but I have used and developed on systems like it (the idea isn't new), and it is a lot nicer than either UNIX kernels or EROS-like kernels.

    Not that you know what developing on an EROS-like system is like, considering it's a completely revolutionary architecture comparable only to KeyKOS from which it's derived.
  • by Bonobo_Unknown ( 925651 ) on Thursday November 03, 2005 @08:03PM (#13946382)
    Microsoft didn't seem to have too much trouble in getting everyone to swap from 9x to NT (What version of NT are we up to now, is it 6??)
  • by drsmithy ( 35869 ) <drsmithy@nOSPAm.gmail.com> on Thursday November 03, 2005 @10:51PM (#13947336)
    Be nice to have some real competition versus Linux/OS X in terms of architecture. XP/2003 just aren't there. Vista won't be, most likely.

    Architecturally, NT is better than both Linux and OS X.

    Release of a non-Win32 based OS, one that runs older applications (either desktop OR server) in emulation validates Linux/OS with QEMU/Virtual PC/VMware/Xen/Whatever.

    Except that Microsoft would expend a great deal of effort to make the emulation transparent, seamless and easy to use. It's doubtful the same would be true from the OSS community.

    It'll be significantly harder for MS to push towards a non-Windows MS operating system.

    Not if it runs existing applications relatively seamlessly, it won't.

    Every single CIO willing to consider moving from Windows will be willing to consider moving to Linux/OS X/whatever instead.

    Assuming they can provide similar functionality and performance at a competitive price. This is far from a given.

  • by DavidBurns ( 518946 ) on Thursday November 03, 2005 @11:18PM (#13947470)
    Parent wrote:

    --
    OS/2 - Co-built with IBM

    NT / XP / Vista - Built off of OS/2
    --

    Correction; NT was not "Built off of OS/2" but was designed by David Cutler based on concepts in VMS. About the only commonality between OS/2 and NT is their shared heritage of compatibility with MS-DOS.
  • by cartman ( 18204 ) on Thursday November 03, 2005 @11:44PM (#13947567)
    Singularity is built on a microkernel. EROS is built on a microkernel.
    You completely misunderstood the point of Singularity. The point of Singularity is that all code (except OS code) is subject to verification, and any code that isn't verifiable is runtime bounds-checked. Furthermore, in Singularity, inter-process communication is structured, such that the OS can verify IPC traffic. Furthermore, the languages for Singularity are strongly typed at the object code level, and garbage collection is performed by the OS--explicit deallocation is impossible for any application. These facilities make it impossible for any application to have buffer overruns, segfaults, or overruns of other apps' data--as a result, all applications can run in ring 0 and virtual memory is not required.

    All that has nothing whatsoever to do with Eros. The two projects are not even similar.

    Of course a verifier could be written as an application for Eros (or for DOS, for that matter). That statement is like saying that C++ is no different from assembly, because they're both built atop similar hardware and can be used to implement the same things.

    Not that you know what developing on an EROS-like system is like, considering it's a completely revolutionary architecture comparable only to KeyKOS from which it's derived.
    The Coyotos OS is based on Eros and is quite similar. Additionally, Eros is not completely revolutionary. From the eros web page, What's new about Eros?: "Each of these faclities is...essential to providing scalable reliability, and all of them have appeared in prior systems. No prior system, however, has ... this particular combination ... in quite the same way.".
    Not that you know what developing on an EROS-like system is like
    Your arrogance is unjustified.

Any circuit design must contain at least one part which is obsolete, two parts which are unobtainable, and three parts which are still under development.

Working...