> Any good recommended lecture to learn about good virtualization?

i think this is an interesting approach.  note that some code runs faster
under the vx32 than natively, though the title seems to hint that there
are varying definitions of virtualization.
http://swtch.com/~rsc/papers/vx32-usenix2008.pdf

> I imagine that the biggest issue is to avoid a racing condition
> between the two(or 'n') running kernels.

two different kernels can't race as they share no resources.
in the hypervisor, races can be taken care of with the same techniques
that work on any other multithreaded program.

so, if performance is not an issue, a single threaded hypervisor could
schedule any number of guests.  then there are no locking problems at all.

> Then... Would it be very hard to build an fs that allows to share real
> hardware with another kernel running alongside plan 9? I imagine that
> the so called hypervisors are kind of a "(exo-)scheduler"

this is already possible.  any number of plan 9 cpu servers may share
a single fileserver.  no virtualization needed.

> You don't need this sort of code in a virtualizable processor.
> See for example
>   http://en.wikipedia.org/wiki/Popek_and_Goldberg_virtualization_requirements

i'm not convinced that the illusion that the virtualized environment
is in every way equivalent to the bare iron is always useful or worth
the effort.  why should a virtualized operating system need to worry
about what nic the machine has?

for example vmware doesn't provide this sort of virtualized environment.
it provides the same virtual network card interface regardless of
what hardware the machine has.

- erik


Reply via email to