云计算-虚拟化-虚拟机

虚拟机
虚拟机是IaaS服务提供给用户的主要接口。
关键的接口,物理层有哪些层次,每一层都是什么样的接口?
已有接口,虚拟化通过间接层来实现,在已有的堆栈,现有的层次中,插入一个间接层。
在插入虚拟机之前,一般要考虑间接层在哪?在已有的简介层上插入接口,实现间接层位置。
在学习虚拟机的时候,库和运行时不是十分重要。
虚拟机的两个重要接口:
第一个就是硬件提供给软件环境的接口,ISA,叫指定集架构,Instruction Set。 硬件提供给所有软件用的接口,整个软件环境的视角。
第二个接口,操作系统提供给应用程序,叫做系统调用。应用程序访问共享的资源,因为是共享,应用程序不能随便用,否则影响别人的使用。利用资源需要通过操作系统实现,操作系统提供给应用程序提供接口,比如应用程序实现读的操作,保证应用程序不会破坏别的应用程序。
应用程序可以直接应用ISA,指定架构ISA的一部分用程序可以直接访问。指定架构一部分只有操作系统才能访问,这部分叫做系统ISA,比如输入输出指令;但有一部分指令,比如常见的算数指令,直接给用户使用。CPU共享,决定线程调用CPU资源的,属于系统ISA;一旦线程被调度CPU上使用,当被用来做加减乘除的时候,就不需要再经过操作系统。程序的指令需要跳着执行,跳转指令属于用户ISA。存数据和取数据也是用户ISA,内存访问处理如果要经过操作系统,程序的执行就会非常慢。
虚拟化CPU,虚拟化I/O,虚拟化内存。
ABI接口,应用二进制接口,把两个接口结合起来,
源代码写程序,编译为二进制编码。ABI程序就是应用程序,包括用户ISA,包括系统调用。
需要特权和不需要特权的指令,ABI是操作系统和硬件提供给应用程序的接口。
IIS虚拟化,实现的是ISA虚拟机,任何虚拟化都需要插入间接层,虚拟化插入软件和硬件环境之间。给软件环境提供ISA,提供iSA‘.
VM,XZEN.桌面上的虚拟机。VMWARE,服务器VEN。
ABI虚拟化,间接层是放在ABI上面。物理ABI,包括用户用户ABI和系统ABI。虚拟化既需要操作系统接口,也需要虚拟化硬件提供·的用户ISA接口。虚拟化的ABI接口。
JAVA虚拟机,不是ISA虚拟机,是一个ABI虚拟机。ABI虚拟机通常跟编程语言相关。
JAVA编译的指令是JVM自己的指令。
JAVA虚拟化系统调用接口,访问共享的访问资源,通过JAVA提供的函数库,对系统调用的子序列。没有虚拟机,通过读和写的虚拟调用实现对共享硬件的访问。有了JAVA通过JVM的函数库的调用实现。
ISA和ABI的比较,ISA提供的是对整个软件环境的虚拟机。虚拟机所依赖的是物理所提供的ISA,ABI提供的虚拟机时提供给应用程序。ABI依赖的是,操作系统提供的系统调用接口,和用户实现的用户ISA。
系统VM:
IaaS云服务提供的云服务的接口时ISA接口,ABI虚拟机提供的库和运行时的接口,用户可以用来安装应用程序的接口。
PaaS实现应用,开率用什么语言实现。库时JAVd的库函数,运行时时运行的的接口。
ABI虚拟机是PaaS服务商提供给用户的接口,ISA虚拟机时IaaSf服务商提供给用户的接口。
重点 ISA虚拟机:
云服务商会把JAVAVirtual Machine运行在VM的Virtual Machine上,或者其他云服务上。
IaaS总是存在的,IaaS服务上经常回去用ISA虚拟机。
两种不同的ISA。
虚拟化的ISA‘,或者物理ISA,两者可以一样或者不一样。不一样的时候,针对不同的ISA上运行的程序的时候可以来实现,比如模拟器。比如游戏的模拟器,即使没有游戏硬件,我们可以通过ISA模拟器去实现。
游戏程序所实现的指令,翻译为当前硬件的指令,这是翻译器的作用。
安卓模拟器,非常广泛的操作系统,ARM是针对手机用的ISA,安卓的ARM指令被模拟器翻译为X86支持的指令。
模拟器的功能,模拟器的性能,安卓的每一个指令都需要进行翻译,运行会很慢。
云计算所依赖的虚拟机,是系统虚拟机。这个虚拟机的ISA’和当前硬件的ISA是一样的。和直接在物理机应用程序的性能是无差的。
系统虚拟机的实现:
主机操作系统是经典虚拟机和托管虚拟机的差别。
最早的虚拟机时IBM为了共享计算机的资源的虚拟机。没有操作系统。虚拟化软件是系统中唯一管理硬件资源的虚拟机。
经典:IBM z/VM、VMware、ESX、
在这里插入图片描述

Vmm直接管理硬件。
托管:VIRTUALBox、
在这里插入图片描述

有一个主机操作系统。
虚拟化的软件,叫做虚拟机管理器,Hyperversion,用VMM来实现。两个虚拟化的世界,主机操作系统来实现。虚拟机里也有操作系统,支持虚拟机的运行。区分虚拟机的操作系统和主机操作系统,主机操作系统叫做主机操作系统。虚拟机操作系统叫做来宾操作系统。
两种虚拟化的模式有不同的优缺点,经典虚拟机的性能由于直接管理,性能会很好。一般云计算一般会用。
托管虚拟机,性能较差。主机操作系统和VMM去争取资源。
需要主机操作系统:个人电脑需要。托管虚拟机不应响现有的框架。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

Guess you like

Origin blog.csdn.net/qq_41542141/article/details/120299293