Types of Virtual Machines
In this article, we will study about virtual machines, types of virtual machines, and virtual machine languages. Virtual Machine is like fake computer system operating on your hardware. It partially uses the hardware of your system (like CPU, RAM, disk space, etc.) but its space is completely separated from your main system. Two virtual machines don’t interrupt in each other’s working and functioning nor they can access each other’s space which gives an illusion that we are using totally different hardware system. More detail at Virtual Machine.
Question : Is there any limit to no. of virtual machines one can install?
Answer – In general there is no limit because it depends on the hardware of your system. As the VM is using hardware of your system, if it goes out of it’s capacity then it will limit you not to install further virtual machines.
Question : Can one access the files of one VM from another?
Answer – In general No, but as an advanced hardware feature, we can allow the file-sharing for different virtual machines.
Types of Virtual Machines : You can classify virtual machines into two types:
1. System Virtual Machine: These types of virtual machines gives us complete system platform and gives the execution of the complete virtual operating system. Just like virtual box, system virtual machine is providing an environment for an OS to be installed completely. We can see in below image that our hardware of Real Machine is being distributed between two simulated operating systems by Virtual machine monitor. And then some programs, processes are going on in that distributed hardware of simulated machines separately.
2. Process Virtual Machine : While process virtual machines, unlike system virtual machine, does not provide us with the facility to install the virtual operating system completely. Rather it creates virtual environment of that OS while using some app or program and this environment will be destroyed as soon as we exit from that app. Like in below image, there are some apps running on main OS as well some virtual machines are created to run other apps. This shows that as those programs required different OS, process virtual machine provided them with that for the time being those programs are running. Example – Wine software in Linux helps to run Windows applications.
Virtual Machine Language : It’s type of language which can be understood by different operating systems. It is platform-independent. Just like to run any programming language (C, python, or java) we need specific compiler that actually converts that code into system understandable code (also known as byte code). The same virtual machine language works. If we want to use code that can be executed on different types of operating systems like (Windows, Linux, etc) then virtual machine language will be helpful.