针对x86体系结构,Xen使用超级调用来替换被监控的操作,其中包括x8架构下的临界指令。Xen所采用的超级替换的方法是一种全新的设计理念:它将问题的中心,由VMM移向Gust os自身,通过主动的方式由Guest os去处理这些指令,而不是被移交给VMM做处理,在这种设计理念下,修改Guest Os内核成为必然。

能修改Guest os是半虚拟化的一个技术核心。通过修改guest os的内核。使guest os明确知道自己是运行在1环上,而不是通常os的0环,有效的避免了虚拟化的一个关键问题,执行冲突问题。guest os也清楚VMM给自己提供了一个虚拟的寄存器组,并能通过其他方式去访问他们,也避免了访问冲突的问题。

解决了临界指令问题只是解决了x86架构下的半虚拟化的第一步。运行在1环的操作系统没有权限执行的指令,交给0环的VMM来处理,这个很大程度上与应用程序的系统调用很类似:系统调用的作用是把应用程序无权执行的指令交给操作系统完成。因此,Xen向guest os提供了一套“系统调用”。以方便Guest os调用,这部分”系统调用“就是超级调用。

超级调用的机制使用,不仅使x86架构的指令虚拟化得以实现,也为后面的内存虚拟化和I/O虚拟化提供了新的思路和方法,超级调用和事件通道是整个半虚拟化的基础。

Xen设计的理念--超级调用相关推荐

  1. Xen超级调用详细实现

    概述:当虚拟机的Guest OS需要执行一些更高权限的操作(如:页表的更新.对物理资源的访问等)时,由于自身在非特权域无法完成这些操作,于是便通过调用Hypercall交给Xen Hypervisor ...

  2. FPGA设计中,Vivado 调用IP核详细操作步骤

    FPGA设计中,Vivado 调用IP核详细操作步骤 今天给大侠带来了FPGA设计中,Vivado 调用IP核详细操作步骤,话不多说,手把手教学,请往下看. 首先咱们来了解一下vivado的IP核,I ...

  3. 网站设计的理念与方法

    摘要:在当今这个时代,信息技术在社会的发展中占据着越来越重要的地位.推动各行各业的信息化建设已经成为了经济发展的首要任,合理开发利用信息资源关系着我国信息化建设的速度.网站在当今的时代发展中有着很重要 ...

  4. 【干货】深入B端SaaS产品设计核心理念

    本文讨论"为什么采用SaaS模式"."SaaS产品有哪些"以及"如何做好SaaS产品设计"三个话题,核心是产品设计,主要从需求定义.方案设计 ...

  5. 不玩虚的!深入B端SaaS产品设计核心理念【干货】

    [前言] 本文讨论"为什么采用SaaS模式"."SaaS产品有哪些"以及"如何做好SaaS产品设计"三个话题,核心是产品设计,主要从需求定义 ...

  6. MATLAB AppDesigner 设计UI界面中调用自定义函数

    在MATLAB AppDesigner设计UI界面过程中,如果直接在APPDesigner代码编辑框中编写代码,如代码量较大,会导致代码混乱的问题.使用调用函数的方法能够解决该问题. 本文将介绍MAT ...

  7. Cloud Native的设计哲学理念,kubernetes云生态操作系统

    本文作者:行癫 2015年的时候google就提出了云原生计算基金会(CNCF),最开始的时候我对于云原生的定义于以下几个方面:应用容器化,面向微服务架构,应用支持容器的调度.但是这种想法和定义在未来 ...

  8. 深度:从 Office 365 新图标来看微软背后的设计新理念

    开始表演 请关注我的公众号"寒树Office"来获取一些新鲜而有趣的新闻与知识,最近又有两家俱乐部上线了(东莞与长沙),俱乐部的活动告一段落,接下来的日子里我将持续与大家分享 Of ...

  9. 【QuartusⅡ设计的bdf文件调用Modelsim仿真的方法】

    前言 提示:通过QuartusⅡQuartusⅡQuartusⅡ软件调用ModelsimModelsimModelsim软件,仿真顶层设计原理图(.bdf)文件,即可验证所设计的原理图(.bdfbdf ...

最新文章

  1. 列举Python中常见的内置函数
  2. 网络学习(二十七)Windows XP 加入 Windows Server 2003 Active Directory
  3. IntelliJ IDEA for Mac的快速切换当前主题方案(Quick switch current scheme)
  4. 用户表如何区分普通用户和管理员_Gate.io 比特百科:什么是ETH 2.0及普通用户如何参与ETH 2.0质押挖矿...
  5. traceroute命令原理
  6. python 删除尾部0_python之List常见操作
  7. php关于apache配置,关于PHP和apache的配置
  8. ios时间相差多少天,获取ios中两个日期之间的天数?
  9. 2d头发_3D打印毛囊突破性进展!“头发工厂”将成秃顶的救星
  10. 对linux下loop设备的理解。
  11. linux 系统命令总结之ubuntu 系列命令 持续更新中~
  12. pc端分享到微信、微博、facebook、twitter
  13. 2021山师高考联考成绩查询,点击关注:2021五岳联考阅卷成绩查询入口
  14. Jetson TX2 学习笔记(2) —— 挂载外接硬盘与分区
  15. 奔走相告!2020阿里云618年中大促火爆来袭!
  16. 利用Web查询文件(.iqy)有效钓鱼
  17. R语言统计方法-我常用的
  18. “Microsoft Office Professional Plus 2010在安装中出错”解决办法
  19. 项目实训第一周2-学习系统的使用
  20. 通达信波段顶底指标公式,抓到真正顶底并且绝对精准可能吗?

热门文章

  1. HDU1203_I NEED A OFFER!【01背包】
  2. 详细解析ASP.NET中Request接收参数乱码原理
  3. Android中关于SQLite数据库的一些知识
  4. control.add()
  5. asp.net c#截取指定字符串函数
  6. 深入学习Redis高可用架构:哨兵原理及实践
  7. ORA-00904 的解决
  8. linux下将目录授权给其他用户的步骤
  9. No-PDO-Models-MySQL数据库层抽象类
  10. git常用基本简单命令