首页 > 编程知识 正文

轻量级虚拟化技术,为什么要使用虚拟化技术

时间:2023-05-05 02:14:21 阅读:136886 作者:2047

读过本文的大多数朋友应该都想先使用虚拟化软件,然后再了解虚拟化技术。 windows上常见的虚拟化技术包括VmWare、VirtualBox等。 本文介绍了这些技术的基本实现原理,并推广了虚拟化相关术语的描述。

目录

虚拟化技术综述虚拟化分类虚拟化裸机虚拟化cpu虚拟化内存虚拟化内存带来的原因虚拟内存虚拟化硬盘虚拟化网络虚拟化

虚拟化技术概述

首先,什么是计算机? 目前使用的计算机离不开冯诺伊曼体系结构。 如图1所示,它包括输入设备、输出设备、存储器和cpu。 即使这是一个完整的计算机硬件环境,也需要网卡、显卡等。 虚拟化技术是指在一台机器上模拟独立的cpu、存储器等,从而使同一台主机能够虚拟化为多台主机,或者使多台主机能够虚拟化为一台主机。 本文仅介绍允许第一台主机虚拟化多台主机的环境。

图1冯诺伊曼体系结构

现实生活中有各种各样的虚拟化技术,不同的虚拟化技术面临的应用场景也不同。 你可能在大学里用VmVare或VirtualBox学习过linux或操作系统。 目的是在电脑上安装不同的操作系统。 你可能是承运人,你使用过AlibabaCloud (阿里巴巴云)或信息云。 这样的话,作为租户,你实际上正在使用AlibabaCloud (阿里巴巴云)提供的虚拟机。 蚂蚁从大量的服务器集群中,分一定的cpu、内存等资源给你,成为完整的虚拟机。

通过虚拟化软件使用方式重新定义IT资源,可以动态分配IT资源、灵活安排IT资源并跨域共享,提高IT资源利用率,使IT资源真正成为社会基础架构,各行各业都灵活吗

在gxdwn的《云计算》本书中,将虚拟化分为两类。 一种是在主计算机上构建的。 也就是说,主机计算机有操作系统,而另一种类型的主机计算机没有操作系统。 前者称为寄居虚拟化,后者称为裸机虚拟化。

如图2所示,在寄居虚拟化寄居虚拟化中,最下层为物理硬件,物理硬件之上为主机操作系统,操作系统之上为VMM(virtualmachinemonitor,虚拟机管理层),此外

图2临时虚拟化

在该技术中,虚拟机对各种物理设备(cpu、内存、硬盘等)的调用均通过VMM层和宿主机操作系统协同进行。 VMvare和VirtualBox是基于这种方式实现的。

裸机虚拟化裸机虚拟化是指在硬件设备和物理硬件之间直接安装VMM,如图3所示。 在此模式中,VMM也称为虚拟机管理程序,当虚拟机发出命令时,虚拟机管理程序会继承该命令并模拟相应的操作。

图3裸机虚拟化

虚拟机管理程序是虚拟环境中的“元”操作系统。 他们可以访问服务器上的所有物理设备,包括磁盘和内存。 除了协调对这些硬件资源的访问外,虚拟机管理程序还提供了虚拟机之间的保护。 服务器启动并运行虚拟机管理程序时,将加载所有虚拟机客户端操作系统,并为每个虚拟机分配相应的内存、CPU、网络和磁盘。

要进行虚拟化,必须给虚拟机一个伪独立的环境,使其误认为自己在独立的环境中。 因此,必须模拟cpu、内存、硬盘和网络等资源,以模拟完整、独立的硬件环境。

cpu虚拟化cpu虚拟化是指将物理cpu虚拟化为多个虚拟cpu,从而实现多个虚拟机可以共享单个cpu但彼此隔离的情况。 cpu的运行是以小时为单位的,cpu虚拟化需要解决的问题主要是隔离和调度问题。 隔离是指允许命令在不同的虚拟机之间相互独立执行,调度是指VMM确定cpu当前正在哪个虚拟机上运行。

由于采用x86架构设计的cpu在虚拟化方面存在缺陷,因此有两种方法可以实现cpu虚拟化。 一是采用完全虚拟化方式,利用动态指令转换或硬件辅助支持cpu虚拟化; 第二,采用半虚拟化方法,通过对客户操作系统内核进行一定的更改,使操作系统自身了解自己是虚拟机的角色,并在VMM的管理下尽可能地访问硬件。

想要了解更多关于cpu虚拟化的学生,请访问以下博客:

cpu全虚拟化技术cpu半虚拟化技术内存虚拟化内存提倡的原因首先,内存存在的原因是cpu的运行速度非常快,超过了磁盘的读取速度。 如果cpu直接读取硬盘,大部分时间cpu都会等待。 另一方面,由于程序访问具有局部原理," 80%的访问访问访问20%的数据",因此为了使cpu处理数据的速度与存储器读取装置的速度一致,使用读取速度快的存储装置频繁读取的数据最大化系统性能。

虚拟内存虚拟内存是计算机操作系统经常谈到的内容,为什么需要虚拟内存呢? 为了理解我想说的话,我建议你花几分钟阅读下面的博客。

内存的发展

在本文中,假设我们设定的虚拟存储器为4G,虚拟存储器是指通过对系统内的各进程分配4G的虚拟地址,使各进程独立使用存储器,感觉具有优异的分离性,各进程为0的虚拟地址但是,由于程序必须在实际内存中运行才能运行,因此建立了物理实现虚拟地址的映射机制

址之间的映射。
通过虚拟内存的方式实现了进程之间的地址隔离。

内存的虚拟化

内存的虚拟化指的是把物理内存包装成若干虚拟内存来使用,把物理内存抽象出来,给每一台虚拟机都分配一个连续的内存空间。其具体的实现,可以参照下面的博文。
内存虚拟化的实现

硬盘虚拟化

硬盘虚拟化相对简单一些,拿VMvare来举例,在VMvare当中,会使用物理硬盘上的一个文件来当做虚拟机当中的一个硬盘,如图4所示,虚拟机通过调用相关进程(如VMvare进程)访问相关的宿主机的文件系统,再通过文件系统调用windows内核,再调用驱动,然后在磁盘上进行读写。

图4 虚拟硬盘读写流程

网络虚拟化

网络虚拟化是让一个物理网络能够支持多个逻辑网络,虚拟化保留了网络设计中原有的层次结构、数据通道和所能提供的服务,使得最终用户的体验和独享物理网络一样,同时网络虚拟化技术还可以高效的利用网络资源如空间、能源、设备容量等。
网络虚拟化的目的,是要节省物理主机的网卡设备资源。从资源这个角度去理解,可能会比较好理解一点。
详情请参见这篇文章:网络虚拟化

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。