So, skimming headlines, Singularity OS sounds like M$ decided to release an
open source OS. NOT TRUE.
- It is not planned for application ie, you’ll never use it on your desktop
- It’s released under MS Shared Source, ie, you’ll never see it on any device outside a CS lab
- It’s not really that revolutionary/cool
Basically, the bright idea is to use managed code (C#), use a microkernel structure, and run almost all code in safemode. My concerns is that this all creates a non-scalable, slow as molases system.
I haven’t seen any speed comparisons between C++/C#, but heres the numbers from Gentoo’s Language Shootout:
|binary-trees||CPU Time secs||Memory Use KB||GZip Bytes|
|mandelbrot||CPU Time secs||Memory Use KB||GZip Bytes|
|reverse-complement||CPU Time secs||Memory Use KB||GZip Bytes|
All the others were in C++ favor. A caviot, Mono C# is not the same as M$C#, but its probably comparable. This all makes sense. It costs cycles to manage code, and usually requires extra layers of indirection. Real programmers use C# to code video games, but that’s precisesly why Gaming systems require harcore CPU’s.
Not I’m no kernel hacker, but I’m fiarly sure the whole idea of a microkernel is that it creates adressing and thread transparnecy, and all the ususal services become user mode processes. The white paper says this is the only part not running is safemode, probably because that would be hella-slow even in proof of concept sense of the word. There’s probably something about malware getting less access to stack info, but now I’m overstepping my knowledge.
So in metaphor, if you want national stability, you can either have free people and an adaptive legal system with adequate representation and plurality, or a police state that squashes any irregularity before it starts. The problem with the former is that they have annoying hiccups and are a bit fickle with political fashion. The problem with the latter is that their errors tend to be system wide and irrevocable, and they tend to grind to a halt on their own friction. If even the IO processes have to run managed code in safe mode, which do you think I’m comparing to Singularity OS?