[cap-talk] Can We Make Operating Systems Reliable and Secure?

David Hopwood david.nospam.hopwood at blueyonder.co.uk
Mon May 8 23:24:55 EDT 2006


I wrote:
> There is a video where the main designers of Singularity basically say that they
> don't expect to produce a successful consumer OS; that it's all just blue sky
> research, from which various ideas may or may not be folded into Windows. I'll
> try to find the URL for it.

<http://channel9.msdn.com/ShowPost.aspx?PostID=68302>

Jim Larus (~ 9 min 50 sec):

"So, we have no illusions that we're building an operating system that Microsoft
 is ever going to ship as a product. That's not our goal. I mean, particularly
 we started with the idea of forgetting about compatibility with /any/ existing
 system, which means that almost nothing runs on this, because the interface is
 very different.
"You know, it has the disadvantage that it looks like DOS, and it's gonna look
 like DOS for a long time, and we're not going to have any really fancy applications
 that can show it off, so you don't want to put it on the screen. But it also has
 the advantage that we can really experiment with the structure of the system, and
 what an application actually looks like on the system, without worrying about,
 well, 'We can't do that because we wouldn't be able to have the Win32 or a similar
 interface if we did that.'
"We have been very much trying to make the code on the system much more self-
 contained and static. So Dylan mentioned that we don't allow dynamic code loading,
 so that when a process starts up, that's all the code that's ever going to be in
 that process' object space. That has a lot of advantages [...] But it also means
 that the programming model that everybody's familiar with, which is DLL or dynamic
 code loading, doesn't work on this system.
"So, you know, if you don't worry about compatibility, you can think up new
 solutions to that, which is really what we've been doing, saying 'If you want to
 do an extension to the system, if you want to do an extension to the application,
 start up one of these library processes and communicate with it over a channel.'
"The interesting thing is, we're actually using exactly the same model for the
 system, and for the applications, so device drivers run in these Software Isolated
 Processes, communicate over channels to the rest of the system. If you write
 an application on Singularity, you use exactly the same mechanism. That's one of
 the things we're able to do because we don't have to worry about backward
 compatibility with device drivers, or backward compatibility with application
 codes or APIs or anything like that.
"But you know, if you were actually going to build a product, these would be the
 wrong decisions."

Interviewer:
"Absolutely. [...]"

-- 
David Hopwood <david.nospam.hopwood at blueyonder.co.uk>




More information about the cap-talk mailing list