Slashdot Mirror


Microsoft Singularity Now "Open" Source

Alex_Ionescu writes "Microsoft's Singularity operating system (covered previously by Slashdot) is now open to the public for download, under a typical Microsoft academic, non-commercial license. Inside is a fully compilable and bootable version of what could be the basis for the future of Windows, or maybe simply an experiment to demonstrate .NET's capabilities. Singularity, if you'll recall, has gained wide interest from researchers and users alike, by claiming to be a fully managed code kernel (with managed code drivers and applications as well), something that would finally revolutionize the operating system research arena. The project is available on CodePlex."

21 of 392 comments (clear)

  1. Stability? by spectrokid · · Score: 4, Interesting

    If this is super-stable-hacker-resistant then there must be some uses where performance is not really an issue: ATM's, Kiosks,... Does anybody know what software exists for this thing? Does it run IE?

    --

    10 ?"Hello World" life was simple then

    1. Re:Stability? by TheRaven64 · · Score: 4, Interesting

      I looked at Singluarity a while ago, and all of the 'innovations' I saw had been in JNode years earlier. Since JNode is LGPL and actually capable of running (Java) applications, what is the attraction of Singularity?

      --
      I am TheRaven on Soylent News
  2. It's open source because... by Gabest · · Score: 5, Interesting

    ... they couldn't make it closed. Being written in a managed language means it's easily reversable.

    1. Re:It's open source because... by ushering05401 · · Score: 4, Interesting

      IIRC last Fall's 2600 had a basic intro to reversing obfuscated code (using Java example I think).

      There are several websites out there that deobfuscate code in realtime to advertise their services... if I was actually interested in the issue I might still have a link, but you will have to google if you want to research this further.

      The basic Visual Studio toolset has everything you need to reverse any managed code manually, obfuscated or not, providing you are willing to put in the time.

      Anyhow, C# currently pays for my meals, so I'm not trolling here... but be careful about making assumptions about the privacy of any managed code that you release. Hell, same goes for any code, the 'managed' aspect just lower the bar for crackers a bit.

  3. Re:!free by C3c6e6 · · Score: 4, Interesting

    I'm sorry but if you can't modify the code and redistribute it yourself, then I don't consider the source to be open. Still, I agree, it could be useful as an educational tool.

  4. Open Source != GPL by RingDev · · Score: 1, Interesting

    Definitions of open-source on the Web:

            * Of or relating to source code (eg, computer code) that is available to the public.
                plan2005.cancer.gov/glossary.html

            * of or relating to or being computer software for which the source code is freely available
                wordnet.princeton.edu/perl/webwn It is Open Source. It is not public domain, GPL, CC, or under any usable license.

    All Open Source means is that the source is open. We want Dibold to Open Source their black boxes, not so that we can change the code and sell it, but so that we can review it and audit it.
    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
  5. Re:!free by Azarael · · Score: 4, Interesting

    That's also fine, until Microsoft decides to go after you once you've reviewed the source, but happen to work on a parallel product, say Linux. This may be a cynical analysis, but the fact remains that this could be a trap, and slashdot previously covered similar problems with the source code releases of XP to Gov't, etc staff.

  6. Re:Software Isolated Processes by parvenu74 · · Score: 3, Interesting

    This sounds *really* cool actually, but I wonder if anything will ever come of it on the desktop? Perhaps in Windows 7. Like I replied on another sub-thread of this discussion, Singularity isn't intended to ever go to market. Rather it's a breeding and proving ground for advanced concepts that might find their way into the main Windows code base at some time in the future. I think it's something like the advanced technology/racing teams inside of the major car makers who create interesting ways of solving difficult problems: some of these advanced concepts (like ABS, traction control, etc) from the racing and research teams find their way into the cars we actually drive on a day to day basis.
  7. Re:!free by pembo13 · · Score: 2, Interesting

    In your opinion (I haven't formed one myself yet) how is this a "remarkably good thing" ?

    --
    "Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
  8. No, it really is !free by Anonymous Coward · · Score: 1, Interesting

    I think you meant:
    shared source = source code is made available

  9. It's a nice system. Is this abandonment? by Animats · · Score: 4, Interesting

    Very nice. It's sad, though, that Microsoft is making it available as open source, because that means it's not going to become a Microsoft product.

    Singularity is an interesting system. Most of the individual ideas aren't new, but the combination of them is well chosen. It's a message passing microkernel, like VM and QNX, the OSs that actually work reliably. The storage management and of enforcement of process separation at compile time comes from the ALGOL compiler for the Burroughs 5500, circa 1960, for example. They recognized the problem of interaction between interprocess communication and the scheduler and dealt with it; QNX probably has a better solution, but the one in Singularity is OK. Singularity tries a bit too hard to avoid interprocess copying; so did Mach, and it made things worse.

    There's a reasonable design-by-contract language. The language knows about marshalling for interprocess communication, which encourages its use. That's borrowed from Mesa. In most languages, a subroutine call is much easier to code than an interprocess call, which encourages bloat of individual processes.

    Drivers aren't in the kernel and aren't trusted, although drivers that can do DMA still present a security problem. This is a problem with insecure PC hardware; IBM mainframe channels have DMA that goes through MMU checking. That could be fixed, especially since most new peripherals are on USB or FireWire ports. Add-on boards are on the way out.

    Makes me wish I was still doing OS R&D.

    1. Re:It's a nice system. Is this abandonment? by abigor · · Score: 2, Interesting

      Would you happen to know how Singularity does multiprocessing? Does it support threads, or does it use some sort of tuplespace thing, or message passing like Erlang?

      Threads are the source of so much pain that an os that supports some other model for multiprocessing (from the ground up rather than as a library) seems way overdue. Since the various Singularity "processes" run in the same actual process space, a shared memory model for multiprocessing seems like it would be practical and very fast.

    2. Re:It's a nice system. Is this abandonment? by abigor · · Score: 2, Interesting

      Haha, yes, but it's not a very good model at all, really. I was actually referring to tuplespaces or an Erlang-like thing. There's a reason why Erlang doesn't use threads, and yet is also the most stable language environment there is.

      I refer you to this IEEE article: http://www.computer.org/portal/site/computer/menuitem.5d61c1d591162e4b0ef1bd108bcd45f3/index.jsp?&pName=computer_level1_article&TheCat=1005&path=computer/homepage/0506&file=cover.xml&xsl=article.xsl&;jsessionid=HTWQvFsBn0gtqDQ3qVPNjzgwTkN18fKLvrhlJk02snyhs53jvx2C!935834109

  10. Microsoft hate by electrosoccertux · · Score: 5, Interesting

    I'm afraid stuff like this is reducing my hate of MS. For several reasons, I am finding MS products less and less frustrating.

    1). Open sourcing weird stuff like this.
    2). Silverlight is pretty good.
    3). I disabled UAC in Vista. Now Vista is just like XP, but it has a prettier (albeit inconsistent at times) UI.
    4). Realizing that as much as I may like free as in freedom with Linux, in XP, my stuff just works, and it's fast and snappy and doesn't get bogged down (of course I'm not doing stupid stuff like using IE visiting sketchy websites that install things). It works great for all my games, etc. Solid OS; I just had to get over my Linux vigilatism to notice it.
    5). I just found the speach recognition built into Vista 2 nights ago. For just about everything but typing, it works flawlessly. As much as I love my mouse; sitting back, relaxing with both hands comfortably unbound from a keyboard and mouse, feels absolutely wonderful. So instead of clicking minimize/maximize/close, alt+tab'ing until you see the window you want, clicking start, etc; you just say into your headset "Minimize" "Maximize" or the name of the window you want to use. So to change focus back to Firefox, I would say "Mozilla Firefox". Then you can say things like "Bookmarks" and it opens the menu for your bookmaks. Say the name of the bookmark and it selects it, then "ok" or "enter" to open it. If you've got several bookmarks it thinks you're saying, it highlights all of them with a transparent bar that you can see through, and places a number in the middle of that bar. So if I say "Slashdot", it highlights the 8 slashdot bookmarks I have, and then I say "7" and it opens the one under the bar labelled "7". "Scroll Down", "Scroll down 10", "Press control w" to close a tab. If you have a list of sites you usually like to go to, and have them all bookmarked (for me they're all in the bookmarks toolbar folder), then browsing your favorite sites that you check daily is easy. "GM [gmail]" "Reddit" etc. Since I have all these bookmarks on the toolbar, it automatically finds them and clicks them. When you're surfing the net, just say the name of the link on the page and it opens it for you.

    The Start Menu works nicely too. Just say "Start" and then the name of the program you want to open. Then it opens it. If it thinks there's several things you could be referring to, it shows these in the search results pane and uses the same number scheme to select which one you want. You can access windows here as well; after saying "Start" say "Show numbers" and then the number of the window you want to restore.

    This is the same tech they're putting in Ford/Lincoln/Mercuries for the GPS and music system that you've been seeing commercials for lately. After using the Vista version for just about 30 minutes, I've quickly gotten used to it; the commands are very intuitive. Gotta say it's really cool stuff. Yes I know OSX has had this since who knows when, but meh, OSX can't play my games. It feels much closer to what I'm thinking I want to do, because there's no physical motion besides just speaking what I want to do and it does it. Seems like they're progressing towards the synergy between brain and computer control very nicely.

  11. Microsoft will never be able to do microkernel by IGnatius+T+Foobar · · Score: 3, Interesting

    Microsoft has proven time and time again that they don't have the discipline to do a properly layered operating system.

    When they had OS/2 available to them, they switched back to DOS and stuffed everything into Win16.

    Then when they had the original NT microkernel available to them, they stuffed everything into the Win32 layer, where it didn't belong.

    Do you really believe Microsoft when they say, again, "This time we're going to design it properly" ??

    --
    Tired of FB/Google censorship? Visit UNCENSORED!
  12. Re:!free by dosius · · Score: 3, Interesting

    Come out from under that cave... last I checked Minix had been BSD-licensed for several years.

    -uso.

    --
    What you hear in the ear, preach from the rooftop Matthew 10.27b
  13. Exactly, it's a trap by Bozdune · · Score: 5, Interesting

    the fact remains that this could be a trap

    If you are a large entity, revealing your source via restricted license has become one of the best ways to cause your ideas to be protected, since you can argue that anyone else who had access to your source code, and then subsequently wrote something competitive, has "stolen your intellectual property." Even if you don't win the case, or the case is weak to begin with (as was SCO's), at the very least you can make a lot of trouble for a competitor, mire them in an expensive multi-year court case, and cause Casper Milquetoast prospects to avoid a "possibly infringing" solution.

    This could very well be Microsoft duplicity at its finest. It is built-in protection for Windows 7. Let's assume that software patents are overthrown by the SCOTUS, Microsoft's SCO friends die the zombie death they so richly deserve, and that Microsoft is forced, kicking and screaming, to obey standards by the EU and others -- in other words, all of Microsoft's existing weapons to maintain its monopoly position are defused. This strategy becomes a key defensive position.

    Do not look at this code. You must be able to answer, "I never saw it," under oath, if you ever expect to build something competitive.

  14. 100% managed code? by Digi-John · · Score: 2, Interesting
    To hear my Microsoft-employed friend talk about it, going to all managed code was a Mistake (yes, with a capital M). Here's what he said to me some time ago:

    [MS-employee]: C++ has warts, but it is also insanely powerful, and the good far outweighs the bad
    I would not give up lots of power to have slightly fewer warts
    The only things I envy in C# are its libraries
    Sucky, managed libraries, but they do some cool stuff
    [me]: like which ones?
    [MS-employee]: Interop is freaking obnoxious, though
    All the new UI stuff is managed because MS forgot about native code for about 5 years
    We're awake now, but it's going to suck for a while before it gets better
    [me]: So are you moving back to native, or fixing managed?
    [MS-employee]: I have never done managed
    If "you" means MS, then it seems like we're trying to do both
    We're supporting managed for the VBers and native for the big software development places
    Which is really should it should be
    Any other opinions on managed code out there? Preferably from people who have actually used it?
    --
    Klingon programs don't timeshare, they battle for supremacy.
    1. Re:100% managed code? by PRMan · · Score: 2, Interesting

      Yeah, about 10% slower code, about 90% fewer bugs...

      --
      Peter predicted that you would "deliberately forget" creation 2000 years ago...
  15. Re:!free by IamTheRealMike · · Score: 5, Interesting

    Singularity and Linux are so completely different that the chances of successfully prosecuting somebody for "stealing code" or even ideas is zero. Not only is Singularity written in a custom derivative of C# rather than C, but it has very different concepts of what a process is, what a kernel is, how system components communicate, and so on.

    I, for one, am very happy to hear this and will definitely be checking it out. Singularity is probably the most interesting research OS out there right now, in multiple dimensions. The main challenge they have to tackle next is one that most microkernels never really reached (because their performance was too poor to make it worth bothering with) - once a component does fail, how can you rewind the system to a safe recovery point? I emailed the Singularity guys about this and got back a very nice reply, which basically said "we don't know, that's still a research problem we need to investigate".

    Anyway. Good on MS Research. Let's see if anything interesting comes of this. It doesn't have to be useful, mind you, just interesting.

  16. *yawn* by WhiteWolf666 · · Score: 3, Interesting

    Frankly, this is stupid.

    The "vaunted" MS Research team has put out a "concept" OS that doesn't run _any_ applications, and cannot be used for any commercial purpose, and has no indications that it can be licensed. It's only claim to fame is that its an MS OS; there have been 100% managed code OSs before.

    Just last month Arstechnica had an article about two similar OSs, except they are written entirely in C#, without the C++ HAL in Singularity.

    Both are REAL opensource. As is jnode.

    In short, who gives a flaming f**k? As usual, MS is a day late and a dollar short, which is impressive considering that the "research team" working on singularity seems to be 30-40 people.

    --
    WhiteWolf666 an exBush supporter. All you new-school,compassionate,save the children Republicans can rot in hell