Yes, to @chyrs, basically. Paravirtualisation is where you run a special o/s or driver or app code which contains well-known secret handshake codes which are a hint for the VM to tell it to do something. It’s a very very high performance way of cheating, by giving hints to the VM that you wish for some operation to be done but you don’t have to emulate the hardware needed to carry it out, and I say cheating because full emulation including all the hardware is not necessarilly being done by the VM at all. It’s like the equivalent of adding a new instruction to the CPU’s instruction set, not to imply that that is literally the method used, but can be implemented by any distinctive hint sequence that the VM can recognise and which will not happen accidentally in existing code. If you provide paravirtualisation-aware drivers then several different similar operating systems could be used.