CN102662722A - 用于完全虚拟化的地址空间变换方法和设备 - Google Patents

用于完全虚拟化的地址空间变换方法和设备 Download PDF

Info

Publication number
CN102662722A
CN102662722A CN2011104368235A CN201110436823A CN102662722A CN 102662722 A CN102662722 A CN 102662722A CN 2011104368235 A CN2011104368235 A CN 2011104368235A CN 201110436823 A CN201110436823 A CN 201110436823A CN 102662722 A CN102662722 A CN 102662722A
Authority
CN
China
Prior art keywords
virtual machine
address space
virtual
page table
asid
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2011104368235A
Other languages
English (en)
Inventor
高广源
金康好
吴守哲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electronics and Telecommunications Research Institute ETRI
Original Assignee
Electronics and Telecommunications Research Institute ETRI
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Electronics and Telecommunications Research Institute ETRI filed Critical Electronics and Telecommunications Research Institute ETRI
Publication of CN102662722A publication Critical patent/CN102662722A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/109Address translation for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • G06F12/1475Key-lock mechanism in a virtual system, e.g. with translation means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一种用于完全虚拟化的虚拟机和虚拟机监视器的地址空间变换设备包括:向该虚拟机分配的虚拟机页表,使得该虚拟机具有第一虚拟地址空间;向该虚拟机监视器分配的虚拟机监视器页表,使得该虚拟机监视器具有与该第一虚拟地址空间分离的第二虚拟地址空间;MMU(存储管理单元),指示虚拟机页表和虚拟机监视器页表之一,该页表指示要对于虚拟机和虚拟机监视器之间的地址空间变换而改变的地址空间;和地址空间管理器,通过使用在该第一虚拟地址空间和该第二虚拟地址空间两者上反射的共享页面,来进行该地址空间变换。

Description

