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?