`
puroc
  • 浏览: 44947 次
  • 性别: Icon_minigender_1
  • 来自: 辽宁
社区版块
存档分类
最新评论

Linux hypervisor

阅读更多
摘自:http://www.ibm.com/developerworks/cn/linux/l-hypervisor/

hypervisor 的构成

hypervisor(不管是什么类型)仅是一个从其来宾操作系统抽象机器硬件的分层应用程序。通过这种方式,每个来宾操作系统看到的仅是一个 VM 而不是真实的硬件机器。我们大致看一下 hypervisor 的内部组成,以及它在 VM(来宾操作系统)上的表示。
在较高级别上,hypervisor 需要少量设施启动来宾操作系统:一个需要驱动的内核映像、一个配置(比如 IP 地址和所需的内存量)、一个磁盘盒一个网络设备。磁盘和网络设备通常映射到机器的物理磁盘和网络设备(如图 2 所示)。最后,需要使用一组来宾操作系统工具启动和管理来宾操作系统。

图 2. 在假设 hypervisor 中的最小资源映射


然后,一个简化的 hypervisor 架构实现最后的关键功能,从而使来宾操作系统可以和宿主操作系统同时运行。实现这个功能需要一些特定的要素,如图 3 所示。首先,类似于将用户空间应用程序和内核函数连接起来的系统调用,一个通常可用的虚拟化调用(hapercall,hypervisor 对操作系统进行的系统调用)层允许来宾系统向宿主操作系统发出请求。可以在内核中虚拟化 I/O,或通过来宾操作系统的代码支持它。故障必须由 hypervisor 亲自处理,从而解决实际的故障,或将虚拟设备故障发送给来宾操作系统。hypervisor 还必须处理在来宾操作系统内部发生的异常。(毕竟,来宾操作系统发生的错误仅会停止该系统,而不会影响 hypervisor 或其他来宾操作系统)。hypervisor 的核心要素之一是页映射器,它将硬件指向特定操作系统(来宾或 hypervisor)的页。最后,需要使用一个高级别的调度器在hypervisor和来宾操作系统之间传输控制。

图 3. 简化的基于 Linux 的hypervisor

分享到:
评论

相关推荐

    Linux hypervisor kernel module.zip

    Linux hypervisor kernel module.zip是一个与Linux内核相关的压缩文件,主要包含的是Linux环境下hypervisor(虚拟化)的内核模块。hypervisor是一种虚拟化技术,它允许在一个物理硬件系统上运行多个独立的操作系统...

    hyperv1_linux_module_vtx_linux_

    描述“Linux hypervisor kernel module”强调了这是一个内置于Linux内核中的组件,主要负责处理与虚拟化相关的任务。内核模块是可加载的代码块,可以根据需要插入或移除,这使得系统能够动态调整其功能,而不必重新...

    CentOS内核升级+KVM编译安装.pdf

    可以在编译和安装内核时,包含 Linux hypervisor 代码,以便支持 KVM 虚拟机管理程序。 12. PCI driver for virtio devices 可以在编译和安装内核时,包含 PCI driver for virtio devices,以便支持虚拟设备。 13...

    QNX Hypervisor FuSa training

    通过这些实例,参与者可以了解到虚拟化技术如何为不同级别的功能性安全要求提供支持,并强调了灵活设计的安全认证型hypervisor能够支持广泛虚拟化解决方案,从Linux、Android到RTOS(例如QNX)等。 培训材料还展示...

    Xen的相关学习资料 —— Hypervisor.pdf

    Dom0通常运行Linux操作系统,负责管理其他虚拟机(称为DomU)并与它们进行通信。 - **硬件接口和Xen超调用**:利用硬件接口和Xen提供的超调用来执行任务。 - **UNIX接口扩展**:除了标准UNIX接口之外,还提供了对...

    AUTOSAR与Linux -- 单芯片方案 -- 使用Hypervisor方案实现ECU原型

    现代汽车系统中复杂的电气和电子(E/E)系统部件的快速爆炸导致了复杂的车载系统设计,其中有50多个电子控制单元(ECU)节点。这些ECU通过各种通信网络相互连接,实现各种功能,运行超过百万行代码。...

    KVM/ARM: The Design and Implementation of the Linux ARM Hypervisor

    ### KVM/ARM:Linux ARM 虚拟机监控程序的设计与实现 #### 概述 随着ARM(Advanced RISC Machines)处理器在移动设备及服务器领域应用的不断普及,为ARM架构提供虚拟化技术的需求日益增长。本文档介绍了KVM/ARM——...

    linux 虚拟化之rhev Hypervisor 安装.docx

    Linux虚拟化技术是一种高效利用硬件资源的方法,其中RHEV(Red Hat Enterprise Virtualization)Hypervisor是一个专门设计用于创建和管理虚拟机的轻量级操作系统。本文将详细介绍如何安装RHEV Hypervisor。 首先,...

    fsl_hypervisor.rar_hypervisor

    ioctl是Linux系统中用于设备驱动程序的一种特殊函数调用,它允许应用程序对设备进行复杂控制,而不只是简单的读写操作。在Freescale hypervisor的上下文中,ioctl用于在用户空间应用程序与内核中的hypervisor模块...

    jailhouse-master_hypervisor_

    Jailhouse,由西门子开发并维护,是一款非常精简且高效的开源类型2 hypervisor,它以Linux内核为基础,为嵌入式系统提供了硬分区的虚拟化解决方案。标题中的"jailhouse-master_hypervisor_"正是指这个项目的主分支,...

    Openstack Nova实现与Hypervisor对接.docx

    ### OpenStack Nova与Hypervisor对接的技术方案 #### 一、OpenStack与Nova模块概述 OpenStack是一个开源的云计算管理平台项目,旨在为公有云和私有云提供可扩展的弹性计算服务。随着云计算的发展,OpenStack已经...

    vSphere_Hypervisor_与_Hyper-V、Xen_Server_之间的比较

    Citrix XenServer基于Linux的Dom0管理分区,其磁盘占用约为1.8GB。XenServer的驱动程序相对通用,但这也意味着其对硬件优化的程度不如vSphere Hypervisor。XenServer虽提供半虚拟化技术,但在I/O性能和扩展性方面,...

    基于Linux内核的Jailhouse虚拟化分区hypervisor设计源码

    该项目是一款基于Linux内核的Jailhouse虚拟化分区hypervisor设计源码,包含527个文件,涵盖261个C语言源文件、124个头文件、36个设备树文件、15个Makefile文件、15个Shell脚本文件、10个文本文件、6个Python脚本文件...

    p4080ds uboot & linux

    标题“p4080ds uboot & linux”和描述“freescale p4080ds相关资料,包含uboot, hypervisor, linux, LWE”指出了文档内容主要涉及Freescale公司的P4080DS平台的u-boot和Linux操作系统相关的知识。Freescale P4080DS...

    hypervisor:用C ++编写的轻量级hypervisor SDK,支持Windows,Linux和UEFI

    本文将深入探讨一个名为“hypervisor”的轻量级hypervisor SDK,该SDK是用C++编写的,具有跨平台兼容性,支持Windows、Linux以及UEFI环境。通过这个SDK,开发者可以更方便地构建自己的虚拟化解决方案。 首先,我们...

    嵌入式实时Hypervisor:XtratuM

    - **移植至不同Linux内核**:为了增强XtratuM Hypervisor的兼容性,研究者将其移植到了多种版本的Linux内核上,包括最新的2.6.24.4版本。这一过程涉及到对中断管理、Hypercall、任务管理等核心模块的优化和调整。 - ...

    发现Linux KVM.pdf

    "发现Linux KVM.pdf" 本文档主要介绍了Linux KVM的知识点,包括KVM的定义、虚拟化概念、完全虚拟化、准虚拟化、KVM的系统结构、KVM与Linux内核的关系等。 KVM的定义 KVM(Kernel-based Virtual Machine)是传统的...

Global site tag (gtag.js) - Google Analytics