用于完全虚拟化的地址空间变换方法和设备
技术领域
本发明涉及用于完全虚拟化的地址空间变换方法和设备;并更具体地,涉及当使用不支持虚拟化的硬件对系统进行虚拟化时能够快速变换地址空间的、用于完全虚拟化的地址空间变换方法和设备。
背景技术
图1是用于解释具有软件基础的传统地址空间变换方法的图。
参考图1,传统地址空间变换方案将虚拟机10和虚拟机监视器20的地址空间分配到相同地址空间。这是因为虚拟机10和虚拟机监视器20之间的上下文变换次数、以及用于上下文变换的成本与虚拟化的系统的性能成比例。换言之,为了提升虚拟化的系统的性能,优选的是,使得虚拟机10和虚拟机监视器20之间的上下文变换次数以及用于上下文变换的成本最小化。
然而,尽管这样的基于软件的地址变换方法对于提升系统的性能是有效的,但是这引起虚拟机的地址空间压缩的问题。即,这促使虚拟机中操作的客户(guest)操作系统的内核应识别不可使用的硬件所提供的所有虚拟地址空间。
这样的基于软件的地址空间变换方法的问题可通过使用一般操作系统没有使用的0-4KB空间来解决。然而,这样的方案也引起以下问题,即,不可能使得虚拟机监视器具有各种功能,因为虚拟机的尺寸限于4KB。
图2是解释传统的基于硬件的地址空间变换方法的图。
图2中所示传统的基于硬件的地址空间变换方法主要使用硬件制造商所提供的虚拟化方案。根据该方法,地址空间压缩的问题可通过在操作时虚拟机30使用虚拟地址空间、而虚拟机监视器40使用物理地址空间来解决。
然而,这样的基于硬件的地址空间变换方法具有的问题在于,其必须使用支持虚拟化的硬件制造商所提供的硬件,并且其不能在使用ARM(高级RISC机器)计算架构的硬件中使用。
其间,在完全虚拟化方案中,虚拟机没有识别虚拟机监视器,并使用硬件所提供的所有地址空间。由于此,虚拟机监视器需要与虚拟机的地址空间不同的额外地址空间,并所以,提供附加地址空间用于虚拟机监视器。
然而,在这样的完全虚拟化方案中,在虚拟机和虚拟机监视器之间的上下文变换的情况下可发生开销。
发明内容
考虑到以上情况,本发明的目的在于提供一种能够解决地址空间压缩的问题、并且即使当使用诸如ARM计算架构的不支持虚拟化的硬件时也能够快速执行地址变换的、用于完全虚拟化的地址空间变换方法和设备。
根据本发明的第一方面,提供了一种用于完全虚拟化的虚拟机和虚拟机监视器的地址空间变换设备,该设备包括:
向该虚拟机分配的虚拟机页表,使得该虚拟机具有第一虚拟地址空间;
向该虚拟机监视器分配的虚拟机监视器页表,使得该虚拟机监视器具有与该第一虚拟地址空间分离的第二虚拟地址空间;
MMU(存储管理单元),指示虚拟机页表和虚拟机监视器页表之一,该页表指示要对于虚拟机和虚拟机监视器之间的地址空间变换而改变的地址空间;和
地址空间管理器,通过使用在该第一虚拟地址空间和该第二虚拟地址空间两者上反射的共享页面,来进行该地址空间变换。
根据本发明的第一方面,提供了一种用于完全虚拟化的虚拟机和虚拟机监视器的地址空间变换方法,该方法包括:
向该虚拟机提供虚拟机页表,使得该虚拟机具有第一虚拟地址空间;
向该虚拟机监视器提供虚拟机监视器页表,使得该虚拟机监视器具有与该第一虚拟地址空间分离的第二虚拟地址空间;
在MMU(存储管理单元)处指示虚拟机页表和虚拟机监视器页表之一,该页表指示要对于虚拟机和虚拟机监视器之间的地址空间变换而改变的地址空间;和
在地址空间管理器处通过使用在该第一虚拟地址空间和该第二虚拟地址空间两者上反射的共享页面,来进行地址空间变换。
附图说明
根据结合附图给出的实施例的以下描述,本发明的目的和特征将变得明显,其中:
图1是用于解释具有软件基础的传统的地址空间变换方法的图;
图2是解释传统的基于硬件的地址空间变换方法的图;
图3是示出了在根据本发明实施例的用于完全虚拟化的地址变换处理中使用的地址空间的图;和
图4是示出了在根据本发明实施例的用于完全虚拟化的地址变换处理中的ASID(地址空间标识符)分配关系的图。
具体实施方式
其后,将参考形成本发明一部分的附图来描述本发明的实施例。
图3是示出了在根据本发明实施例的用于完全虚拟化的地址变换处理中使用的地址空间的图。
如图3中所示,虚拟机110和虚拟机监视器120独立具有分离地址空间。为了使得虚拟机110和虚拟机监视器120独立具有分离地址空间,分别向虚拟机110和虚拟机监视器120分配分离页表,该分离页表被划分为虚拟机页表130和虚拟机监视器页表140。
作为用于地址空间变换的硬件组件的存储管理单元(MM)150选择性地指示代表要改变的地址空间的页表,并改变ASID(地址空间标识符)151中存储的值,以便进行地址空间的变换。这样的地址空间的变换通过地址空间管理器160的共享页面161进行,并且将该共享页面同时反射到两个地址空间。
当变换地址空间时,MM 150的ASID 151总计(come to)具有ASID值N作为缺省,该值由虚拟机监视器120使用。当ASID 151的值是MM 150的TLB(变换后备缓冲器(Translation Look-aside Buffer))153中存在的条目之中的N时,通过页表移动(page table walk)仅将TLB 153中存储的PTE(页表条目)用作有效的。换言之,如果在开始进入虚拟机监视器120的时候将MMU 150的ASID 151设置为N,则虚拟化系统的某一硬件在进行页表移动的时候,在MMU 150的TLB 153上写入其ASID为N的用于虚拟化监视器的PTE 141。其后,当从虚拟机110变换到虚拟机监视器120时,将不发生用于地址空间的变换的页表移动。所以,可使得成本最小化。虚拟机的ASID值N由地址空间管理器160的ASID管理器163保持,并且当进入虚拟机监视器120时虚拟机110所使用的ASID值M也被保持。当从虚拟机监视器120变换到虚拟机110时,将相反应用上面解释的处理。图4是示出了在根据本发明实施例的用于完全虚拟化的地址变换处理中的ASID(地址空间标识符)分配关系的图。详细来说,图4示出了虚拟机监视器120、客户操作系统内核170、和客户操作系统处理180之间的ASID分配关系。
一般来说,使用ASID的客户操作系统内核具有“全局”属性,并向客户操作系统处理分配ASID值用于每一应用。然而,根据本发明的实施例,向虚拟机监视器120分配一个ASID值。向虚拟机110分配从系统提供的ASID值之中的除了向虚拟机监视器120分配的ASID值之外的ASID值。换言之,向虚拟机110中操作的客户操作系统内核170分配全局属性,向虚拟机监视器120分配ASID值N,并且向在其他虚拟机中操作的客户操作系统处理180分配除了ASID N之外的ASID值(例如,ASID 0、ASID 1、ASID 2、......ASIDM)。例如,在ASID的管理中,可使用用于在完全虚拟化中提供特权(privileged)指令的一般方法。
如上面解释的,根据本发明的实施例,可能解决地址空间压缩的问题,并且即使当使用诸如ARM计算架构的不支持虚拟化的硬件时也可能快速执行地址变换。而且,可使得用于虚拟化的地址空间变换的成本最小化。
尽管已针对实施例而示出和描述了本发明,但是本领域技术人员将理解的是,可进行各种改变和修改,而不脱离以下权利要求所限定的本发明的范围。

