Does the host OS impose limitations on the guest OS for a Type 2 virtual host (i.e. VirtualBox)?
For example: In Ruby, creating a child process is as easy as making a call to fork. However, forking on windows is not supported and instead an entire process must be spawned for multithreaded.
As I understand, this is a limitation of the operating system and not the programming language. Will having Windows as the host OS force these restrictions on a linux guest OS?
How are commands given to the guest OS passed to the host OS?
Short answer: No
Longer answer:
A type-2 hypervisor such as VirtualBox emulates the entire hardware platform that the guest (such as Linux) runs on. As such, the guest OS does not actually call any host OS system calls, which allows the guest to bypass any limitations of the host OS (such as the
fork
ing limitation on Windows).