Want a peek at a non-Windows operating system from Microsoft?

Want a peek at a non-Windows operating system from Microsoft?

Summary: Want to see what a non-Windows-based operating system developed by Microsoft looks like? If you are willing and able to sign a non-commercial, academic Shared Source license, look no further.


Want to see what a non-Windows-based operating system developed by Microsoft looks like?

If you are willing and able to sign a non-commercial, academic Shared Source license, look no further. Microsoft on March 4 made the few-hundred-thousand lines of source code for Singularity Version 1 available for download from its CodePlex site. Microsoft made the announcement at its Microsoft Research TechFest 2008 event in Redmond, Wash.

Singularity is an operating system and set of related tools and libraries that is developed completely in managed code. Singularity is not based on Windows; it was written from scratch as a proof-of-concept.

"We decided not to build operating systems that are built on technologies that are 30 years old," said Principal Researcher Galen Hunt.

Late last year, Microsoft made the Singularity source code -- which it called an RDK, or research development kit, available to about a dozen academic partners. Now, anyone can license the code (though it is primarily targeted at academics/researchers).

"Existing operating systems are hard to modify," said Research Area Manager James Larus, "even Linux or the version of the Windows kernel we make available. Singularity is a good place for researchers to (play with) changing the operating system."

Because it was written in C#, Singularity is easier to analyze than other non-managed operating systems, the Microsoft researchers contend. Singularity also is a vehicle for demonstrated that software-isolated processes (SIPs) result in less performance overhead than the hardware-protection schemes commonly used by most operating systems developed over the last 30 to 40 years. Singularity's developers believe that SIPs can result in as much as 30 percent savings in performance.

So now that the first release of Singularity is out, what will its developers do next? Singularity Version 2 -- which will be focused primarily on heterogenous, multicore computing environments, according to Lazrus and Hunt.

Modern and next-generation PCs and devices are moving to include different instruction sets and architectures on multiple cores. Microsoft has launched a number of projects focused on the forthcoming multicore revolution.

"We want to be able to access (all these cores) with the same programming model," said Larus " Think multiple Singularity kernels running on different cores.

To complement this, Singularity's researchers are working on new tools, including some for finding errors in parallel and multicore programs.

Topics: Software, Microsoft, Operating Systems


