zoukankan      html  css  js  c++  java
  • 系统虚拟机

    1.在一个系统虚拟机环境里,host平台上的真是硬件资源被guest虚拟机共享,硬件资源的分配和访问由软件层--虚拟监控程序(VMM)负责管理.

    2.VMM拥有真实的系统硬件资源,它会决定各个需要资源的虚拟机之间的访问调度策略:资源划分或者分时共享.

    3.host计算机和guest技术使用相同的ISA类型的虚拟机.

    4.VMM针对虚拟机的状态管理:

       @ 在一个虚拟机系统内,每个虚拟机都有他自己的Context 信息.比如寄存器信息.一个guest的寄存器状态可能会作为host的一块Memory保存.

       @ 间接方式:主机的Memory的固定位置保存每个guest的状态.使用VMM管理的指针来指出当前活跃的guest机状态.

       @ 直接方式:将当前活跃的guest机状态信息直接复制到主机存储结构的正常位置,而当另一个guest被激活时再将其copy.

    5.VMM必须保持对所有的硬件资源的全局控制.可以通过截获那些对特权资源的访问,从而实现对整体资源的控制.

       @针对tickout间隔计时器.VMM会自己首先处理,而不会让各个guest虚拟机内的操作系统去直接处理它.

       @其间,中断处理代码(Dispatcher)完成了包括1.save guest OS's Context. 2.决定下一个被激活的guest OS和加载下一个guest OS的Context.

       @针对用户模式遇到特权指令,必须由VMM截获和仿真它.

    6.@本地虚拟机.

       @用户模式host虚拟机系统.

       @双重模式host虚拟机系统.

    宿主虚拟机系统:将虚拟机安装在已运行的现有OS中的主机平台上.在该模式下,VMM利用host OS上的可用操作来控制和管理guest虚拟机需要的硬件资源.

    通过内核扩展,驱动技术.

    7.资源虚拟化---处理器

    @虚拟化处理器的关键在于客户机指令的执行,

    1.指令仿真

    2.Direct Native Execution.适用于host机和guest机的ISA一致的情况.

    当一条指令需要被仿真时,就会自然触发一个trap,而trap的Dispatcher会找到适当的解释程序,解释这条指令,然后将控制权返回.

    8.VMM处理特权指令分析:

    @Load PSW  (LPSW,IBM System/370):系统模式下,这条指令用户存储器中的一个双字加载处理器状态字.

    @Set CPU Timer:系统模式下,这条指令用于存储器某个位置的内容来设置CPU间隔计数器.

    @控制敏感指令. 试图改变系统资源配置的指令.

    @行为敏感指令的行为或者运行结果依赖于系统资源配置(POPF/LRA)

    @无害指令

    9.VMM的功能分为:调度器,分配器和一组解释程序.

    10.

    @递归虚拟机

    @处理问题指令

    @关键指令的修补:

      #发现关键指令的一种方法是VMM在每个客户基本块的首部取得控制权,然后循序扫描直到块的尾部,对于扫描中发现的关键指令则用一个到VMM的trap来替换.

      #同时在VMM辅助表里保存该条关键指令和它的原始地址.而另一个到VMM的trap操作则放置在块的尾部,使得VMM在块运行结束后重新获得控制权,以便对下一个块进行扫描和修补

    @高速缓存仿真代码.

  • 相关阅读:
    awk
    tac
    cat
    less
    more
    head
    vim
    linux安装redis
    Redis for Python开发手册
    Python3.x标准模块库目录
  • 原文地址:https://www.cnblogs.com/coltor/p/2189921.html
Copyright © 2011-2022 走看看