What kind of virtual machine should I use? (2)

Source: Internet
Author: User

Last time, we started with hardware. It has gone through a process from pure simulation, to semi-virtualization, to full virtualization, and finally to semi-virtualization. However, they are all inserted in the same place:

Now, let's move our eyes forward from the applicationProgramThere is another layer between hardware, that is, the operating system. The second type of virtual machine IS OS-level virtualization Virtualization (OS-level virtualization) and application virtualization Virtualization (Application virtualization ).

Speaking of hardware, we are not very familiar with application developers. In fact, hardware also provides something similar to an API. virtual machines of the hardware genre can achieve virtualization by simulating common hardware APIs. Similarly, there is an API layer between the operating system and the application. So why cannot we virtualize this API? Let the application call our API and then call the API of the real operating system. For example, if it accesses c: \ temp, I will redirect the path to c: \ virtualized \ temp.

In this regard, the number of chroot has the longest history. Chroot is to simulate a new root in a folder such as/home/wtao/root. The Program executed after the chroot program, which accesses the root program, is actually/home/wtao/root is no longer the real root. Since the posix api of UNIX is based on the file path, and everything is file-based (for example,/proc is the directory where all processes are located ). A virtual root directory is equivalent to a virtual operating system API. Therefore, in this sense, chroot starts a virtual machine. Based on the chroot principle, there are BSD jail and Solaris zones.

The OS-level Virtual Machine in Windows has only one truly usable implementation, that is, javasozzo. I am not very clear about its principles. Every virtual machine has a local smss.exe. Windows session manager is the first user-state process to be started. Each virtual machine also has its own driver. There is also a special file system on the host (the file is not visible if it is not started ). Therefore, I guess that virtuozzo is not a pure OS-level virtualization. It should be the product of a mix of hardware and software streams.

Major manufacturers are mainly engaged in hardware streaming, such as VMware and Microsoft. LinuxCommunityBecause the kernel is open, operating system virtualization is mature. Some small factories cannot directly join such high-level competition. The most easy to enter is the application Virtualization (Application virtualization) field, which has the lowest threshold compared with the first two. I personally understand that application virtualization is not the full version of operating system virtualization. Many Windows applications only Virtualize file systems and registries. It is relatively easy to implement. You only need to apply the API hooking technology I mentioned earlier to modify several APIs exported by NTDLL.

I have to admit that, in terms of operating system implementation, I have not studied it in depth and may be wrong. However, I am very confident about how application virtualization is implemented. Today's software genre is here. Tomorrow, we will give these Implementation Solutions a subjective evaluation (without data support) from the perspectives of speed, manageability, and security, and recommend some products and their applicability.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.