Home > Windows > Managed OS Code Managed OS Code Submitted by Lazarus 2005-08-11 Windows 18 Comments Singularity is a research project at Microsoft to write an OS using managed code. Although it will probably never be seen out in the wild, it incorporates some interesting ideas nonetheless. Read about it here and here (ppt). About The Author 18 Comments 2005-08-11 5:10 pm Looks a bit like JNode. But some features of MSIL such as value types make it more suited to low level development. Could be interesting. But unfortunately only very few of the cool things they research at MS research make it into their products. It is almost like Xerox 🙂 2005-08-11 5:48 pm I would like to know more about the compiling the “MSIL direct to metal” as mentioned here. Very cool project… 2005-08-11 6:12 pm At Channel 9, you can find a video of an interview with the researchers of Singularity: http://channel9.msdn.com/ShowPost.aspx?PostID=69063 2005-08-11 6:14 pm I’m sorry, the right URL for that video is: http://channel9.msdn.com/ShowPost.aspx?PostID=68302 2005-08-11 7:23 pm Quad core 10GHz Pentium whatever, 16GB RAM, 500GB HD. Hardware vendors are gonna love it… :p 2005-08-12 1:58 am Celerate Actually interpreted languages usually have much smaller binaries, java for example can have fairly large programs that are smaller than a Mb. While the interpreter will take up about 50 mb of space, the resulting small binaries will quickly result in a lot of space saved. 2005-08-11 9:40 pm poundsmack this could be a very viable solution. i hope this sees the light of day. 2005-08-11 9:43 pm segedunum What the hell is the point of running an OS as a machine within a machine?!!! 2005-08-11 11:19 pm orestes Seems like Inferno did the whole managed code OS thing a long time ago. 2005-08-11 11:26 pm what is managed code? 2005-08-12 12:07 am Lazarus A pretty good summary is here: http://blogs.msdn.com/brada/archive/2004/01/09/48925.aspx 2005-08-12 12:31 am there’s a reason for managed code always being associated with JIT? why a program has to be recompiled every time i launch it? 2005-08-12 9:25 am > there’s a reason for managed code always being associated with JIT? portability, compatibility, security, efficiency (what?)… > why a program has to be recompiled every time i launch it? why not? oh wait… you are launching it several hundred times per second 2005-08-12 5:57 am I have to agree with Celerate here. The RAM and hard drive requirements for an interpreted OS should be significantly less than an equivalent compiled OS. Anonymous (IP: 64.119.120.—) might be right about needing a 10 Ghz cpu though. It all depends upon how the layers of abstraction are structured. 2005-08-12 8:51 am managed code is not interpreted code 2005-08-12 10:42 am If you write the OS, you could implement a cache for the final output of the JIT. Of course no application may access it. 2005-08-13 5:08 am When MSIL programs are run and JIT’d the resulting native code is cached, and on subsequest runs, the loading of the cached components gets optimized which ultimately results in higher performance. Having said that, I’ve been playing around with Microsoft’s Rotor code on FreeBSD, and the first run is *always* painful. It does get better. If for example, Windows were ever completely rewritten using managed code, Microsoft would be shipping it already JIT’d, and even if they didn’t, by the time they get around to doing such a rewrite, the processors of the day would be mighty damned fast indeed. What can I say? I’m a dreamer ;^) 2005-08-12 12:48 pm I guess it doesn’t yet iclude handling release shedules?