Claims (10)

1.一种用于完全虚拟化的虚拟机和虚拟机监视器的地址空间变换设备,该设备包括:
向该虚拟机分配的虚拟机页表,使得该虚拟机具有第一虚拟地址空间;
向该虚拟机监视器分配的虚拟机监视器页表,使得该虚拟机监视器具有与该第一虚拟地址空间分离的第二虚拟地址空间;
MMU(存储管理单元),指示该虚拟机页表和该虚拟机监视器页表之一,该页表指示要对于该虚拟机和该虚拟机监视器之间的地址空间变换而改变的地址空间;和
地址空间管理器,通过使用在该第一虚拟地址空间和该第二虚拟地址空间两者上反射的共享页面,来进行地址空间变换。
2.根据权利要求1的设备,其中该MMU具有当执行地址空间变换时由虚拟机监视器使用的ASID(地址空间标识符)值。
3.根据权利要求2的设备,其中,当TLB(变换后备缓冲器)中存在的条目中的ASID值是虚拟机监视器所使用的ASID值时,该MMU通过页表移动仅将TLB中存储的PTE(页表条目)用作有效的。
4.根据权利要求2的设备,其中该地址空间管理器包括ASID管理器,用于保持在地址空间变换时的虚拟机的ASID值。
5.根据权利要求4的设备,其中该ASID管理器保持在地址空间变换时的虚拟机的ASID值。
6.一种用于完全虚拟化的虚拟机和虚拟机监视器的地址空间变换方法,该方法包括:
向该虚拟机提供虚拟机页表,使得该虚拟机具有第一虚拟地址空间;
向该虚拟机监视器提供虚拟机监视器页表,使得该虚拟机监视器具有与该第一虚拟地址空间分离的第二虚拟地址空间;
在MMU(存储管理单元)处指示虚拟机页表和虚拟机监视器页表之一,该页表指示要对于虚拟机和虚拟机监视器之间的地址空间变换而改变的地址空间;和
在地址空间管理器处通过使用在该第一虚拟地址空间和该第二虚拟地址空间两者上反射的共享页面,来进行地址空间变换。
7.根据权利要求6的方法,其中所述指示虚拟机页表和虚拟机监视器页表之一的步骤包括当执行地址空间变换时,提供虚拟机监视器所使用的ASID(地址空间标识符)值。
8.根据权利要求7的方法,其中当TLB(变换后备缓冲器)中存在的条目中的ASID值是虚拟机监视器所使用的ASID值时,该MMU通过页表移动仅将TLB中存储的PTE(页表条目)用作有效的。
9.根据权利要求6的方法,其中该地址空间管理器保持在执行地址空间变换时的虚拟机的ASID值。
10.根据权利要求9的方法,其中该ASID管理器保持在执行地址空间变换时的虚拟机的ASID值。
CN2011104368235A 2010-12-23 2011-12-23 用于完全虚拟化的地址空间变换方法和设备 Pending CN102662722A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2010-0133146 2010-12-23
KR1020100133146A KR20120071554A (ko) 2010-12-23 2010-12-23 완전가상화를 위한 주소공간 전환 방법 및 장치

Publications (1)