Mary Jo has covered the tech industry for 30 years for a variety of publications and Web sites, and is a frequent guest on radio, TV and podcasts, speaking about all things Microsoft-related. She is the author of Microsoft 2.0: How Microsoft plans to stay relevant in the post-Gates era (John Wiley & Sons, 2008).

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • As Always with Microsoft ...

    [i]is developed completely in [b]managed code[/b].[/i]

    So I asked myself "What is managed code?". Per our friendly neighborhood Wikipedia entry:

    [i]"In Microsoft Windows terminology, managed code is computer program code that executes under the management of Microsoft's CLR virtual machine in the .NET Framework, or another similar virtual machine."[/i]


    So basically this is an entire new operating system running within the framework of .NET using either a CLR virtual machine or another virtual machine. So what is a CLR virtual machine?

    [i]The Common Language Runtime (CLR) is the virtual machine component of Microsoft's .NET initiative. It is Microsoft's implementation of the Common Language Infrastructure (CLI) standard, which defines an execution environment for program code.[/i]

    but wait there's more:

    [i]"Although some other implementations of the Common Language Infrastructure run on non-Windows operating systems, the CLR runs on [b]Microsoft Windows operating systems only[/b]."[/i]


    So even with this "new" operating system this Singularity it will run under a CLR virtual machine within the Microsoft .NET framework. And what operating system does the CLR only run on? If you said Microsoft Windows Operating systems you would be correct.

    As with all of Microsoft plans the "devil is in the details". ;)
    • Maybe...

      This is there view of the future of virtualisation (running off course of Windows version whatever). Or perhaps it's where they're looking at small/mobile/embedded stuff.

      Interesting, but as far as I know, there's no concrete plan for it.
      • What is it with people

        That just can't seem to use a "Z" where required?
        • Maybe B/c They're Not "Ammurikans"?

          W/a name like "Zkiwi", I'm guessing he's from that country they shot LORD OF THE RINGS in - you know, one of the OTHER English-speaking nations on this planet?
        • Perhaps it is because...

          Some people are into the preservation of the vowel "u" and think that loose is not the same as lose. I guess, some people try (but don't always succeed, but we do try) to use English, not American (The land of 'sup fool').
    • They've stolen fr0thy-OS!!

      def brand_new_os_start
      ... # Do something here

      This is a brand new OS which I have written from the ground up in Ruby - I didn't want to build anything on code that was 30 years old. I have changed the file's timestamp to reflect the complete newness of this project.

      There are major technological advantages in my implementation. It will run in the cloud, on the desktop, on the server platform, or on a RDBMS during a SQL query. I have already begun porting it for mobile applications too, and am in talks with all of the large phone vendors.

      You can licence this from me, and then add to it. Your contributions may then be used for profit without payment to yourself for your efforts as per the EULA.

      fr0thy-OS - Your Thinking, My Poisson.
      • Well done!

        none none
      • 9.8!! (NT)

      • "fr0thy-OS - Your Thinking, My Poisson"

        Your thinking, my FISH?????
        Confused by religion
        • I'm confused, too.

          The only Poisson I know is the Poisson Distribution in statistics. I use it at work in a routine that identifies/predicts locations with high concentrations of traffic accidents.

          Don't know what that has to do with fr0thy, or with fish.
          • Poisson means Fish...

            in french.
          • Frei Gift

            OK, the distribution was named after a man by that name--if he'd been English, it might well be the 'Fish distribution'. Further, it seems that bad fish dinners might well explain the use of this French word for a toxic substance, even though there was a perfectly good German word--'Gift' for such already. Or perhaps he intends to say that one man's mean is another's Poisson...
            (running, shooting, ducking for cover....)


            I note that all the things that the microwiennies were twelling me were so bad about my Amigas are now refered to as 'Features' by m$--they even 'stole' the standard 'code page', having hassled me because it couldn't do graphics!
      • LMAO

        One of the funniest things I've read on this site.
      • ::snicker::

        Given how well it worked for Borg Gates and Darth Ballmer, I anticipate great success for you, fr0thy!

        Don't forget, when you're buying corporate jets in job lots and peeling off billion-dollar fines to the EU, that we knew you when.... ;)
    • Correction.

      The CLR is one implementation of the CLI. The CLI, in simple terms, is a virtual machine as defined in ISO/IEC 23271:2006.

      The CLI executes programs that are written in Common Intermediate Language (CIL), which the the byte code (or "machine language" of the VM).

      .Net languages such a C# (also an ISO standard, BTW), are then implemented as compilers that target CIL.

      The CLR is Microsoft's main implementation of the CLI (and its true, its Windows only). But it has several others:

      - The Compact Framwork, for Windows Mobile and similar

      - Shared Source CLI, is a reference implemention with shared source (NOT open source).

      - Silverlight 2.0. Yes, Silverlight 2.0 is all about gettting the CLI into the browser.

      (Crickey, Silverlight 2.0 is a Microsoft initiative to get a ISO standard working in a cross-platform, cross-browser environment. Surely not!?)

      And there is at least one important none-Microsoft implementation - Mono. Mono are not copying Microsoft's .Net, they are making an open source implementation of ISO/IEC 23271:2006 (and a standards compliant C# compiler)

      The important question: Is code portable between CLI implementations. The answer to this is "Yes" and "No"

      "Yes", because all the implementation understand the same bytecodes, and provide the same services.

      "No", because in practice you need more than just bytecodes, you need class libraries. The ISO standard does define some of these (for example, the Base Class Library or BCL). If you use classes from the BCL, your code will only run on an implementation that provides that. For example, if you write an app and compile it the Mono compiler, chances are good it will just run on the CLR.

      As the CLR has the biggest set of class libraries, there are apps that can only be run on it. This is the source of a lot of contention that .Net is Windows only. And there is an element of truth to it, because there a lot of very intersting class libraries (WPF, WCF for example), and NOT covered by an ISO standard.

      Anyway, back to Singularity. Well, this doesnt need Windows to run, so I assume it implements its own CLI. I'm going to have a more details look tonight.
      • I think you're right ...

        After I wrote this I stepped back and took a better look at some more information. It appears that Singularity is just a micro-kernel with a CLR virtual machine running applications, but not needing Windows itself to run.

        So basically it appears that Singularity is Microsoft's attempt to implement a new kernel replacement using CLR virtual machine containers within the .NET framework. This would make the OS more module and integrate more closely with the available suite of Microsoft developer tools.

        So long story short it's a kernel replacement as the engine for their .NET framework instead of Windows. Now when I say kernel replacement it would be similar to running GNU libraries and the compiler on top of BSD or Solaris instead of Linux, which is already the case.

        So techincally it's not Windows, but it's a replacement for the Windows kernel and shifting to the .NET framework as the platform, which now only runs on Windows operating systems..

        So what would you call this? I would say if it looks like a duck, walks like a duck, and sounds like a duck what do you think the answer should be? :)
        • GOOSE!

          So for the non-programmers, this is a way for Microsoft to alter the kernel (heart) of Windows so that it can evolve into something better than Windows, but still allow Microsoft to maintain its near monopoly standing in the OS industry. Is this even close to what I am hearing from this group?

          On one hand, I can agree with such a sentiment. M$ has not always been the kindest player in technology circles.

          On the other hand, I give them credit if they are actually improving their product and making it either more stable or increasing efficiencies in any way in which the end-user can benefit.

          If the code is more efficient, and therefore less resources are needed to arrive at the result desired by the end-user, then that's a good thing. I want better performance at a lower cost or with less effort. Whomever gives me that wins my business - period.

          In a battle, it is pointless to aim for the enemy's bullets. Rather, study the enemy and acknowledge what they do well. Then do it better, and eliminate the enemy.
          • Thanks

            I have for some time been making an argument similar to yours: "... study the enemy and acknowledge what they do well. Then do it better ..."

            Criticism is ineffective. When accurate and important, as with past criticisms of Microsoft security, the company makes a(nother) fortune on upgrades fixing the problem.

            I hope you succeed in convincing people. Then they might, among other improvements, recognize that open source insulates Microsoft against real competition from a company with resources and profits to be gained. One thing Microsoft does well is make money. Defeating the company will require doing better at that.
            Anton Philidor
        • Fowl play.

          [i]I would say if it looks like a duck, walks like a duck, and sounds like a duck[/i]

          It comes from Microsoft Research, its shipped under an academic research licence, its called an "RDK", and they say it purpose in life is to support OS research. Its a research tool.

          Its not a replacement for anything. Its not a product, its not for commercial use, its not a CTP of some future version of Windows.

          Really, who's the one not calling it what it really is?
          • Cooked Goose...........

            Microsoft's goose is cooked... by
            their own flagrant arson.

            One has but to glance at their record
            to see that whatever this new ploy
            is, it is without a doubt another one
            of their sinister schemes to maintain
            their monopoly of the software

            Call it anything you like. It changes
            nothing but what you call it.
            Ole Man