In my Computer Systems (first year) module as part of my EE degree I'm studying virtual machines, memory management, hardware abstraction etc. I have come across the information that the OS creates and uses a few virtual machines to provide hardware and I/O abstraction.
I assume that there are multiple VMs doing different tasks, but how are they organised?
Are they one VM per task, e.g. one for disk I/O and the filesystem, one for human interface devices, etc; or are they all general purpose and are one VM per process?
Many thanks, Ben Adamson