如何实现讲多个机器视觉和计算机视觉虚拟化成一个机器,使这台机器对上层操作系统是透明的。

云计算基础知识第二讲:虚拟化概念及相关概念介绍
我的图书馆
云计算基础知识第二讲:虚拟化概念及相关概念介绍
虚拟化概念
虚拟化是云计算非常关键的技术之一,虚拟化的含义很广泛。将任何一种形式的资源抽象成另一种形式的技术都是虚拟化。
在计算机方面,虚拟化一般指通过对计算机物理资源的抽象,提供一个或多个操作环境,实现资源的模拟、隔离或共享等。
下图可很好的理解虚拟化。
虚拟化示意图:
虚拟化与云计算的关系:
虚拟化的重点是对资源的虚拟,比如将一台大型的服务器虚拟成多台小的服务器。
云计算的重点是对资源池中的资源(可以是经过虚拟化后的)进行统一的管理和调度。
虚拟化相关概念介绍
虚拟机VM(Virtual Machine)是指使用虚拟化技术,通过软件模拟完整的计算机硬件系统功能,构造出的完整虚拟计算机系统。该虚拟机可以独立运行在一个完全隔离的环境中,像使用本地计算机一样安全可靠。
Hypervisor
即虚拟机监视器VMM(Virtual Machine Monitor),是一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件。
Hypervisor是一种在虚拟环境中的“元”操作系统。它可以访问服务器上包括磁盘和内存在内的所有物理设备。Hypervisor不但协调着这些硬件资源的访问,也同时在各个虚拟机之间施加防护。当服务器启动并执行Hypervisor时,它会加载所有虚拟机客户端的操作系统,同时会分配给每一台虚拟机适量的内存、CPU、网络和磁盘。
Xen Hypervisor
是一个开源的采用半虚拟化技术的VMM,负责在各虚拟机之间进行CPU调度和内存分配。Xen Hypervisor抽象出硬件层,并控制虚拟机的执行,但不会处理网络、存储设备、视频以及其他I/O(输入/输出)。由于Xen Hypervisor可以在单个计算机上运行多个修改过的操作系统,且最上层的用户应用无需做特殊修改,因此XenHypervisor无需特殊硬件支持,就能达到高性能的虚拟化。
宿主操作系统
宿主操作系统(Host OS)指被虚拟的物理机的操作系统。
客户操作系统
客户操作系统(Guest OS)指运行在虚拟机上的操作系统。
Domain 0是其他虚拟机的管理者和控制者,可以构建其他更多的Domain,并管理虚拟设备。它还能执行管理任务,比如虚拟机的休眠、唤醒和迁移其他虚拟机。
指除Domain 0之外的虚拟机。
TA的最新馆藏
喜欢该文的人也喜欢本文从以下几个方面介绍虚拟化的一些常识:虚拟化层次的分类及举例;系统虚拟化简史;VMM分类;典型的虚拟化产品;Xen。
虚拟化层次分类及举例
指令级虚拟化
硬件级虚拟化
操作系统级虚拟化
Linux-VServer
编程语言级虚拟化
程序级虚拟化
系统虚拟化简史(硬件级虚拟化)
历史上第一个虚拟机是1965年左右IBM公司开发的system/360 model 40 VM。其最初的设计目的是将当时最先进的虚拟内存的概念延展到计算机的其他子系统,搭建一个时分共享的系统,运行多个单用户的操作系统,以实现多个用户对 昂贵的物理计算机资源的共享。
之后,随着时分多用户操作系统的发展,虚拟化技术真正成熟是在15年后的IBM VM/370系统中。作为一个标志性的系统,VM/370的许多原理至今还在IBM的z系统大型机上使用。VM/370运行在IBM System/370大型机上,并虚拟出同体系结构的System/370虚拟机。由于System/370硬件的优秀设计,对VM/370的实现提供了 完整而高效的支持,以VM/370为代表的虚拟机和系统虚拟化技术完整实现了虚拟机的思想。
VM/370上实现的是完全虚拟化(Full Virtualization),他所抽象的虚拟计算机具有完全的物理计算机特性。
在同一个时代,IBM M44/44x系统中,出现了半虚拟化(partial-virtualization)(某些书中将para virtualization称为半虚拟化,他们不是一个概念),半虚拟化(partial-virtualization)提供了对底层硬件的部分模 拟,以满足某些专门的软件的执行环境,但是不能运行所有可能运行在物理机上的软件。
伴随着硬件的发展,从20世纪90年代后期开始,台式计算机的性能逐渐达到支持多个系统同时运行的水平。在大型机上沉寂一时的虚拟化技术,在小型机 和微型机领域开始迅速升温。1997年,在斯坦福大学开发的Disco系统中探索了在共享内存的大规模多处理器系统上运行普通的桌面操作系统。基于 Disco系统的研究经验,Disco开发者们继续进行了个人计算机虚拟化技术的研究,之后就有了1998年的Vmware公司的诞生。
在个人计算机领域广泛使用x86体系结构的先天设计,存在对系统虚拟化的支持缺陷或虚拟化漏洞(virtualization hole)。 在x86体系结构上的虚拟化技术,都需要用软件的方法来弥补系统结构设计上的不足。例如,采用代码扫描或修补方法(Scan and patch)或二进制代码翻译(binary translation)技术来实现基于软件的完全虚拟化,但这样做势必带来性能上的损失及非常大的软件复杂度。
这种情况下,学术界提出了另一种思路来客服体系结构上的缺陷,叫类虚拟化技术(Para virtualization)(一些书上称半虚拟化)。其主要思想是通过客户机操作系统与虚拟化管理层的协同设计,由虚拟化管理层软件提供一个近似于原 物理系统,但又不完全相同(与原系统)的虚拟平台,以避免虚拟化漏洞和实现更高的虚拟化效率。虚拟化技术需要修改操作系统的源代码来与下层的虚拟化管理层 软件协同工作,从而避免体系结构上的缺陷。
美国华盛顿大学的Denali项目和原子英国剑桥大学的Xen项目都支持类虚拟化。
虽然上诉两种基于软件的方法都能够实现系统虚拟化,但他们各自存在不可回避的问题。基于软件的完全虚拟化方法不可避免的导致性能的下降,同时伴随着一些兼容性上的损失(这里的兼容性是指?);而修改操作系统的方法对于现有系统的移植和伴随着内核升级的维护提出了要求 ,并且对于非开源的操作系统也有局限性。
从根本上解决系统结构上的缺陷,最好的方法是从体系结构本身入手。intel和AMD在2006年后都逐步推出了带有硬件虚拟化支持的处理器,从根 本上保证了x86架构是一个可虚拟化的架构。VMM软件可以利用这些硬件虚拟化技术,实现基于硬件的全虚拟化,这样操作系统不需要做任何修改就可以运行在 虚拟机上。
除了x86处理器架构加入了硬件虚拟化支持,IBM power 2001年,Sun SPARC 2005年也在处理器中加入了虚拟化的支持。但IBM和Sun都采用了基于硬件的类虚拟化策略,除了在硬件中加入了对虚拟化的支持,还在固件层加入了相应 的类虚拟化VMM层,上层的操作系统 需要根据 VMM层接口进行修改。提供了从处理器到固件层到操作系统层对虚拟化的全面协同支持。
今天的大部分服务器和台式机处理器都已经有了对虚拟化的支持,但只是解决了处理器层如何更好的支持虚拟化的问题,为了使虚拟化解决方案更加高效,计 算机系统各个层次都在逐渐加入对虚拟化的硬件支持,逐渐形成一个对虚拟化更好支持的虚拟化生态系统。以intel为例,除了处理器中的vt技术外,芯片中 开始提供针对I/O虚拟化功能的vt-d技术,网卡中也开始提供更好的网络虚拟化支持的多队列的VMDq技术。与此同时PCI标准组织也在积极的指定在 PCI设备级对虚拟化进行支持的单根PCI桥IOV和多跟PCI桥IOV标准。
从20世纪90年代发展至今,虚拟化软件取得了长足的发展。非常多的虚拟机软件涌现除了,如KVM、virtualbox、微软的virtual pc 、hyper-v、Sun的xVm、Oracle的Oracle VM。
(硬件级虚拟化)
按虚拟平台分类
根据VMM所根据的虚拟平台类型可以将VMM分成两类:
第一类VMM虚拟的是现实存在的平台,并且在客户机操作系统看来,虚拟的平台和现实的平台是一样的,客户机操作系统察觉不到是运行在一个虚拟平台上。这样的虚拟平台可以运行现有的操作系统,无须对操作系统进行任何修改,因此这种方式被称为完全虚拟化(full virtualization)。完全虚拟化有软件辅助的完全虚拟化和硬件辅助的完全虚拟化。
第二类VMM虚拟的平台是现实中不存在的,而是经过VMM重新定义的,这样的虚拟平台需要对所运行的客户机操作系统进行或多或少的修改使之适应虚拟环境,因此客户机操作系统知道其运行在虚拟平台上,并且会去主动适应。这种方式被称为类虚拟化(para virtualization)。另外,一个VMM可以既提供完全虚拟化的虚拟平台,又提供类虚拟化的虚拟平台。
按VMM实现结构分类
Hypervisor模型
在Hypervisor模型中,VMM可以看作是一个完备的操作系统,不过和传统操作系统不同的是,VMM是为虚拟化而设计的,具备虚拟化功能。
在Hypervisor模型中,VMM同时具体物理资源的管理功能和虚拟化功能,因此,物理资源的虚拟化的效率会高一些,同时他不依赖于其他操作系统,虚拟机的安全只与VMM安全有关,不像宿主型的VMM,虚拟机的安全与VMM和操作系统相关。
同样由于Hypervisor模型中,VMM完全拥有物理资源,因此需要对物理资源进行管理,包括设备驱动,这些开发的工作量是很大的。
物理资源由宿主机操作系统管理,宿主机操作系统是传统操作系统,VMM通过调用宿主机操作系统的服务来获得资源提供虚拟化服务。VMM创建出虚拟机之后,通常将虚拟机作为宿主机操作系统的一个进程参与调度。
宿主模型最大的优点是可以充分利用现有操作系统的设备驱动程序,VMM无须为各类I/O设备重新实现驱动程序,可以专注于物理资源的虚拟化。宿主模型也可以利用宿主机操作系统的调度、电源管理灯其他功能。
由于宿主操作系统设计开发之初并没有考虑虚拟化的支持,因此VMM虚拟化的效率和功能会受到一定影响。另外虚拟机的安全会依赖于VMM和宿主机操作系统的安全。
混合模型是上述两种模式的汇合体,VMM仍然位于最底层,用于所有物理资源。但与Hypervisor模型不同的时,VMM不会控制大部分I/O设 备,会有一个运行在特权虚拟机中的特权操作系统控制大部分硬件,分担VMM的一些职责。处理器和内存的虚拟化由VMM完成,I/O的虚拟化则由VMM和特 权操作系统共同合作来完成。
VMware ESX Server 3
基于Hypervisor模型,直接运行在物理硬件上,无须操作系统,是一款面向企业级应用的产品。既支持完全虚拟化也支持类虚拟化,新版本中也开始采用了硬件虚拟化技术。
VMware Server
宿主模型,面向服务端入门级产品,宿主操作系统可以是windows或者linux。由于采用宿主模型,VMware Server支持的硬件种类要比ESX Server多,此外VMware Server是免费的。
VMware Workstation
也是宿主模型,是VMware面向桌面的主打产品。宿主操作系统可以是windows或者linux。VMware Workstation支持完全虚拟化。与VMware Server不同,VMware workstation专门针对桌面应用做了优化。
VMware Fusion
宿主模型,与VMware Workstation基本相同,VMware Workstation运行在Windows和Linux上,VMware Fusion运行在基于Intel Mac硬件平台的Mac OS X。
&Virtual PC
Miscrosoft 面向桌面的虚拟化产品,宿主模型,宿主操作系统是Windows,早期采用软件虚拟化方式,基于Binary Translation技术。新版本中已经支持硬件虚拟化技术。
Virtual Server
Miscrosoft 面向服务器的入门级虚拟化产品,也是宿主模型,宿主操作系统可以是Windows XP和Windows Server 2003等。新版本中也开始支持硬件虚拟化技术。
Windows Server 2008
2008是Miscrosoft 推出的新一代服务器操作系统,其中一项重要的新功能是虚拟化。Server 2008的虚拟化架构采用混合模型, 其重要的部件之一Hyper-V作为Hypervisor运行中最底层,Server 2008本身作为特权操作系统运行在Hyper-V之上。Server 2008采用硬件虚拟化技术,必须运行在支持Intel VT技术或者AMD-V技术的处理器上。Server2008的虚拟化功能是纯64位,只运行在Server 2008 64位版本中。客户机操作系统支持32位和64位,支持 对称多处理器的客户机操作系统等。
从技术角度来说,Xen基于混合模型。特权操作系统(Domain0)可以是Linux、Sorlaris以及NetBSD。Xen 1.0 2.0实现了类虚拟化,3.0支持基于硬件技术的完全虚拟化。
KVM采用的是基于Intel VT技术的硬件虚拟化方法。从架构上看,可以认为KVM是宿主模型,Linux是宿主操作系统。但随着越来越多的虚拟化功能被加入到Linux中,也有人认为Linux已经是一个Hypervisor,因此KVM是Hypervisor 模型。KVM和Linux内核结合的非常好,但KVM还处在发展阶段。
Xen是一个虚拟化平台,它来之于一项学术研究成果,现已发展成一个重要的开源项目。
Xen的独特之处在于,当它第一次发布时,使用了半虚拟化(para virtualization)来运行像linux这样的常规操作系统。半虚拟化需要修改运行在Xen之上的操作系统,既提升了性能又简化了Xen本身。
一般来说,操作系统内核是运行在计算机上的最有特权的软件,但在虚拟化的情况下,系统管理程序是最有特权的,操作系统内核是在相对较低的权限下运 行。如果操作系统现在试图执行一些特权指令,那他们会失败,失败的方式是至关重要的。如果他们引起系统管理程序会捕获的一个错误,系统管理程序可以恰当的 模拟这个指令并继续控制虚拟机。然后x86上存在一些默默失败而不触发系统管理程序的指令。对于虚拟化来说这是坏消息,因为这妨碍了操作系统在虚拟机上适 当的工作。普遍的技术(至少在Xen之前)是在运行时扫描操作系统代码,寻找特定的指令并用直接调用系统管理程序的代码替换他们(什么技术?怎么实 现?)。虽然这具有理想的兼容性,但在性能上有很大的开销。
当发布Xen时,它表明,通过放弃理想的兼容性,性能会显著的提高。
半虚拟化的观点是移除一个架构(如x86)中难以虚拟化或如果进行虚拟化开销很大的所有特性,用于虚拟化层直接通信的半虚拟化操作替换他们。
一个操作系统的半虚拟化就是重写与半虚拟化架构不兼容的所有代码。对linux内核,Xen只修改或增加2995行代码,就可以使它能在Xen上运行。
Xen是原生式虚拟化的一个例 子。另一种方式是宿主操作系统上运行一个系统管理程序。这种情况下,每个虚拟机实际上成了宿主操作系统的一个进程。宿主式系统管理程序通常用于工作站的虚 拟化产品中,例如vmware。这种方式的主要优点在于:安装一个宿主式的系统管理程序就像安装一个新应用程序一样简单,反之,安装一个原生的系统管理程 序(如Xen)就像安装一个新的操作系统。因此宿主式虚拟化更适合非专业的用户。
另一方面,原生式的系统管理程序的优点在于它可以获得更好的性能。宿主式虚拟机更容易用于桌面虚拟化。Xen3.0版本开始支持基于intel vt和amd v硬件技术的全虚拟化。
阅读(...) 评论()专访耶鲁大学邵中:一个“没有BUG”的反黑客操作系统,如何为自动驾驶保驾护航? | CCF-GAIR 2017
新智驾按:现为耶鲁大学计算机系教授及系主任的邵中如今正带领研究小组为其“反黑客攻击”操作系统CertiKOS而工作。
CertiKOS具有极高的安全性和可靠性,采用了模块分层验证法(Modular Layered Verification Methods),拥有并发性,可同时在多个CPU内核上多线程运行。此外,该系统整合了形式化验证,对无论是智能家电还是物联网设备亦或是自动驾驶汽车都能起到防黑客攻击的保护作用。
日,中国计算机学会(CCF)主办、雷锋网与香港中文大学(深圳)承办的第二届全球人工智能与机器人峰会(CCF-GAIR 2017)的智能驾驶论坛上,邵中教授发表了题为《CertiKOS: A Breakthrough toward Hacker-Resistant Operating Systems》的主题演讲,详述了如何打造一款“反黑客攻击”操作系统。
演讲结束后,邵中接受了新智驾专访,以下为对话实录,新智驾做了不改变原意的编辑。
新智驾:你们的目标是要用CertiKOS替代掉Windows、Mac OS或者Linux这样的现有操作系统吗?
邵中:也不是说代替,操作系统是一个很大的概念,比如说Windows系统、Mac OS系统或者Linux,它往往是几百万行代码,它把上头的对应用端做的各种各样的库都当成是操作系统的一部分。
但是,另外还有一个概念叫操作系统内核,那个内核一般就比较小了,可以做个几万行或者小于十万行。你说的那些操作系统都有一个不同的内核,那个内核目前是不安全的,我们就想取代那个内核,上头还可以跑这些不同的操作系统。
新智驾:也就是说,CertiKOS要与已有的操作系统的上层部分进行配合,那适配性问题如何解决?
邵中:所以现在就有如虚拟机和Hypervisor这样的东西存在。其实虚拟化是计算机最近几年来最大的一个突破,像云端都是用虚拟化实现的,人们可以在一个云上面执行诸多程序。其实就是把一个机器虚拟化成了多个机器。比如说很多国内公司有很多终端设备,并不是每个终端都连着一个主机,它其实就几台主机放在那,然后把它分成了10-20个虚拟化的东西。
我们的内核跟现有操作系统的上层部分结合时也是这种虚拟的形式,在汽车上也是虚拟形式,因为它不可能每一个东西都做。
新智驾:“反黑客攻击”操作系统普及后,黑客会受到什么影响?失业?
邵中:不会,他会去黑没用我们CertiKOS系统的那些地方,因为即使安装了我们的系统,上层的代码还是有被黑的可能,只是不能黑到最底层。
因为你开着车希望的是它即使地图坏了、导航仪坏了还可以开,但它绝对不能让被黑到把引擎、闸的控制权都交出,那是很糟糕的。
从上世纪60年代开始,我们就对写软件的人提出要求,不能只写个软件然后发表卖钱就走了,你需要对你的软件负责,不能有bug。只是因为最近几十年来,因为商业化的原因,人们开始不在乎软件是否有bug,才会导致现在那么多的软件对安全性的要求那么低。
但是我们做这个行业、这个技术就是为了改变软件行业的现状,只不过,原来人家就觉得,这么多东西还要证明,这对我要求太高了。对一个计算机游戏人家可能不在乎,但是,对关键软件确实是这样。
新智驾:目前您做这个项目最大的困难,要跨越的技术难题主要是什么?
邵中:非常多,做操作系统有意思的是,它里头描绘的各种各样的情景,跟我们描绘生活当中各种各样的情景是一样的。操作系统无非是要管理各种各样的资源、各种各样的空间,一旦有两个不同的东西要互相共享资源又要增值的时候,你就要找到有一种好的处理方式。
我把一个操作系统写好了,我就可以像管理一堆机器人或者管理一个虚拟世界的最主宰的东西,就像上帝一样,搭一个安全操作系统就有点像我给你这么一个平台,给你这么多的资源,你一定得把它管理好,不能有不公平,因为一旦有不公平,就变成黑客攻击的地方。
所以,其实我们里头做的各个模块的管理、用到的一些技术是非常有哲理的。它们来自程序设计语言、形式化语义领域最近30年做的很多突破性研究工作。
新智驾:现在这个项目进展到了一个什么阶段?
邵中:已经有几个非常好的里程碑,在去年11月份,我们做的并发操作系统是最难的一个课题,已经克服了很多困难,接下去就是致力于扩充它,让其更好地落地到实际应用场景。
应用场景有很多,自动驾驶汽车、物联网设备现在就可以用上去。只不过,要去做这些事情我们就得成立创业公司来进行,但是我们并不觉得现在就要放弃做学术研究,因为我自己本人还是想把这个生态圈打造得更大,然后再去进入某一个行业。
新智驾:您可能对哪些机构或者企业比较有兴趣?
邵中:我在中国的交流还不是很多,我希望多跟中国做汽车行业、智慧城市、物联网、区块链等方面的企业接触,如果他们对安全问题感兴趣,可以多交流。
新智驾:目前,很多做自动驾驶的企业其实对网络安全还没有太多的考虑和研究,那么您觉得未来可能会出现的对自动驾驶汽车系统进行攻击的漏洞和缺陷是什么?
邵中:所有都可能会被侵入,但是我们要做到的并不是保护每一块,因为那个工作量太大了。我们要保护的是最底层的一层,因为即使有某个机器被攻击了,它也不会把整个汽车上的最关键的部分都弄坏。
比如车上有30个机器,中间有2-3个是管着主控的,我们做这种安全系统要达到的最主要的目标就是要保证,即使另外27个机器都被攻击成功了,另外那3个还可以正常运行。
新智驾:现在在传统汽车或者自动驾驶汽车上有没有一些应用?
邵中:我们现在做的大部分都还是在学术实验室范围内。
因为自动驾驶汽车即使在大部分的公司里头也无非是一个Demo,虽然说有几个已经在路上跑了,但大部分是不考虑网络安全的。所以,这是一个非常新的领域,这次回来的一个原因也是希望能够跟现在在做其他部分的厂家能够有更多的接触。
围绕着自动驾驶汽车和无人机的创业公司太多了,但是设备重视网络安全的还是不多。因为网络安全的门槛比较高,没有几个人是真正能够放下心来去钻操作系统软件的实现,这也是为什么操作系统是核心软件,为什么那么难,为什么中国到现在还没有自主开发的操作系统。
新智驾:对CertiKOS的期待是什么?
邵中:我们准备开源,所以大家都可以在上面建立应用,就像当初Linux从1990开始一步步滚雪球滚到现在这么大,我们也希望我们的安全操作系统也能一步步壮大并最后变成一个比较成熟的、安全的、被验证的、没有bug的、黑客不能攻击的操作系统。到那一步就需要慢慢吸引更多企业和机构加入到生态圈中推动其发展。【完】
关注新智驾,后台回复“未来汽车”获取报名信息
责任编辑:
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
今日搜狐热点虎牌hupai娱乐?虎牌娱乐pt老虎机?虎牌娱乐手机客户端【首页】(window.slotbydup=window.slotbydup || []).push({
id: '2014386',
container: s,
size: '234,60',
display: 'inlay-fix'
&&|&&0次下载&&|&&总454页&&|
您的计算机尚未安装Flash,点击安装&
阅读已结束,如需下载到电脑,请使用积分()
下载:100积分
0人评价31页
0人评价29页
相关分类推荐
1人评价41页
0人评价28页
0人评价20页
0人评价1页
0人评价2页
所需积分:(友情提示:大部分文档均可免费预览!下载之前请务必先预览阅读,以免误下载造成积分浪费!)
(多个标签用逗号分隔)
文不对题,内容与标题介绍不符
广告内容或内容过于简单
文档乱码或无法正常显示
文档内容侵权
已存在相同文档
不属于经济管理类文档
源文档损坏或加密
若此文档涉嫌侵害了您的权利,请参照说明。
我要评价:
下载:100积分}

我要回帖

更多关于 机器视觉 计算机视觉 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信