I think there will be more projects like this. Apps running in a sandbox, thinking they have the OS to themselves. The next logical step is to have all new apps written in managed code, and use virtualization for the "legacy" native code. Come to think of it, isn't it supposed to be the purpose of an operating system: letting programs think they own the hardware? Now they can pretend to own the OS too :) I think we'l…
Presumably that would mean that operating systems (at least for guests) could become a lot simpler as in most cases the guest is there for one specialized purpose and doesn't need most of the features usually found in an OS.
Introducing Qubes OS
11–20 of 23 posts
Re: Introducing Qubes OS
#12I think there will be more projects like this. Apps running in a sandbox, thinking they have the OS to themselves. The next logical step is to have all new apps written in managed code, and use virtualization for the "legacy" native code. Come to think of it, isn't it supposed to be the purpose of an operating system: letting programs think they own the hardware? Now they can pretend to own the OS too :) I think we'l…
Maybe I need to see something like the Xen presentation at Fosdem again.
Edit: http://www.ok-labs.com/blog/entry/microkernels-vs-hypervisor... is quite ok.
Re: Introducing Qubes OS
#13Re: Introducing Qubes OS
#14I think there will be more projects like this. Apps running in a sandbox, thinking they have the OS to themselves. The next logical step is to have all new apps written in managed code, and use virtualization for the "legacy" native code. Come to think of it, isn't it supposed to be the purpose of an operating system: letting programs think they own the hardware? Now they can pretend to own the OS too :) I think we'l…
Could someone point me at a clear explanation of the difference between a micro-kernel and an hypervisor? Maybe I need to see something like the Xen presentation at Fosdem again. Edit: http://www.ok-labs.com/blog/entry/microkernels-vs-hypervisor... is quite ok.
A hypervisor runs multiple Operating Systems, having each one think that it has access to the whole of the hardware.
A microkernel is one way of writing the kernel of the Operating System, so that each part of it is a separate process, routing messages to each other in a safe manner to get things done, rather than doing direct calls to each others code.
With a hypervisor you wouldn't expect each of the OSes to have any communication with each other at all, whereas with a microkernel you'd expect the different processes to talk to each other a lot.
You can, apparently, repurpose a microkernel as a hypervisor, but I don't know anything about that at all. Presumably the infrastructure is quite similar.
Re: Introducing Qubes OS
#15"All problems in computer science can be solved by another level of indirection"
Re: Introducing Qubes OS
#16Earlier quoted context omitted.
Could someone point me at a clear explanation of the difference between a micro-kernel and an hypervisor? Maybe I need to see something like the Xen presentation at Fosdem again. Edit: http://www.ok-labs.com/blog/entry/microkernels-vs-hypervisor... is quite ok.
I'm not an expert, but I'll give it a try. A hypervisor runs multiple Operating Systems, having each one think that it has access to the whole of the hardware. A microkernel is one way of writing the kernel of the Operating System, so that each part of it is a separate process, routing messages to each other in a safe manner to get things done, rather than doing direct calls to each others code. With a hypervisor you…
Re: Introducing Qubes OS
#17I think there will be more projects like this. Apps running in a sandbox, thinking they have the OS to themselves. The next logical step is to have all new apps written in managed code, and use virtualization for the "legacy" native code. Come to think of it, isn't it supposed to be the purpose of an operating system: letting programs think they own the hardware? Now they can pretend to own the OS too :) I think we'l…
Could someone point me at a clear explanation of the difference between a micro-kernel and an hypervisor? Maybe I need to see something like the Xen presentation at Fosdem again. Edit: http://www.ok-labs.com/blog/entry/microkernels-vs-hypervisor... is quite ok.
http://x86vmm.blogspot.com/2005/11/xen-and-redhat.html
Both present "virtual machines" to client code. For that matter, so does UNIX, although the UNIX virtual machine has some very complex virtual instructions, like fork(2), exec(2), dup(2), etc. You can crudely map most software platforms on a continuum of abstraction, with something like Python's implicit virtual machine (which is dynamically typed and bound late) at one extreme, and a bare-metal VMM whose interface is identical to that of the underlying hardware at the other.
Both paravirtual hypervisors and microkernels extend the underlying hardware, and they do so at a lower level of abstraction than what we call an OS. In practice, the hypervisors extensions feel more like hardware (they might include device models, virtual memory translation, and interrupt models), while the microkernel's would feel more like software (providing RPC mechanisms, security models, abstractions like "thread" and "process", etc.).
Even in practice the line is grey sometimes. L4 used to call itself a microkernel; now it calls itself a hypervisor.
Re: Introducing Qubes OS
#18Earlier quoted context omitted.
Could someone point me at a clear explanation of the difference between a micro-kernel and an hypervisor? Maybe I need to see something like the Xen presentation at Fosdem again. Edit: http://www.ok-labs.com/blog/entry/microkernels-vs-hypervisor... is quite ok.
I'm not an expert, but I'll give it a try. A hypervisor runs multiple Operating Systems, having each one think that it has access to the whole of the hardware. A microkernel is one way of writing the kernel of the Operating System, so that each part of it is a separate process, routing messages to each other in a safe manner to get things done, rather than doing direct calls to each others code. With a hypervisor you…
There is a lot of controversy about the distinction between VMMs and microkernels. A view from the microkernel side is given in http://www.ertos.nicta.com.au/publications/papers/Heiser_UL_...
Re: Introducing Qubes OS
#19The isolation of drivers in separate VMs and enforced isolation using VT-d is definitely interesting. A paper on the disaggregation of dom0 for improved security is http://www.xen.org/files/xensummit_fall07/22_DerekMurray.pdf
Re: Introducing Qubes OS
#20"All problems in computer science can be solved by another level of indirection"
Except the problem of too many levels of indirection.