什么是虚拟设备技术?
展开全部
什么叫虚拟设备?实现虚拟设备的主要条件是什么?叙述采用虚拟设备技术的优点并逐一解释之
在一台共享设备上模拟若干 *** 享设备的操作,把独占设备变成逻辑上的共享设备,这种技术叫做虚拟设备技术。实现这种技术的软件和硬件被称为SPOOLING系统,使用SPOOLING技术所提供的设备就称为虚拟设备 。实现虚拟设备的条件是硬件要有大容量的缓冲区,软件要有预输入程序和缓输出程序,井管理程序 。优点是:1)提高了输入/输出的速度,缓和了CPU和低速I/O设备间的速度不匹配 ;2)将独占设备变为可共享的设备,设备使用率提高了 。
什么叫虚拟设备,实现虚拟设备的主要条件是什么
虚拟设备的意思是不存在的设备。虚拟网卡和虚拟光驱是典型的虚拟设备的一种。
一、虚拟网卡。
虚拟网卡(又称虚拟网络适配器),即用软件模拟网络环境,模拟网络适配器,windows系统自带此软件。
进入添加硬件向导,添加新硬件,检测过后选择添加新设备,再选择从列表中选取,选中网卡下一步,查找制造商Microsoft有一个设备Microsoft Loopback Adapter,选中它,安装完成后,查看硬件管理器,会多出一个新网卡,这就是虚拟网卡。
虚拟网卡主要是建立远程计算机间的局域网。虚拟网卡链接技术就是VPN。比如说你可以和别的地方的几台机子,通过建立虚拟HUB 实现VPN client的链接,这样就算是在这几台远程计算机间建立的局域网,也能和你的机子一起实现局域网的功能。最普通的就是局域网互联游戏。在这方面比较常用的软件有openVPN ,packetix VPN ,hamachi, 其中,hamachi是运用最简单的VPN软件。
可以模拟集线器功能,实现VPN的功能,使得系统把此软件识别成一块网卡,有了这东西,只要可以访问外网,都可以连接到虚拟集线器(HUB)上与其它电脑组成局域网。在此虚拟的局域网上能进行所有物理存在的局域网的操作,可以互相访问,可以联网玩游戏。该软件能够突破防火墙拦截,信息都经过加密,安全上不存在问题。能够模拟成有 VPN 的网卡,可以直接从公司外部连接到内部的 VPN 服务器上,进而存取公司内的各项服务。不论是要找网管,还是要连 Lotus Note 抓数据,都可以如愿所偿。
二、虚拟光驱。
虚拟光驱是一种模拟(CD/DVD-ROM)工作的工具软件,可以生成和你电脑上所安装的光驱功能一模一样的光盘镜像,一般光驱能做的事虚拟光驱一样可以做到, 工作原理是先虚拟出一部或多部虚拟光驱后,将光盘上的应用软件,镜像存放在硬盘上,并生成一个虚拟光驱的镜像文件,然后就可以将此镜像文件放入虚拟光驱中来使用,所以当您日后要启动此应用程序时,只需要点下插入图标,即装入虚拟光驱中运行。
虚拟光驱是模拟光碟机的工具软件, 它的工作原理是先产生一部或多部(最多23 台)虚拟光碟, 将光碟片上的应用软件和资料, 压缩存放在硬盘上, 并产生一个虚拟光碟图示, 再告知WIN95/WIN98 可以将此压缩文档视作光碟机里的光碟来使用, 当我们启动此应用程序时, 不必将光碟片放光驱中(没有光驱亦可执行), 更不需等待光驱的缓慢启动, 只需在光碟图示上轻轻按一下, 虚拟光碟立即载入虚拟光驱中执行, 快速又方便。电脑启动后, 操作系统将从内存中一块特定区域内读取光驱的信息, 也将某块特定内存作为与光驱数据交换的缓冲区。虚拟光驱软件启动后, 将首先对实际光驱中的光盘进行扫描, 然后将光盘中的二进制数据进行复制, 压缩生成一个以VCD 为后缀名的光盘文件, 每个VCD 光盘文件通过光驱向内存特定区域写入必要的光驱信息, 使操作系统将此信息作为一个新光驱(即虚拟光驱)。虚拟光驱软件是模仿实际光驱向内存中写数据来仿真实光驱的。
虚拟设备是一种将什么改造成什么的I/O技术
虚拟设备技术一般是SPOOLing系统,在多道程序的环境下利用多道程序中的一道或者两道程序来模拟外部设备,从而在联机条件下实现脱机I/O的功能。这是一种将独占设备改造成共享设备的技术
什么叫虚拟设备
通过虚拟技术将一 *** 占设备虚拟成多台逻辑设备,供多个用户进程同时使用, 通常把这种经过虚拟的设备称为虚拟设备。虚拟存储的发展借鉴了计算机领域里很多成功的设计思想,从虚存、磁盘技术、RAID到IBM的大型机等的设计思想中都汲取了许多成功的经验。
虚拟设备,就如它们支持的虚拟机,是相对应它们网络硬件的一种软件应用。许多传统网络设备厂商都支持软件版本,但仅限于部署,为企业网络服务提供虚拟版本软件。网络监控工具,网络安全套件,网络访问控制甚至统一通信组件都融合到了VMware的虚拟设备目录中。开源软件首先做了改革,在过去的18个月里,IT领域许多重要成员比如思科和F5网络在他们自己的产品里都添加了这种支持。在过去几年里,几乎每个用存储架区作为网络设备的网络服务,现在都可以在虚拟数据中心被部署成另外一种工作方式。
何为设备虚拟?实现设备虚拟时所依赖的关键技术是什么
通过虚拟技术可将一 *** 占设备变换成若干台逻辑设备,供若干个用户(进程)同时使用,通常把这
种经过虚拟技术处理后的设备称为虚拟设备。其实现所依赖的关键技术是SPOOLING 技术。
虚拟设备技术是指用 ___的技术。 C.共享设备模拟独占设备 D.独占设备模拟共享设备 急急急!明天必考
答案是D
答案A和B你虽然没写出来,我知道是共享代替独占 独占代替共享。这两个明显不是。
伐共享模拟独占是错误的。因为虚拟设备的定义是“利用某种技术把独占设备改造成可由多个进程共享的设备”。所以,答案是D
虚拟化技术是什么意思
虚拟骇是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
虚拟化技术与多任务以及超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上;而超线程技术只是单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能分离的,只能协同工作。 虚拟化技术也与目前VMware Workstation等同样能达到虚拟效果的软件不同,是一个巨大的技术进步,具体表现在减少软件虚拟机相关开销和支持更广泛的操作系统方面。 纯软件虚拟化解决方案存在很多限制。“客户”操作系统很多情况下是通过VMM(Virtual Machine Monitor,虚拟机监视器)来与硬件进行通信,由VMM来决定其对系统上所有虚拟机的访问。(注意,大多数处理器和内存访问独立于VMM,只在发生特定事件时才会涉及VMM,如页面错误。)在纯软件虚拟化解决方案中,VMM在软件套件中的位置是传统意义上操作系统所处的位置,而 虚拟化技术将各种资源虚拟出多台主机
操作系统的位置是传统意义上应用程序所处的位置。这一额外的通信层需要进行二进制转换,以通过提供到物理资源(如处理器、内存、存储、显卡和网卡等)的接口,模拟硬件环境。这种转换必然会增加系统的复杂性。此外,客户操作系统的支持受到虚拟机环境的能力限制,这会阻碍特定技术的部署,如64位客户操作系统。在纯软件解决方案中,软件堆栈增加的复杂性意味着,这些环境难于管理,因而会加大确保系统可靠性和安全性的困难。 而CPU的虚拟化技术是一种硬件方案,支持虚拟技术的CPU带有特别优化过的指令集来控制虚拟过程,通过这些指令集,VMM会很容易提高性能,相比软件的虚拟实现方式会很大程度上提高性能。虚拟化技术可提供基于芯片的功能,借助兼容VMM软件能够改进纯软件解决方案。由于虚拟化硬件可提供全新的架构,支持操作系统直接在上面运行,从而无需进行二进制转换,减少了相关的性能开销,极大简化了VMM设计,进而使VMM能够按通用标准进行编写,性能更加强大。另外,在纯软件VMM中,目前缺少对64位客户操作系统的支持,而随着64位处理器的不断普及,这一严重缺点也日益突出。而CPU的虚拟化技术除支持广泛的传统操作系统之外,还支持 虚拟化技术
64位客户操作系统。 虚拟化技术是一套解决方案。完整的情况需要CPU、主板芯片组、BIOS和软件的支持,例如VMM软件或者某些操作系统本身。即使只是CPU支持虚拟化技术,在配合VMM的软件情况下,也会比完全不支持虚拟化技术的系统有更好的性能。 两大CPU巨头Intel和AMD都想方设法在虚拟化领域中占得先机,但是AMD的虚拟化技术在时间上要比Intel落后几个月。Intel自2005年末开始便在其处理器产品线中推广应用Intel Virtualization Technology(Intel VT)虚拟化技术。目前,Intel已经发布了具有Intel VT虚拟化技术的一系列处理器产品,包括桌面平台的Pentium 4 6X2系列、Pentium D 9X0系列和Pentium EE 9XX系列,还有......
虚拟设备是一种将什么改造成什么的I/O技术?
虚拟设备是一种将(独占设备)改造成(共享设备 )的I/O技术。它通常是采用( SPOOLING )技术来 实现的。
虚拟化技术的原理
虚拟机是对真实计算环境的抽象和模拟,VMM 需要为每个虚拟机分配一套数据结构来管理它们状态,包括虚拟处理器的全套寄存器,物理内存的使用情况,虚拟设备的状态等等。VMM 调度虚拟机时,将其部分状态恢复到主机系统中。并非所有的状态都需要恢复,例如主机 CR3 寄存器中存放的是 VMM 设置的页表物理地址,而不是 Guest OS 设置的值。主机处理器直接运行 Guest OS 的机器指令,由于 Guest OS运行在低特权级别,当访问主机系统的特权状态(如写 GDT寄存器)时,权限不足导致主机处理器产生异常,将运行权自动交还给 VMM。此外,外部中断的到来也会导致 VMM 的运行。VMM 可能需要先将 该虚拟机的当前状态写回到状态数据结构中,分析虚拟机被挂起的原因,然后代表 Guest OS 执行相应的特权操作。最简单的情况,如Guest OS 对 CR3 寄存器的修改,只需要更新虚拟机的状态数据结构即可。一般而言,大部分情况下,VMM 需要经过复杂的流程才能完成原本简单的操作。最后 VMM 将运行权还给 Guest OS,Guest OS 从上次被中断的地方继续执行,或处理 VMM “塞”入的虚拟中断和异常。这种经典的虚拟机运行方式被称为 Trap-And-Emulate,虚拟机对于 Guest OS 完全透明,Guest OS 不需要任何修改,但是 VMM 的设计会比较复杂,系统整体性能受到明显的损害。
虚拟化技术都包含什么内容?
虚拟化技术简介
什么是虚拟化
虚拟化(Virtualization)技术最早出现在 20 世纪 60 年代的 IBM 大型机系统,在70年代的 System 370 系列中逐渐流行起来,这些机器通过一种叫虚拟机监控器(Virtual Machine Monitor,VMM)的程序在物理硬件之上生成许多可以运行独立操作系统软件的虚拟机(Virtual Machine)实例。随着近年多核系统、集群、网格甚至云计算的广泛部署,虚拟化技术在商业应用上的优势日益体现,不仅降低了 IT 成本,而且还增强了系统安全性和可靠性,虚拟化的概念也逐渐深入到人们日常的工作与生活中。
虚拟化是一个广义的术语,对于不同的人来说可能意味着不同的东西,这要取决他们所处的环境。在计算机科学领域中,虚拟化代表着对计算资源的抽象,而不仅仅局限于虚拟机的概念。例如对物理内存的抽象,产生了虚拟内存技术,使得应用程序认为其自身拥有连续可用的地址空间(Address Space),而实际上,应用程序的代码和数据可能是被分隔成多个碎片页或段),甚至被交换到磁盘、闪存等外部存储器上,即使物理内存不足,应用程序也能顺利执行。
虚拟化技术的分类
虚拟化技术主要分为以下几个大类 [1]:
平台虚拟化(Platform Virtualization),针对计算机和操作系统的虚拟化。
资源虚拟化(Resource Virtualization),针对特定的系统资源的虚拟化,比如内存、存储、网络资源等。
应用程序虚拟化(Application Virtualization),包括仿真、模拟、解释技术等。
我们通常所说的虚拟化主要是指平台虚拟化技术,通过使用控制程序(Control Program,也被称为 Virtual Machine Monitor 或 Hypervisor),隐藏特定计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境(称为虚拟机)。虚拟机中运行的操作系统被称为客户机操作系统(Guest OS),运行虚拟机监控器的操作系统被称为主机操作系统(Host OS),当然某些虚拟机监控器可以脱离操作系统直接运行在硬件之上(如 VMWARE 的 ESX 产品)。运行虚拟机的真实系统我们称之为主机系统。
平台虚拟化技术又可以细分为如下几个子类:
全虚拟化(Full Virtualization)
全虚拟化是指虚拟机模拟了完整的底层硬件,包括处理器、物理内存、时钟、外设等,使得为原始硬件设计的操作系统或其它系统软件完全不做任何修改就可以在虚拟机中运行。操作系统与真实硬件之间的交互可以看成是通过一个预先规定的硬件接口进行的。全虚拟化 VMM 以完整模拟硬件的方式提供全部接口(同时还必须模拟特权指令的执行过程)。举例而言,x86 体系结构中,对于操作系统切换进程页表的操作,真实硬件通过提供一个特权 CR3 寄存器来实现该接口,操作系统只需执行 "mov pgtable,%%cr3" 汇编指令即可。全虚拟化 VMM 必须完整地模拟该接口执行的全过程。如果硬件不提供虚拟化的特殊支持,那么这个模拟过程将会十分复杂:一般而言,VMM 必须运行在最高优先级来完全控制主机系统,而 Guest OS 需要降级运行,从而不能执行特权操作。当 Guest OS 执行前面的特权汇编指令时,主机系统产生异常(General Protection Exception),执行控制权重新从 Guest OS 转到 VMM 手中。VMM 事先分配一个变量作为影子 CR3 寄存......
在一台共享设备上模拟若干 *** 享设备的操作,把独占设备变成逻辑上的共享设备,这种技术叫做虚拟设备技术。实现这种技术的软件和硬件被称为SPOOLING系统,使用SPOOLING技术所提供的设备就称为虚拟设备 。实现虚拟设备的条件是硬件要有大容量的缓冲区,软件要有预输入程序和缓输出程序,井管理程序 。优点是:1)提高了输入/输出的速度,缓和了CPU和低速I/O设备间的速度不匹配 ;2)将独占设备变为可共享的设备,设备使用率提高了 。
什么叫虚拟设备,实现虚拟设备的主要条件是什么
虚拟设备的意思是不存在的设备。虚拟网卡和虚拟光驱是典型的虚拟设备的一种。
一、虚拟网卡。
虚拟网卡(又称虚拟网络适配器),即用软件模拟网络环境,模拟网络适配器,windows系统自带此软件。
进入添加硬件向导,添加新硬件,检测过后选择添加新设备,再选择从列表中选取,选中网卡下一步,查找制造商Microsoft有一个设备Microsoft Loopback Adapter,选中它,安装完成后,查看硬件管理器,会多出一个新网卡,这就是虚拟网卡。
虚拟网卡主要是建立远程计算机间的局域网。虚拟网卡链接技术就是VPN。比如说你可以和别的地方的几台机子,通过建立虚拟HUB 实现VPN client的链接,这样就算是在这几台远程计算机间建立的局域网,也能和你的机子一起实现局域网的功能。最普通的就是局域网互联游戏。在这方面比较常用的软件有openVPN ,packetix VPN ,hamachi, 其中,hamachi是运用最简单的VPN软件。
可以模拟集线器功能,实现VPN的功能,使得系统把此软件识别成一块网卡,有了这东西,只要可以访问外网,都可以连接到虚拟集线器(HUB)上与其它电脑组成局域网。在此虚拟的局域网上能进行所有物理存在的局域网的操作,可以互相访问,可以联网玩游戏。该软件能够突破防火墙拦截,信息都经过加密,安全上不存在问题。能够模拟成有 VPN 的网卡,可以直接从公司外部连接到内部的 VPN 服务器上,进而存取公司内的各项服务。不论是要找网管,还是要连 Lotus Note 抓数据,都可以如愿所偿。
二、虚拟光驱。
虚拟光驱是一种模拟(CD/DVD-ROM)工作的工具软件,可以生成和你电脑上所安装的光驱功能一模一样的光盘镜像,一般光驱能做的事虚拟光驱一样可以做到, 工作原理是先虚拟出一部或多部虚拟光驱后,将光盘上的应用软件,镜像存放在硬盘上,并生成一个虚拟光驱的镜像文件,然后就可以将此镜像文件放入虚拟光驱中来使用,所以当您日后要启动此应用程序时,只需要点下插入图标,即装入虚拟光驱中运行。
虚拟光驱是模拟光碟机的工具软件, 它的工作原理是先产生一部或多部(最多23 台)虚拟光碟, 将光碟片上的应用软件和资料, 压缩存放在硬盘上, 并产生一个虚拟光碟图示, 再告知WIN95/WIN98 可以将此压缩文档视作光碟机里的光碟来使用, 当我们启动此应用程序时, 不必将光碟片放光驱中(没有光驱亦可执行), 更不需等待光驱的缓慢启动, 只需在光碟图示上轻轻按一下, 虚拟光碟立即载入虚拟光驱中执行, 快速又方便。电脑启动后, 操作系统将从内存中一块特定区域内读取光驱的信息, 也将某块特定内存作为与光驱数据交换的缓冲区。虚拟光驱软件启动后, 将首先对实际光驱中的光盘进行扫描, 然后将光盘中的二进制数据进行复制, 压缩生成一个以VCD 为后缀名的光盘文件, 每个VCD 光盘文件通过光驱向内存特定区域写入必要的光驱信息, 使操作系统将此信息作为一个新光驱(即虚拟光驱)。虚拟光驱软件是模仿实际光驱向内存中写数据来仿真实光驱的。
虚拟设备是一种将什么改造成什么的I/O技术
虚拟设备技术一般是SPOOLing系统,在多道程序的环境下利用多道程序中的一道或者两道程序来模拟外部设备,从而在联机条件下实现脱机I/O的功能。这是一种将独占设备改造成共享设备的技术
什么叫虚拟设备
通过虚拟技术将一 *** 占设备虚拟成多台逻辑设备,供多个用户进程同时使用, 通常把这种经过虚拟的设备称为虚拟设备。虚拟存储的发展借鉴了计算机领域里很多成功的设计思想,从虚存、磁盘技术、RAID到IBM的大型机等的设计思想中都汲取了许多成功的经验。
虚拟设备,就如它们支持的虚拟机,是相对应它们网络硬件的一种软件应用。许多传统网络设备厂商都支持软件版本,但仅限于部署,为企业网络服务提供虚拟版本软件。网络监控工具,网络安全套件,网络访问控制甚至统一通信组件都融合到了VMware的虚拟设备目录中。开源软件首先做了改革,在过去的18个月里,IT领域许多重要成员比如思科和F5网络在他们自己的产品里都添加了这种支持。在过去几年里,几乎每个用存储架区作为网络设备的网络服务,现在都可以在虚拟数据中心被部署成另外一种工作方式。
何为设备虚拟?实现设备虚拟时所依赖的关键技术是什么
通过虚拟技术可将一 *** 占设备变换成若干台逻辑设备,供若干个用户(进程)同时使用,通常把这
种经过虚拟技术处理后的设备称为虚拟设备。其实现所依赖的关键技术是SPOOLING 技术。
虚拟设备技术是指用 ___的技术。 C.共享设备模拟独占设备 D.独占设备模拟共享设备 急急急!明天必考
答案是D
答案A和B你虽然没写出来,我知道是共享代替独占 独占代替共享。这两个明显不是。
伐共享模拟独占是错误的。因为虚拟设备的定义是“利用某种技术把独占设备改造成可由多个进程共享的设备”。所以,答案是D
虚拟化技术是什么意思
虚拟骇是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
虚拟化技术与多任务以及超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上;而超线程技术只是单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能分离的,只能协同工作。 虚拟化技术也与目前VMware Workstation等同样能达到虚拟效果的软件不同,是一个巨大的技术进步,具体表现在减少软件虚拟机相关开销和支持更广泛的操作系统方面。 纯软件虚拟化解决方案存在很多限制。“客户”操作系统很多情况下是通过VMM(Virtual Machine Monitor,虚拟机监视器)来与硬件进行通信,由VMM来决定其对系统上所有虚拟机的访问。(注意,大多数处理器和内存访问独立于VMM,只在发生特定事件时才会涉及VMM,如页面错误。)在纯软件虚拟化解决方案中,VMM在软件套件中的位置是传统意义上操作系统所处的位置,而 虚拟化技术将各种资源虚拟出多台主机
操作系统的位置是传统意义上应用程序所处的位置。这一额外的通信层需要进行二进制转换,以通过提供到物理资源(如处理器、内存、存储、显卡和网卡等)的接口,模拟硬件环境。这种转换必然会增加系统的复杂性。此外,客户操作系统的支持受到虚拟机环境的能力限制,这会阻碍特定技术的部署,如64位客户操作系统。在纯软件解决方案中,软件堆栈增加的复杂性意味着,这些环境难于管理,因而会加大确保系统可靠性和安全性的困难。 而CPU的虚拟化技术是一种硬件方案,支持虚拟技术的CPU带有特别优化过的指令集来控制虚拟过程,通过这些指令集,VMM会很容易提高性能,相比软件的虚拟实现方式会很大程度上提高性能。虚拟化技术可提供基于芯片的功能,借助兼容VMM软件能够改进纯软件解决方案。由于虚拟化硬件可提供全新的架构,支持操作系统直接在上面运行,从而无需进行二进制转换,减少了相关的性能开销,极大简化了VMM设计,进而使VMM能够按通用标准进行编写,性能更加强大。另外,在纯软件VMM中,目前缺少对64位客户操作系统的支持,而随着64位处理器的不断普及,这一严重缺点也日益突出。而CPU的虚拟化技术除支持广泛的传统操作系统之外,还支持 虚拟化技术
64位客户操作系统。 虚拟化技术是一套解决方案。完整的情况需要CPU、主板芯片组、BIOS和软件的支持,例如VMM软件或者某些操作系统本身。即使只是CPU支持虚拟化技术,在配合VMM的软件情况下,也会比完全不支持虚拟化技术的系统有更好的性能。 两大CPU巨头Intel和AMD都想方设法在虚拟化领域中占得先机,但是AMD的虚拟化技术在时间上要比Intel落后几个月。Intel自2005年末开始便在其处理器产品线中推广应用Intel Virtualization Technology(Intel VT)虚拟化技术。目前,Intel已经发布了具有Intel VT虚拟化技术的一系列处理器产品,包括桌面平台的Pentium 4 6X2系列、Pentium D 9X0系列和Pentium EE 9XX系列,还有......
虚拟设备是一种将什么改造成什么的I/O技术?
虚拟设备是一种将(独占设备)改造成(共享设备 )的I/O技术。它通常是采用( SPOOLING )技术来 实现的。
虚拟化技术的原理
虚拟机是对真实计算环境的抽象和模拟,VMM 需要为每个虚拟机分配一套数据结构来管理它们状态,包括虚拟处理器的全套寄存器,物理内存的使用情况,虚拟设备的状态等等。VMM 调度虚拟机时,将其部分状态恢复到主机系统中。并非所有的状态都需要恢复,例如主机 CR3 寄存器中存放的是 VMM 设置的页表物理地址,而不是 Guest OS 设置的值。主机处理器直接运行 Guest OS 的机器指令,由于 Guest OS运行在低特权级别,当访问主机系统的特权状态(如写 GDT寄存器)时,权限不足导致主机处理器产生异常,将运行权自动交还给 VMM。此外,外部中断的到来也会导致 VMM 的运行。VMM 可能需要先将 该虚拟机的当前状态写回到状态数据结构中,分析虚拟机被挂起的原因,然后代表 Guest OS 执行相应的特权操作。最简单的情况,如Guest OS 对 CR3 寄存器的修改,只需要更新虚拟机的状态数据结构即可。一般而言,大部分情况下,VMM 需要经过复杂的流程才能完成原本简单的操作。最后 VMM 将运行权还给 Guest OS,Guest OS 从上次被中断的地方继续执行,或处理 VMM “塞”入的虚拟中断和异常。这种经典的虚拟机运行方式被称为 Trap-And-Emulate,虚拟机对于 Guest OS 完全透明,Guest OS 不需要任何修改,但是 VMM 的设计会比较复杂,系统整体性能受到明显的损害。
虚拟化技术都包含什么内容?
虚拟化技术简介
什么是虚拟化
虚拟化(Virtualization)技术最早出现在 20 世纪 60 年代的 IBM 大型机系统,在70年代的 System 370 系列中逐渐流行起来,这些机器通过一种叫虚拟机监控器(Virtual Machine Monitor,VMM)的程序在物理硬件之上生成许多可以运行独立操作系统软件的虚拟机(Virtual Machine)实例。随着近年多核系统、集群、网格甚至云计算的广泛部署,虚拟化技术在商业应用上的优势日益体现,不仅降低了 IT 成本,而且还增强了系统安全性和可靠性,虚拟化的概念也逐渐深入到人们日常的工作与生活中。
虚拟化是一个广义的术语,对于不同的人来说可能意味着不同的东西,这要取决他们所处的环境。在计算机科学领域中,虚拟化代表着对计算资源的抽象,而不仅仅局限于虚拟机的概念。例如对物理内存的抽象,产生了虚拟内存技术,使得应用程序认为其自身拥有连续可用的地址空间(Address Space),而实际上,应用程序的代码和数据可能是被分隔成多个碎片页或段),甚至被交换到磁盘、闪存等外部存储器上,即使物理内存不足,应用程序也能顺利执行。
虚拟化技术的分类
虚拟化技术主要分为以下几个大类 [1]:
平台虚拟化(Platform Virtualization),针对计算机和操作系统的虚拟化。
资源虚拟化(Resource Virtualization),针对特定的系统资源的虚拟化,比如内存、存储、网络资源等。
应用程序虚拟化(Application Virtualization),包括仿真、模拟、解释技术等。
我们通常所说的虚拟化主要是指平台虚拟化技术,通过使用控制程序(Control Program,也被称为 Virtual Machine Monitor 或 Hypervisor),隐藏特定计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境(称为虚拟机)。虚拟机中运行的操作系统被称为客户机操作系统(Guest OS),运行虚拟机监控器的操作系统被称为主机操作系统(Host OS),当然某些虚拟机监控器可以脱离操作系统直接运行在硬件之上(如 VMWARE 的 ESX 产品)。运行虚拟机的真实系统我们称之为主机系统。
平台虚拟化技术又可以细分为如下几个子类:
全虚拟化(Full Virtualization)
全虚拟化是指虚拟机模拟了完整的底层硬件,包括处理器、物理内存、时钟、外设等,使得为原始硬件设计的操作系统或其它系统软件完全不做任何修改就可以在虚拟机中运行。操作系统与真实硬件之间的交互可以看成是通过一个预先规定的硬件接口进行的。全虚拟化 VMM 以完整模拟硬件的方式提供全部接口(同时还必须模拟特权指令的执行过程)。举例而言,x86 体系结构中,对于操作系统切换进程页表的操作,真实硬件通过提供一个特权 CR3 寄存器来实现该接口,操作系统只需执行 "mov pgtable,%%cr3" 汇编指令即可。全虚拟化 VMM 必须完整地模拟该接口执行的全过程。如果硬件不提供虚拟化的特殊支持,那么这个模拟过程将会十分复杂:一般而言,VMM 必须运行在最高优先级来完全控制主机系统,而 Guest OS 需要降级运行,从而不能执行特权操作。当 Guest OS 执行前面的特权汇编指令时,主机系统产生异常(General Protection Exception),执行控制权重新从 Guest OS 转到 VMM 手中。VMM 事先分配一个变量作为影子 CR3 寄存......
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询