Publication Number Publication Date
CN102662722A true CN102662722A (zh) 2012-09-12

Family

ID=46706514

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011104368235A Pending CN102662722A (zh) 2010-12-23 2011-12-23 用于完全虚拟化的地址空间变换方法和设备

Country Status (2)

Country Link
KR (1) KR20120071554A (zh)
CN (1) CN102662722A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319760A (en) * 1991-06-28 1994-06-07 Digital Equipment Corporation Translation buffer for virtual machines with address space match
CN1149736A (zh) * 1995-06-05 1997-05-14 北京航空航天大学 一种分布式存储器共享管理方法
CN1345497A (zh) * 1999-10-01 2002-04-17 因弗拉沃克斯公司 提供数据安全性的系统和方法
CN1993683A (zh) * 2004-07-30 2007-07-04 英特尔公司 体系结构事件期间维持处理器资源
CN101107593A (zh) * 2005-01-28 2008-01-16 英特尔公司 支持虚拟机环境中的地址转换的方法及装置
CN101477496A (zh) * 2008-12-29 2009-07-08 北京航空航天大学 基于分布式内存虚拟化的numa结构的实现方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319760A (en) * 1991-06-28 1994-06-07 Digital Equipment Corporation Translation buffer for virtual machines with address space match
CN1149736A (zh) * 1995-06-05 1997-05-14 北京航空航天大学 一种分布式存储器共享管理方法
CN1345497A (zh) * 1999-10-01 2002-04-17 因弗拉沃克斯公司 提供数据安全性的系统和方法
CN1993683A (zh) * 2004-07-30 2007-07-04 英特尔公司 体系结构事件期间维持处理器资源
CN101107593A (zh) * 2005-01-28 2008-01-16 英特尔公司 支持虚拟机环境中的地址转换的方法及装置
CN101477496A (zh) * 2008-12-29 2009-07-08 北京航空航天大学 基于分布式内存虚拟化的numa结构的实现方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ANDREW S. TANENBAUM: "《现代操作系统》", 30 June 2005 *
郑纬民等: "《计算机系统结构》", 29 February 1992 *

Also Published As

Publication number Publication date
KR20120071554A (ko) 2012-07-03

Similar Documents

Publication Publication Date Title
US10133515B2 (en) Facilitating processing within computing environments supporting pageable guests
US8566563B2 (en) Translation table control
EP2548124B1 (en) Address mapping in virtualized processing system
US9665499B2 (en) System supporting multiple partitions with differing translation formats
KR101081907B1 (ko) 가상화 장치
US9330013B2 (en) Method of cloning data in a memory for a virtual machine, product of computer programs and computer system therewith
US20190155637A1 (en) Resource Access Method Applied to Computer and Computer
US7644407B2 (en) Method, apparatus and system for seamlessly sharing a graphics device amongst virtual machines
US20130074070A1 (en) Methods and apparatus for fast context switching in a virtualized system
CN102184142B (zh) 一种利用巨页映射降低cpu资源消耗的方法和装置
US20130117530A1 (en) Apparatus for translating virtual address space
JP2015503784A (ja) グラフィックス処理部における仮想マシン間の移行
WO2018176911A1 (zh) 一种虚拟磁盘文件格式转换方法和装置
US8117373B2 (en) VM host responding to initiation of a page swap by transferring pages from host-but-non-guest-addressable RAM to host-and-guest-addressable RAM
JP2007122305A (ja) 仮想計算機システム
KR101202154B1 (ko) 미디어 메모리 시스템
US8521919B2 (en) Direct memory access in a computing environment
KR20150097711A (ko) 어드레스 변환을 프로빙하는 처리 디바이스 및 방법
CN111316248A (zh) 促进对存储器局部域信息的访问
KR20230047191A (ko) 컴퓨터 디바이스, 이상 처리 방법 및 인터럽트 처리 방법
CN104036185A (zh) 基于虚拟化的宏内核操作系统载入模块权能隔离方法
CN102662722A (zh) 用于完全虚拟化的地址空间变换方法和设备
KR20120070326A (ko) 메모리 가상화 장치 및 방법
KR20150039377A (ko) 장치 가상화 방법 및 장치
US11009841B2 (en) Initialising control data for a device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120912

WD01 Invention patent application deemed withdrawn after publication