I'm just reading about Qubes OS, and I have a very simple question -- how does it do memory management and shared object use?

Feel free to correct any misconceptions or errs in vocab, but we have the ability to pull in a shared object into two running executables (dlopen(3)). The shared object exists only in memory once. Programs that use that shared object are dynamically linked to the same copy of the in-memory library (-fPIC).

Qubes bills itself as security through isolation. At the same time the Qubes FAQ which doesn't addresses this makes mention of "smart use of Xen shared memory."

So how does Qubes handle shared in-memory resources?


You are misunderstanding what is meant by shared memory in this context. Xen shared memory refers to sharing a range of memory between different virtual machines, which is used by Qubes for passing information between VMs.
Memory resources used by a VM exist separately in that, and are not shared with any other virtual machine. As such, every shared object will only be shared within a virtual machine, and using it within a second virtual machine will create a second copy.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.