today's Many cutting-edge technologies, such as cloud computing, edge computing and microservices, originated from the concept of virtual machines - decoupling operating systems and software instances from the underlying physical computers. What is a virtual machine?
Virtual machine refers to a software-simulated virtual machine with complete hardware system functions that runs on a A complete computer system in a completely isolated environment. In a virtual machine, one or more guests can run on a single host. The origins of virtual machines can be traced back to the early 1960s. Each virtual machine has its own operating system, independent of other virtual machines, even if they are on the same physical host. Virtual machines typically run on servers, but can also run on desktop systems and even embedded platforms. Multiple virtual machines can share the resources of a physical host, including CPU cycles, network bandwidth, and memory. Virtual machines have made great progress in the past 20 years, and enterprises can use them more effectively through server virtualization. The computing power of physical servers, reducing the number of physical servers and saving data center space. ##How does a virtual machine work?
## Generally speaking, there are two types of virtual machines: program virtual machines (will individual programs) and system virtual machines (completely separating the operating system and applications from the physical computer). Examples of program virtual machines include the Java Virtual Machine, .NET Framework, and Parrot Virtual Machine. The system virtual machine relies on the hypervisor as a middleman to provide software with access to hardware resources. The hypervisor simulates the computer's CPU, memory, hard disk, network and other hardware resources, creating a resource pool that can allocate resources to individual virtual machines based on their specific needs. Hypervisor can support multiple isolated virtual hardware platforms, enabling virtual machines to run Linux and Windows Server operating systems on the same physical host. In addition, search the official account of the Programming Technology Circle and reply "gift package" in the background to get a surprise gift package. Well-known companies in this field include VMware (ESX/ESXi), Intel/Linux Foundation (Xen), Oracle (for SPARC MV Server and Oracle VM Server for x86) and Microsoft (Hyper-V). Desktop computer systems can also use virtual machines. For example, Mac users run virtual Windows systems on their Macs. ##What are the two management programs? Type?
The hypervisor is responsible for managing resources and allocating resources to virtual machines. It can also schedule and adjust how resources are allocated based on how the hypervisor and virtual machines are configured, and can reallocate resources as demand fluctuates. Most hypervisors can be divided into the following two categories: Type1: Bare metal hypervisor runs directly on the physical host and has direct access to the hardware. This type of hypervisor typically runs on servers and is generally more efficient and performs better than Type 2 hypervisors, making it ideal for server, desktop, and application virtualization. Such hypervisors include Microsoft Hyper-V and VMware ESXi.
##Type2:Sometimes called a managed hypervisor, this type of hypervisor is installed on the host operating system and is responsible for managing the The call of hardware resources, usually deployed on the end user system. Such hypervisors include VMware Workstation and Oracle VirtualBox.
#What are the advantages of virtual machines?
Since the software is separated from the physical host, users can run multiple operations on a single hardware system, thereby saving businesses time, management costs and physical space. Virtual machines can also support legacy applications, reducing or eliminating the need and cost of migrating legacy applications to newer or different operating systems. Additionally, developers can use virtual machines to test applications in a secure sandbox environment. Developers who want to know whether their applications will run on a new operating system can use virtual machines to test their software without having to purchase new hardware and operating systems upfront. This also helps isolate malware, since the software inside the virtual machine cannot tamper with the host machine and the malware cannot spread. ##What are the disadvantages of virtual machines?
Virtual machines also have some shortcomings. Running multiple virtual machines on a single physical host can result in erratic performance, especially if the infrastructure requirements for a specific application are not met. This also makes them less efficient than physical computers in many situations. Additionally, if the physical server crashes, all applications running on it will crash. ##What other forms are there? virtualization?
The success of virtual machines in server virtualization has led to the application of virtualization to many other fields , including storage, network and desktop. Explorations in network virtualization include NaaS (Network as a Service) and NFV (Network Function Virtualization), through commercial servers Replace dedicated network equipment to enable more flexible and scalable services. This is slightly different from SDN (Software Defined Network), which separates the network control plane from the forwarding plane to achieve more automated network resource allocation and policy-based network resource management. VNFs (Virtual Network Functions) are software-based services that can run in an NFV environment, including routing, firewalling, load balancing, WAN acceleration, encryption, and more. ##Virtual machines and containers
The growth of virtual machines has promoted the further development of technologies such as containers, taking this concept one step further. Containers can virtualize a single application and its dependencies. Containers have much less overhead than virtual machines and contain only binaries, libraries, and applications. 牛逼啊!接私活必备的 N 个开源项目!赶快收藏
Copy after login
While some people believe that the development of containers may kill virtual machines, virtual machines have enough capabilities and advantages to push the technology forward. For example, virtual machines still play a big role when it comes to running multiple applications simultaneously or running traditional applications on older operating systems. In addition, some people think that containers are not as secure as hypervisors because containers only have an operating system shared by applications, while virtual machines The machine can isolate applications and operating systems. Gary Chen, research manager of IDC’s software-defined computing department, wrote in IDC’s “Global Virtual Machine Software Forecast 2019-2022” Dao: "The virtual machine software market is very resilient and will continue to grow aggressively over the next five years, although the market is very mature and close to saturation." ##Virtual Machines, 5G and Edge Computing
Virtual machines are considered part of new technologies such as 5G and edge computing. For example, virtual desktop infrastructure (VDI) vendors such as Microsoft, VMware and Citrix are looking for ways to extend their VDI systems to work from home as a complement to a post-pandemic hybrid approach to working. "With VDI, you need extremely low latency because You’re basically sending your keyboard strokes and mouse movements to a remote desktop.” In 2009, Satyanarayanan wrote an article on how to leverage virtual machine-based clouds to provide better processing power to mobile devices at the edge of the Internet. , which promotes the development of edge computing. In the 5G wireless world, the network slicing process uses SDN and NFV technologies to help install network functions into virtual machines on virtual servers to provide services that once could only run on proprietary hardware. Like many other technologies in use today, without the concept of the original virtual machine introduced decades ago, these emerging innovation will not develop.
The above is the detailed content of Master virtual machines in one article. For more information, please follow other related articles on the PHP Chinese website!