多核、虚拟化、多操作系统的软件趋势.docxVIP

多核、虚拟化、多操作系统的软件趋势.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE 1 PAGE 1 多核、虚拟化、多操作系统的软件趋势 本文介绍了时下关于多核的最新话题,包括多核和虚拟化之间的关系,以解多处理器和多核的不同之处,乃至当今多操作系统下的Supervisor和Hypervisor之间的关系。   多核和虚拟化的关系布满诡辩   多核和虚拟化如何帮助客户快速、低成本地进行开发?据风河公司CTO(首席技术官)TomasEvensen介绍,其实这是布满诡辩的问题,假如你要想用多核来提高效率,可能就需要多功能处理,因此复杂性提高,需要担当更多的风险,所以这是机遇与风险并存的状况。过去人们只是通过多任务处理或者并行处理,然而在开放资源系统中,可能就会遇到像风河VxWorks、Moblin(注:Intel力推的开源组织)等体系,更加复杂,这时可以采用虚拟化和中间软件等。当然,这样运行时对于客户可能更加高效,但也更加复杂化。   在将来三到五年中,多核虚拟化在嵌入式方面的应用主要还是面向计算量比较高的多核客户。是否采用多核虚拟化关乎整合还是分开的问题,假如你不想用单核,你当然可以不用,但多核也更加复杂,即便说用两核也可能会涉及到整合问题。所以你可以选用单CPU的Hypervisor(如图1,是由少量代码组成特种OS,是在现有操作系统之下称为hypervisor的一层,这层实现对多操作系统和虚拟化的支持。例如对于风河来说,这层可以是Vxworks或风河Linux)或多核的Supervisor(在多核和多操作系统中间有虚拟化的一层配置Supervisor,它比Hypervisor的功能低一些,因为它不需要虚拟CPU),也可以两者兼用,用的时候你可以把它们整合在一起,也可以把两者分开。   从多处理器到多核   为了更清晰地理解多操作系统、多核与虚拟化趋势,需回到多处理器系统和多核的关系上。多处理器离多核的应用只有一步之遥。不过,多核与多处理器也有不少区分,其中有一些挑战你必需面对。首先,多处理器系统中的软件并不能直接拿到多核系统中运行。   将原本分散的多处理器系统整合为单一多核系统并不能通过简洁地将多个系统简洁地压缩在一个多核系统中来实现。系统架构的变化使多个系统之间的并行运行和通信协调方式发生了不小的变化。   在采用多核技术的时候,操作系统管理内核的基本方式有两种:第一种是对称多处理(SMP),这是由一个操作系统来掌握多个内核。只要有一个内核空闲可用,操作系统就在线程等待队列中安排下一个线程给这个空闲内核来运行。第二种是非对称多处理(AMP),每个内核上都运行各自的操作系统。   因此,多核系统并不是直接把多个芯片的多处理器浓缩到单一芯片之中这么简洁。实际上,多核系统和多处理器系统之间存在着很多重要的区分,导致不能把多处理器系统上的软件直接移植到多核系统上来。多处理器系统和多核系统的主要区分之一就是,在多处理器系统中,CPU之间的界线是比较清楚的。   在典型的多处理器状况下,多个CPU通过总线连接起来,即便是共享外部存储器,这些CPU基本上都是独立运行的。在多核系统中,状况就有所不同。不论采用何种架构,在多核系统中,被共享的东西特别多,例如中断掌握器、外设以及Cache(高速缓存)等。   多操作系统下的Supervisor或Hypervisor   当你期望运行SMP(同构核)环境时,多核系统的这种特征通常表现为一种优势,因为全部的内核都由同一个操作系统来管理。但是,当你要在多核系统中同时运行两种以上的操作系统时,例犹如时运行一套RTOS(嵌入式实时操作系统)和一套通用操作系统,就会遇到较多的困难。在这种状况下,会有两种选择:第一,在两个操作系统之间进行频繁的沟通,例如在它们之间建立主、从关系;第二,更简便的方法是采用Supervisor或者Hypervisor,这是一些少量的代码,负责管理协调多个操作系统。明显,第二种方式是更彻底、敏捷、具有扩展性的多核软件架构。   Hypervisor之所以能够有效地管理运行在其上的多个操作系统,得益于分区和虚拟化的方法。总的来说,系统中有三类资源可以被虚拟化:执行单元(CPU)、内存和设备。执行单元虚拟化是基于时间片来进行。内存虚拟化是把物理内存划分成很多区域。设备虚拟化则是通过给设备定义接口和API调用来提高使用敏捷性和利用率。   Hypervisor并不是一个全新的概念,在服务器中早已得到广泛而且成功的应用。不过,嵌入式系统中经常用到的Hypervisor主要是对内存和设备进行虚拟化,以便在操作系统之间的资源共享得到完全的保证,而不是对执行单元进行虚拟化。这种专用的Hypervisor比较小,而

文档评论(0)

185****8664 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档