波佩克与戈德堡虚拟化需求

✍ dations ◷ 2025-09-12 15:40:10 #计算机科学,虚拟机

波佩克与戈德堡虚拟化需求(英语:Popek and Goldberg virtualization requirements)是一组充分条件,用于验证某一计算机体系结构可否被有效虚拟化。杰拉尔德·J·波佩克与罗伯特·P·戈德堡于1974年合作论文《可虚拟第三代架构的规范化条件(英语:Formal Requirements for Virtualizable Third Generation Architectures)》中提出。尽管这组条件基于简单化假设获得,但它们仍为判定一个计算机架构是否能够有效支持虚拟化提供了一个便利方法,也为设计可虚拟化计算机架构给出了指导原则。

系统虚拟机(system virtual machine)是指能够虚拟包括单或多处理器、内存、外存及周边设备在内之全体硬件资源的虚拟机。虚拟机监视器(virtual machine monitor,VMM)是一个软件,用于提供虚拟机的抽象(Abstraction)。当分析一个VMM所创造的环境时,有三点性质值得特别关注:

波佩克与戈德堡认为VMM应具备上述三个性质。今天来看,VMM通常被认为具备前两个性质即可。

波佩克与戈德堡描述了一台物理机为了能够运行具备以上性质之VMM,其指令集架构(Instruction Set Architecture,ISA)必须满足的特征。尽管这些分析使用所谓“第三代架构模型”(如IBM 360和DEC公司的PDP-10)得出相关特征,它们对于现在的计算机也是足够适用的。这个模型包括一个运行于系统或用户模式的CPU,并可以访问线形、统一化可编址内存。它还假设,指令集有一个子集只能运行于系统模式(内核态);内存通过一个重定位寄存器进行寻址。输入/输出和中断未被考虑。

为导出虚拟化需求,波佩克与戈德堡将ISA的全部指令分为三类。

波佩克与戈德堡的分析结果主要归纳如下:

定理1:对于任何传统的第三代计算机,只要其敏感指令是优先级指令的一个子集,就可以为其创建VMM。

直观地说,这条定理指出,欲构造一个VMM,其充分条件是所有可能影响VMM正常工作的指令(即敏感指令)能够自陷并将控制权移交给VMM。这就保证了资源控制;非特权指令则必须被本地(物理机)执行——也就是更有效率地执行。等价性也得到满足。

一个关联问题是递归虚拟化的ISA需求,即探讨在什么样的条件下可以创建一个能运行于自身拷贝上的VMM。波佩克与戈德堡指出,

定理2:一台传统第三代计算机是递归虚拟的,当

定理1所给出的条件可以通过牺牲第三条性质、效率性来放宽。因此,许多按波佩克与戈德堡之定义应归类为非可虚拟的ISA也有VMM。但是,虚拟这种体系结构意味着对一些关键指令,即敏感且非特权指令,必须作出正确处理。动态重编译中常用的补丁方法在这里得到运用:在运行时发现这样的指令,并以自陷到VMM来替换。

相关

  • 白蛋白尿白蛋白尿(Albuminuria)是一种病理状态,其中血清白蛋白是存在于尿中。它是蛋白尿的类型之一。尿液呈现浓厚的白色泡沫。蛋白质的量丢失在尿液里可以通过24小时尿液采集的量化
  • Logit模型罗吉斯回归(英语:Logistic regression,又译作对数几率回归、罗吉斯回归)是一种对数几率模型(英语:Logit model,又译作逻辑模型、评定模型、分类评定模型)是离散选择法模型之一,属于多
  • 埃文斯县埃文斯县(Evans County, Georgia)是美国乔治亚州东部的一个县。面积484平方公里。根据美国2000年人口普查,共有人口10,495人。县治克拉克斯顿 (Claxton)。成立于1914年8月11日
  • 腓力一世腓力一世(法语:Philippe Ier,1052年5月23日-1108年7月29日)卡佩王朝国王(1060年—1108年在位)。腓力一世为法兰克人的国王亨利一世之子,母为基辅大公雅罗斯拉夫一世·弗拉基米罗维奇
  • 甲壳类动物见内文甲壳亚门(学名:Crustacea)是由非常大的一组的节肢动物门形成的,通常被当作是一个亚门,包括常见的物种,例如螃蟹,虾,龙虾,淡水龙虾,磷虾,和藤壶等等。这些物种通过对非常不同的环
  • 铜的同位素铜(原子质量单位:63.546(3))共有36个同位素,其中有2个是稳定的。备注:画上#号的数据代表没有经过实验的证明,只是理论推测而已,而用括号括起来的代表数据不确定性。
  • 南斯拉夫战线同盟国: 南斯拉夫游击队轴心国: 纳粹德国 法西斯意大利 匈牙利王国(直至1944年) 保加利亚王国(直至1944年)轴心国傀儡政权: 克罗地亚独立国 塞尔维亚救国政府 黑山王国 斯洛文
  • 以色列公共广播公司以色列公共广播公司(希伯来语:.mw-parser-output .script-hebrew,.mw-parser-output .script-Hebr{font-size:1.15em;font-family:"Ezra SIL","Ezra SIL SR","Keter Aram Tsov
  • 鹿邑鹿邑县,是中国河南省周口市下辖的一个县,是河南省直管县之一,在社会和经济领域内由河南省政府直接领导。鹿邑是老子故里,国土面积1238平方公里,人口约120万。县政府驻真源办事处
  • 星形八面体在几何学中,星形八面体(英语:Stellated octahedron)是八面体中唯一的星形多面体,是一种二复合四面体,又称为八角星体(英语:stella octangula、拉丁语为eight-pointed star,意为八角星