Linked by Thom Holwerda on Wed 9th Nov 2005 18:21 UTC, submitted by Peter Harmsen
Benchmarks "Ok, that headline may be a bit overblown - but Microsoft Research has released part of a report on the Singularity kernel they've been working on as part of their planned shift to network computing. The report includes some performance comparisons that show Singularity beating everything else on a 1.8Ghz AMD Athlon-based machine. What's noteworthy about it is that Microsoft compared Singularity to FreeBSD and Linux as well as Windows/XP - and almost every result shows Windows losing to the two Unix variants."
Thread beginning with comment 58676
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[2]: Trivial discussion
by rayiner on Thu 10th Nov 2005 01:22 UTC in reply to "RE: Trivial discussion"
rayiner
Member since:
2005-07-06

And how exactly do you enforce that?

The OS is the thing that loads the programs, and the OS can easily prevent the execution of any code it doesn't trust. Programs writteen in unsafe languages can either by compiled with a trusted compiler (Cyclone is mentioned for C --- the LLVM folks are doing work in this area as well), or run in a virtual machine.

Right now, Singularity owes it performance to promises to play nice, not any REAL security.

It's just as "REAL" as the protections that keep users from deleting each other files. The OS is the ultimate arbiter of what gets executed, just as the OS is the ultimate arbiter of what gets written to disk. It doesn't have to trust any promises --- it can choose to execute only what it can verify.

The only way this would work is if all programs had to be digitally signed by MS so that the hardware DRM on the mobo would allow it to run...

That is one way to do it, yes, but there are many others. Programs could be digitally signed by any party, and the user could choose to allow them to run if they trusted that said party compiled the program with a verifying compiler. A more likely scenario is that programs, instead of being distributed as typeless machine code, are distributed in some sort of intermediate form that is compiled to machine code, by a trusted compiler, at install time. For open source programs, this could just be source code, and for closed source programs, it could be some low-level typed bytecode. Either way there are again no promises involved, because the OS can verify that the program cannot corrupt memory.

Reply Parent Bookmark Score: 1

RE[3]: Trivial discussion
by JLF65 on Thu 10th Nov 2005 04:34 in reply to "RE[2]: Trivial discussion"
JLF65 Member since:
2005-07-06

A more likely scenario is that programs, instead of being distributed as typeless machine code, are distributed in some sort of intermediate form that is compiled to machine code, by a trusted compiler, at install time. For open source programs, this could just be source code, and for closed source programs, it could be some low-level typed bytecode.

That would work, but I don't see proprietary closed-source companies going for that. More likely, they'd pay a trusted service to sign their programs. As long as there were more than just one source for signed programs, that would be okay.

Reply Parent Bookmark Score: 1