CN101826030A - 解决虚拟机监控器和客户操作系统间地址空间冲突的方法 - Google Patents
解决虚拟机监控器和客户操作系统间地址空间冲突的方法 Download PDFInfo
- Publication number
- CN101826030A CN101826030A CN201010149539A CN201010149539A CN101826030A CN 101826030 A CN101826030 A CN 101826030A CN 201010149539 A CN201010149539 A CN 201010149539A CN 201010149539 A CN201010149539 A CN 201010149539A CN 101826030 A CN101826030 A CN 101826030A
- Authority
- CN
- China
- Prior art keywords
- vmm
- address space
- operating system
- client operating
- trap
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
Abstract
在一个实施例中,一种用于解决地址空间冲突的方法包含:检测一个客户操作系统试图访问由一个虚拟机监控器的一个第一部分占据的一个区域,以及在该第一地址空间中重新定位该虚拟机监控器的第一部分以允许客户操作系统访问先前由该虚拟机监控器的第一部分占据的区域。
Description
本申请是申请日为2001年12月20日、申请号为01822837.2、发明名称为“用于解决在一个虚拟机监控器和一个客户操作系统之间的地址空间冲突的方法”的发明专利申请的分案申请。
技术领域
本发明通常涉及虚拟机,更具体地说涉及解决在一个虚拟机监控器和一个客户操作系统之间的地址空间冲突。
背景技术
传统的虚拟机监控器(VMM)通常运行在一台计算机上并且向其它软件给出一个或多个虚拟机抽象。每个虚拟机可以起一个自给平台的作用,其运行它自己的“客户操作系统”(即,一个由VMM作主的操作系统)。客户操作系统期望就好像它正运行在一台专用计算机而不是一个虚拟机上那样进行操作。即,客户操作系统期望控制各种计算机操作并且在这些操作期间对计算机物理存储器和存储器映射的I/O设备具有不受限制的访问。然而,在一个虚拟机环境中,VMM应当能够具有对计算机资源的最终控制以提供对虚拟机以及在虚拟机之间的保护。为了实现这个,VMM一般截取和判优所有由客户操作系统进行的、对计算机资源的访问。
利用现有的处理器(例如,IA-32微处理器),VMM不能截取客户操作系统对硬件资源的访问,除非该VMM代码和/或数据结构的一部分位于和客户操作系统相同的虚拟地址空间中。然而,客户操作系统不期望VMM代码和/或数据结构驻留在客户操作系统的地址空间中并且能够试图访问由该VMM在这个地址空间中占有的一个区域,这会导致在该客户操作系统和VMM之间的地址空间冲突。这个冲突可能导致由VMM或者客户操作系统执行的操作的异常终结。
因此,需要一种将检测和解决在一个VMM和一个客户操作系统之间的地址空间冲突的机制。
附图说明
本发明在附图的图表中通过示例进行说明但不局限于此,其中类似的参考数字涉及类似的单元,附图包含:
图1说明了一个虚拟机环境的一个实施例;
图2是依据本发明的一个实施例、一个用于解决在一个虚拟机监控器和一个客户操作系统之间地址空间冲突的系统的一个框图;
图3是依据本发明的一个实施例、一种用于解决在一个虚拟机监控器和一个客户操作方法之间的地址空间冲突的方法的一个流程图;
图4是依据本发明的一个实施例、一种用于重定位在一个虚拟机地址空间内的虚拟机内核的方法的一个流程图;
图5说明了依据本发明的一个实施例、一个支持客户去特权的虚拟机内核的操作;
图6是依据本发明的一个实施例、一种用于处理由一个客户操作系统产生的虚拟化陷阱的方法的一个流程图;以及
图7是一个处理系统实施例的一个框图。
实施例描述
描述了一种用于分解地址空间冲突的方法和装置。在下面的描述中,阐述了许多细节,诸如在组件之间距离、制模类型、等等。然而,对于在本领域的技术人员来说,显然可以实践本发明而不用这些具体的细节。在其它实例中,以框图形式而不是详细地显示了众所周知的结构和设备,以避免弄模糊本发明。
在下面描述中,为了说明起见,阐述了许多具体的细节以便提供对本发明的一个彻底了解。然而,对于在本领域的技术人员来说,显然能够实践本发明而不用这些具体的细节。
随后的某些部分详细说明依据在一个计算机存储器中的数据位上的操作的算法和符号表示给出。这些算法描述和表示是由在数据处理领域的哪些技术人员使用来最有效地把他们的工作实质传达给在本领域其它人员的装置。在这儿的一个算法,通常被认为是一个导致一个期望结果的、有条理的步骤序列(self-consistent sequence ofsteps)。这些步骤是那些需要物理量的物理操作的步骤。通常,虽然不是必要的,这些量采取电的或者磁的、能够被存储、传送、组合、比较、以及否则被操作的信号的形式。有时已经便利地证明,主要是由于公共用途的原因,把这些信号称为位、值、元素、符号、字符、项、数字、等等。
然而应当意识到:所有这些和类似的项与适当的物理量有关而且仅仅是应用于这些量的适当标记。除非另有具体地如从下面讨论中那样明显的说明要理解在整个本发明中,使用诸如“处理”或者“计算”或者“计算”或者“确定”或者“显示”等等的术语的讨论可能涉及一个计算机系统、或者类似电子计算设备的动作和处理过程,这些计算机系统或者计算设备把被表示为在该计算机系统的寄存器和存储器中的物理(电子)量的数据操作和转换成为被类似地表示为在计算机系统存储器或者寄存器或者其他这样的信息存储器、传输或者显示设备中的物理量的其它数据。
本发明还涉及用于执行在此的操作的装置。这个装置可以为所要求的目的特别构造,或者它可以包含一台有选择地由保存在计算机中的一个计算机程序激活或者重新配置的通用计算机。这样的一个计算机程序可能保存在一个计算机可读存储介质中、这些存储介质诸如,但不局限于,包含软盘、光盘、CD-ROM、和磁性光盘的任何类型磁盘、只读存储器(ROM)、随机访问存储器(RAM)、EPROM、EEPROM、磁或者光卡、或者任何类型适合于存储电子指令的介质,这些中的每一个都和一条计算机系统总线耦合。指令可使用一个或多个处理设备(例如,处理器、中央处理单元、等等)执行。
在此给出的算法和显示不是内在地与任何特定的计算机或者其它装置相关。可以和依据在此的示教的程序一起使用各种通用的机器,或者它可以证明构造一个更专用的装置以执行所要求的方法步骤是方便的。将从在下面的描述中发现用于各种这些机器的所需要的结构。此外,本发明不参考任何特定编程语言加以描述。将要理解:各种编程语言可以用来实现在此描述的本发明示教。
在下面实施例的详细说明中参考附图,附图通过例子说明了可以实施本发明的具体实施例。在附图中,遍及几个视图,类似的数字实质上描述了类似的组件。足够详细地描述了这些实施例,以便本领域的那些技术人员能实施本发明。可以使用其它的实施例以及可以进行结构、逻辑、和电的变化而没有背离本发明的范围。此外,将要理解:本发明的各种实施例,虽然是不同的,但不是必须是互斥的。例如,在一个实施例中描述的一个特定属性、结构、或者特征可以包含在其它实施例中。以下详细说明,因此,不以一个有限的观念被采用,而且本发明的范围仅仅由附加权利要求以及这样的权利要求的等同物的全部范围所定义。
本发明中的方法和装置提供了一种用于解决在一个客户操作系统和一个虚拟机监控器(VMM)之间的地址空间冲突的机制。图1说明了一个其中本发明可以进行操作的虚拟机环境100的一个实施例。在这个实施例中,裸平台硬件116包含一个计算平台,其可以能够,例如,执行一个标准操作系统(OS)或者一个诸如VMM 112的虚拟机监控器(VMM)。VMM,虽然一般地以软件形式实现,可以向一个高层软件导出一个诸如一个模拟的裸机接口。这样的高层软件可能包含一个标准或者实时OS,虽然本发明在这方面不局限于这个范围,而且,例如做为选择,一个VMM可以在另一个VMM中,或者在另一个VMM之上运行。VMM和它们的典型特征和功能对于在本领域的那样技术人员是众所周知的,而且可以例如以软件、固件或者各种技术的一个组合的形式实现。
如上所述,VMM向其它软件(即,“客户”软件)给出一个或多个虚拟机(VM)的抽象。图1中显示了两个VM,102和114每个VM包含一个诸如客户OS 104或者106的客户OS以及各种客户软件应用108-110。每一个客户OS 104和106都期望控制对在客户OS 104或者106在其上运行的硬件平台中的物理资源(例如,存储器和存储器映射的I/O设备)的访问,以及执行其它的功能。然而,在一个虚拟机环境中,VMM 112应当能够具有对物理资源的最终控制以提供对VM 102和114以及在VM 102和114之间的保护。VMM 112通过截取客户OS 104和106对计算机物理资源的所有访问来实现这个目的。例如,一个客户去优先级技术可以用来允许VMM 112截取上述的访问。客户去优先级迫使所有的客户软件在一个不允许软件访问某些硬件资源的硬件特权级别处运行。结果,每当客户OS 104或者106试图访问任何硬件资源时,它被“陷入”到VMM 112中,即,如果一个由客户操作系统发起的操作涉及访问这样的硬件资源的话,则VMM 112接收对这个操作的控制。应当注意到:任何在本技术领域中已知的其它技术可以用来把对一个类似操作的控制从该客户OS 104或者106转移到VMM 112。
当使用允许VMM 112截取客户OS 104和106对计算机物理资源的访问的客户去特权(deprivileging)或者其它技术时,一部分VMM代码和/或数据结构可以在结构上被要求驻留在和每一个客户OS104和106相同的虚拟地址空间中。然而,因为客户OS 104和106不知道VMM的存在,它们可以试图访问在与该客户OS 104或者106有关的虚拟地址空间中、由VMM代码和/或数据结构占据的一个区域。这样一个尝试可能导致在客户OS中的代码和数据结构和在该虚拟地址空间中的VMM代码和数据结构之间的冲突,这导致由客户OS104或者106、或者VMM 112执行的一个操作的异常终结。本发明提供了一个用于解决这样的地址空间冲突的机制。
图2是依据本发明的一个实施例、一个用于解决在一个VMM和一个客户OS之间地址空间冲突的系统200的一个框图。系统200包含裸平台硬件214,其包含一个能够执行一个客户OS(例如,客户OS 104或者106)、一个VMM(例如,VMM 112)、等等的计算平台。为客户软件和VMM分配两个单独的地址空间204和202。即,VM地址空间204被分配来保持客户OS及其它客户软件的代码和数据结构,以及VMM地址空间202被分配用于VMM代码和数据结构。
如上所述,VMM code和/或数据结构中的某些组件可以在结构上被要求驻留在和客户OS相同的地址空间中,以允许VMM截取客户OS对硬件资源的访问。例如,对于IA-32指令系统结构(ISA),当客户去特权被用来确保VMM对客户OS访问硬件资源的控制时,一个包含指向陷阱处理例程的指针的中断描述符表(IDT)在结构上被要驻留在和客户OS相同的地址空间中。将在下面结合图5和6更详细地描述支持客户去特权的本发明的一个实施例。对于其它ISA,VMM代码和/或数据结构的各种其它部分可以在结构上被要求驻留在和客户OS相同的空间地址中,以允许VMM控制客户OS对硬件资源进行的访问。
在一个实施例中,VMM代码和结构被分成两个部分。VMM的第一部分包含一组被要求驻留在客户OS的地址空间,即VM地址空间204中的代码和/或数据结构。VMM的第二部分包含其余的VMM代码和数据结构。在一个实施例中,一个软件程序(被称为虚拟机内核210)收集被要求位于在和客户OS相同的地址空间中的VMM代码和/或数据结构的一个最小集合。其余的VMM代码和数据结构被编译为一个单独的程序并且位于VMM地址空间202中。虚拟机内核(VMK)210然后把它自己映射成为VM地址空间204和VMM地址空间202。
随后,当客户OS试图访问在VM地址空间204中、由VMM代码和/或数据结构占据的一个区域时,VMK 210检测到客户OS的这个尝试。在一个实施例中,如果一个由客户OS发起的事件可能导致在客户OS和VMM之间的一个地址空间冲突的话,VMK 210接收对这个事件的控制。客户去特权或者在本技术领域已知的任何其它硬件或者软件机制可以用来把对这样一个事件的控制从客户OS转移到驻留在VM地址空间204中的VMM代码和/或数据结构。
VMK 210然后计算这个事件以确定它的原因。当检测到该事件是由客户OS试图访问由VMM代码和/或数据结构占据的区域所引起的时,该VMK 210把它自己重新映射到在VM地址空间204中的一个不同区域以允许客户OS访问先前由VMK 210使用的区域。一种用于在VM地址空间204内重定位VMK 210的方法的一个实施例在下面结合图4进行了更详细的描述。
图3是依据本发明的一个实施例、一个用于解决在一个VMM和一个客户OS之间地址空间冲突的方法300的一个实施例的流程图。方法300以把VMM划分成为第一部分和第二部分开始(处理块304)。如上所述,第一部分包含一组在结构上被要求驻留在和客户OS相同的地址空间中的VMM代码和/或数据结构。VMM的第二部分包含其余的VMM代码和数据结构。在一个实施例(在下面更详细描述)中,VMM的第一部分包含一组陷阱处理程序和一个中断描述符表(IDT)。在替换的实施例中,第一部分包含必须驻留在和客户OS相同的地址空间中的、VMM的各种其它数据结构和代码。
接下来,创建一个第一地址空间(即,VM地址空间204)来保持客户OS及其它客户软件的代码和数据结构(处理块306),以及创建用于VMM代码和数据结构的一个第二地址空间(即,VMM地址空间202)(处理块308)。在一个实施例中,在引导处理过程期间创建这些地址空间。
此外,VMM的第一部分被映射到VM地址空间和VMM地址空间中(处理块310),以及VMM的第二部分被载入到VMM地址空间中(处理块312)。
在处理块314处,检测到客户OS试图访问由VMM的第一部分占据的一个区域。在一个实施例中,如果由客户OS发起的一个事件可能导致在客户操作系统和VMM之间的一个地址空间冲突的话,通过把对这个事件的控制转移到VMM的第一部分来检测这样一个试图。在下面结合图5和6更详细地描述检测一个可能的地址空间冲突的一个实施例。
此后,在处理块316处,VMM的第一部分被重定位到在该VM地址空间中的另一个区域,以允许客户OS对先前由VMM第一部分占据的区域的访问。任何后续的试图对由VMM第一部分占据的新区域的访问将再次导致它在VM地址空间内的重新定位。在图4中显示了一种用于重定位一个包含VMM第一部分的VMK的方法的一个实施例。
参见图4,在检测到在客户OS和VMM之间的一个地址空间冲突之后(处理块404),为一个未使用的区域搜索该VM地址空间(处理块406)。在判定框408处,进行有关一个未使用的区域是否存在于VM地址空间中的确定。如果该确定是肯定的,则包含VMM代码和数据结构第一部分的VMK被重新映射到这个未使用的区域中,而且控制被转移回到客户OS,其现在可以访问先前由VMK使用的区域。
做为选择,如果在VM地址空间中不存在未使用的区域,即客户OS已经使用了整个VM地址空间的话,则在该VM地址空间内选择一个随机区域(处理块412),位于被选定区域处的存储器内容被复制到在VMM地址空间中的一个缓存器(处理块414),而且VMK被重新映射到在VM地址空间中的选定区域中(处理块416)。由在包含新VMK区域的原有内容的VMM地址空间中的缓存器通过模拟的存储器访问来服务对这个选定区域(即,新的VMK区域)的后续存储器访问。在一个实施例中,通过定期地把VMK重定位到在VM地址空间内的随机区域直到发现一个很少被使用的区域为止,来减少这样的模拟存储器引用的频率。
图5说明了依据本发明的一个实施例、一个支持客户去特权的VMK的操作。如上所述,客户去特权导致客户OS在一个较低特权级别处运行,以便每当客户OS试图发布有关该处理器系统状态的操作的特许指令时,它被“陷入”到VMM中。在一个实施例中,支持客户去特权的VMM在中断描述符表(IDT)514中安置指向陷阱处理例程(即,陷阱处理程序552)的指针。某些ISA(例如,IA-32 ISA)要求IDT 514驻留在当前活动的虚拟地址空间(即,VM地址空间504)中。在一个实施例中,在IDT 514中的入口(entry)是任务门,其提供了一个地址空间切换。即,当产生一个陷阱时,为一个指向陷阱处理例程的指针搜索IDT 514。如果这个指针是一个任务门,它将允许一个到VMM地址空间的直接切换,该VMM地址空间包含用于产生陷阱的一个陷阱处理例程。因此,虽然任务门它自己必须驻留在该VM地址空间中,一个对应于任务门的陷阱处理程序不必要驻留在VM地址空间中。在另一个实施例中,在IDT 514中的入口是陷阱门或者中断门,其不提供地址空间切换。因此,与这样的IDT入口有关的陷阱处理程序必须驻留在VM地址空间中。此外,VMM可以在VM地址空间中放置其它数据结构(例如,总体描述符表)的阴影版本。
在一个实施例中,VMK 510收集必须位于VM地址空间中的陷阱处理程序和/或数据结构(例如,IDT 514)的一个最小集合在一起,把它们映射成为VM地址空间504和VMM地址空间502,并且把保持VMK 510的页的访问权限设置为最特权的级别(例如,对于IA-32微处理器,具有环=0的“超级用户”特权级别)。如上所述,客户OS运行在去特权模式中(例如,对于IA-32微处理器,具有环=3的“用户”模式)。结果,在一个实施例中,每当客户OS试图访问有特权的机器资源时,客户OS产生虚拟化陷阱,有特权的机器资源包括保持用最高特权访问权限保护的VMK 510的页。
在一个实施例中,当产生一个虚拟化陷阱时,为一个指向陷阱处理程序的相应指针搜索IDT 514。在一个实施例中,陷阱可以需要由VMM驻留陷阱处理程序处理。在这个实施例中,VMK执行两个地址空间切换---一个把该陷阱传送到在VMM地址空间502中的陷阱处理程序的切换,以及一个在该陷阱已经由VMM驻留的陷阱处理程序服务之后转换回到VM地址空间504的第二切换。
做为选择,能够在一个VMK驻留处理程序中处理一个陷阱。例如,一个陷阱可以由客户OS中的一条指令引起以复位在该处理器的寄存器中的一个标记。这样的一个陷阱能够完全在陷阱处理程序552中处理,而不用把控制转移到在VMM地址空间502中的VMM,而且这样一个实现将导致更好的性能。
一种类型的虚拟化陷阱是当客户OS试图访问当前由VMK 510使用的VM地址空间504中的一个区域时产生的一个冲突错误。如上面结合图4更详细地描述的那样,VMK 510通过把它自己重新映射到在该VM地址空间504中的一个新区域中来处理这些冲突错误。
图6是依据本发明的一个实施例、一种用于处理由一个客户OS产生的虚拟化陷阱的方法600的一个流程图。方法600以把由VMK占据的区域的访问权限设置为一个比和该客户OS有关的特权级别更高的特权级别开始(处理块604)。例如,所有VMK页可以用仅仅是超级用户的特权(环=0)进行映射,而客户OS可以被设置为运行在一个去特权的用户状态(环=3)中。
在处理块606处,由客户OS产生的一个陷阱被接收了。该陷阱由客户OS试图访问特权的硬件资源引起。在判定框608处,进行有关该陷阱是否能够由VMK内部处理(例如,在一个VMK驻留的陷阱处理程序中)的确定。如果该陷阱太复杂以致不能由VMK处理,它被转交到VMM地址空间(例如,被转交给VMM驻留的陷阱处理程序)(处理块610),然后在该陷阱已经由VMM服务之后继续回到VM地址空间(处理块612)。此后,对引起该陷阱的事件的控制返回到客户OS(处理块620)。
做为选择,如果陷阱由VMK内部处理,则做出有关该陷阱是否由在VMK代码和数据结构和客户OS的代码和数据结构之间的一个地址空间冲突引起的一个确定(判定框614)。如果该陷阱实际上是由一个地址空间冲突所引起,则VMK代码和数据结构被重定位到在该VM地址空间中的一个新区域(处理块618)。做为选择,在一个相应陷阱处理程序中处理该陷阱(处理块616)。此后,对引起该陷阱的事件的控制返回到客户OS(处理块620)。
图7是一个处理系统实施例的一个框图。处理系统700包含处理器720和存储器730。处理器720能够是能够执行软件的任何类型处理器,诸如微处理器、数字信号处理器、微控制器、等等。处理系统700能够是一台个人计算机(PC)、大型机、手持设备、便携式计算机、机顶盒、或者任何其它包含软件的系统。
存储器730能够是一个硬盘、软盘、随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器、或者任何其它类别可由处理器720读取的机器介质。存储器730能够存储用于执行本发明各种方法实施例实现的指令,诸如方法300、400和600(图3、4和6)。
将要理解:以上描述是用于说明性的,而不是限制。依据以上描述的读取和理解,许多其它的实施例对于本领域那些技术人员是显而易见的。本发明的范围,因此应当参考附加的权利要求,以及这样的权利要求的等同物的全部范围,来进行确定。
Claims (30)
1.一种方法,包含:
检测客户操作系统试图访问在第一地址空间内、由虚拟机监控器(VMM)的第一部分占据的区域;以及
在第一地址空间内重定位VMM的第一部分以允许客户操作系统访问先前由VMM的第一部分占据的区域。
2.如权利要求1所述的方法,其特征在于:VMM的第一部分包含一组在结构上要求驻留在第一地址空间中的VMM代码和数据结构。
3.如权利要求1所述的方法,其特征在于:VMM的第一部分包含一组陷阱处理程序和中断描述符表(IDT)。
4.如权利要求1所述的方法,进一步包含:
把VMM划分成为第一部分和第二部分;
创建与客户操作系统有关的第一地址空间;
创建与VMM有关的第二地址空间;
在与VMM有关的第二地址空间中定位VMM的第二部分;以及
把该VMM的第一部分映射到第一地址空间和第二地址空间中。
5.如权利要求1所述的方法,进一步包含:
当由客户操作系统发起的事件可能引起在客户操作系统和VMM之间的地址空间冲突时,接收对该事件的控制。
6.如权利要求5所述的方法,其特征在于:接收控制进一步包含:
把由VMM第一部分占据的部分的访问权限设置为比与客户操作系统有关的特权级别更高的特权级别;以及
接收由客户操作系统试图访问具有比与该客户操作系统有关的特权级别更高的特权级别的硬件资源所引起的陷阱。
7.如权利要求6所述的方法,进一步包含:
确定该陷阱能够由VMM的第一部分处理;
执行与该陷阱有关的代码;以及
返回对该事件的控制到客户操作系统。
8.如权利要求6所述的方法,进一步包含:
确定该陷阱应当由VMM的第二部分处理;
把该陷阱传送到VMM的第二部分;
在与该陷阱有关的代码由VMM的第二部分执行了之后把对该事件的控制传递到客户操作系统。
9.如权利要求1所述的方法,其特征在于:重定位VMM的第一部分进一步包含:
在第一地址空间内查找未使用的区域;以及
把该VMM的第一部分重新映射到该未使用的区域中。
10.如权利要求1所述的方法,其特征在于:重定位VMM的第一部分进一步包含:
确定在该第一地址空间中没有未使用的区域存在;
在第一地址空间内选择随机区域;
复制位于该随机区域处的存储器的内容到第二地址空间;以及
把该VMM的第一部分重新映射到该随机区域中。
11.如权利要求10所述的方法,进一步包含:
接收对由客户操作系统发起的事件的控制,该事件对应于客户操作系统试图访问先前位于该随机区域处的存储器的内容;以及
访问在第二地址空间中的、复制的存储器内容。
12.如权利要求11所述的方法,进一步包含周期性地把该VMM第一部分重定位到在第一地址空间内的随机区域,直到找到很少被访问的区域为止。
13.一种装置,包含:
与客户操作系统有关的第一地址空间;
与虚拟机监控器(VMM)有关的第二地址空间;以及
虚拟机内核,用于检测客户操作系统试图对在第一地址空间内、由VMM第一部分占据的区域的访问,以及在第一地址空间内重定位该VMM的第一部分以允许客户操作系统访问先前由VMM第一部分占据的区域。
14.如权利要求13所述的装置,其特征在于:VMM的第一部分包含一组在结构上要求驻留在第一地址空间中的VMM代码和数据结构。
15.如权利要求13所述的装置,其特征在于:VMM的第一部分包含一组陷阱处理程序和中断描述符表(IDT)。
16.如权利要求13所述的装置,其特征在于:虚拟机内核把VMM划分成为第一部分和第二部分,把VMM的第二部分定位在与该VMM有关的第二地址空间中,以及把VMM的第一部分映射到第一地址空间和第二地址空间中。
17.如权利要求13所述的装置,其特征在于:当由客户操作系统发起的事件可能引起在客户操作系统和VMM之间的地址空间冲突时,虚拟机内核将接收对该事件的控制。
18.如权利要求13所述的装置,其特征在于:虚拟机内核通过把由VMM第一部分占据的部分的访问权限设置为比与该客户操作系统有关的特权级别更高的特权级别,以及通过接收由客户操作系统试图访问具有比与该客户操作系统有关的特权级别更高的特权级别的硬件资源所引起的陷阱,来接收控制。
19.如权利要求18所述的装置,其特征在于:虚拟机内核将进一步决定该陷阱能够由VMM的第一部分处理,执行与该陷阱有关的代码,以及返回对该事件的控制到客户操作系统。
20.如权利要求18所述的装置,其特征在于:该虚拟机内核将进一步确定该陷阱应当由VMM的第二部分处理、把该陷阱传递到VMM的第二部分、以及在与该陷阱有关的代码由VMM的第二部分执行了之后把对该事件的控制传递到该客户操作系统。
21.如权利要求13所述的装置,其特征在于:该虚拟机内核将通过在第一地址空间内查找未使用的区域以及把该VMM第一部分重新映射到未使用的区域中来重定位VMM的第一部分。
22.如权利要求13所述的装置,其特征在于:该虚拟机内核将通过确定在该第一地址空间中没有未使用的区域存在、在该第一地址空间内选择随机区域、复制位于该随机区域处的存储器的内容到第二地址空间中、以及把该VMM第一部分重新映射到该随机区域中来重定位VMM的第一部分。
23.如权利要求13所述的装置,其特征在于:该虚拟机内核将接收对由客户操作系统发起的事件的控制,其中该事件对应于客户操作系统试图访问先前位于该随机区域处的存储器的内容,以及访问在第二地址空间中的、复制的存储器内容。
24.如权利要求13所述的装置,其特征在于:该虚拟机内核将周期性地把该VMM第一部分重定位到在第一地址空间内的随机区域,直到找到很少被访问的区域为止。
25.一种系统,包含:
包含与客户操作系统有关的第一地址空间和与虚拟机监控器(VMM)有关的第二地址空间的存储器;以及
与该存储器耦合的处理器,用于检测客户操作系统试图对在第一地址空间内、由VMM第一部分占据的区域的访问,以及在第一地址空间内重定位该VMM的第一部分以允许客户操作系统访问先前由VMM第一部分占据的区域。
26.如权利要求25所述的系统,其特征在于:VMM的第一部分包含一组在结构上要求驻留在第一地址空间中的VMM代码和数据结构。
27.如权利要求25所述的系统,其特征在于:VMM的第一部分包含一组陷阱处理程序和中断描述符表(IDT)。
28.一种提供指令的计算机可读介质,当这些指令在处理器上执行时,导致所述处理器执行以下操作:
检测客户操作系统试图访问在第一地址空间内、由虚拟机监控器(VMM)的第一部分占据的区域;以及
在第一地址空间内重定位VMM的第一部分以允许客户操作系统访问先前由VMM的第一部分占据的区域。
29.如权利要求28所述的计算机可读介质,包含进一步的指令,其导致处理器执行以下的操作:
在第一地址空间内查找未使用的区域;以及
把该VMM的第一部分重新映射到该未使用的区域中。
30.如权利要求28所述的计算机可读介质,包含进一步的指令,其导致处理器执行以下的操作:
确定在该第一地址空间中没有未使用的区域存在;
在第一地址空间内选择随机区域;
复制位于该随机区域处的存储器内容到第二地址空间;以及
把该VMM的第一部分重新映射到该随机区域中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/752,587 US7035963B2 (en) | 2000-12-27 | 2000-12-27 | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system |
US09/752587 | 2000-12-27 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN018228372A Division CN1575453B (zh) | 2000-12-27 | 2001-12-20 | 解决地址空间冲突的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101826030A true CN101826030A (zh) | 2010-09-08 |
CN101826030B CN101826030B (zh) | 2012-12-05 |
Family
ID=25026926
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN018228372A Expired - Fee Related CN1575453B (zh) | 2000-12-27 | 2001-12-20 | 解决地址空间冲突的方法和装置 |
CN2010101495395A Expired - Fee Related CN101826030B (zh) | 2000-12-27 | 2001-12-20 | 解决虚拟机监控器和客户操作系统间地址空间冲突的方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN018228372A Expired - Fee Related CN1575453B (zh) | 2000-12-27 | 2001-12-20 | 解决地址空间冲突的方法和装置 |
Country Status (10)
Country | Link |
---|---|
US (2) | US7035963B2 (zh) |
EP (1) | EP1405181A2 (zh) |
JP (1) | JP4021769B2 (zh) |
KR (1) | KR100624668B1 (zh) |
CN (2) | CN1575453B (zh) |
AU (1) | AU2002249862A1 (zh) |
BR (1) | BR0116630A (zh) |
RU (1) | RU2259582C2 (zh) |
TW (1) | TWI228221B (zh) |
WO (1) | WO2002056172A2 (zh) |
Families Citing this family (105)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6745346B2 (en) * | 2000-12-08 | 2004-06-01 | Intel Corporation | Method for efficiently identifying errant processes in a computer system by the operating system (OS) for error containment and error recovery |
US7461148B1 (en) * | 2001-02-16 | 2008-12-02 | Swsoft Holdings, Ltd. | Virtual private server with isolation of system components |
US7260820B1 (en) * | 2001-04-26 | 2007-08-21 | Vm Ware, Inc. | Undefeatable transformation for virtual machine I/O operations |
US7103529B2 (en) * | 2001-09-27 | 2006-09-05 | Intel Corporation | Method for providing system integrity and legacy environment emulation |
US7058786B1 (en) * | 2002-01-17 | 2006-06-06 | Hewlett-Packard Development Company | Operating system data communication method and system |
US7124327B2 (en) * | 2002-06-29 | 2006-10-17 | Intel Corporation | Control over faults occurring during the operation of guest software in the virtual-machine architecture |
US6996748B2 (en) * | 2002-06-29 | 2006-02-07 | Intel Corporation | Handling faults associated with operation of guest software in the virtual-machine architecture |
US7149510B2 (en) | 2002-09-23 | 2006-12-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Security access manager in middleware |
US7278030B1 (en) * | 2003-03-03 | 2007-10-02 | Vmware, Inc. | Virtualization system for computers having multiple protection mechanisms |
US7111145B1 (en) | 2003-03-25 | 2006-09-19 | Vmware, Inc. | TLB miss fault handler and method for accessing multiple page tables |
US7409487B1 (en) * | 2003-06-30 | 2008-08-05 | Vmware, Inc. | Virtualization system for computers that use address space indentifiers |
US20050044408A1 (en) * | 2003-08-18 | 2005-02-24 | Bajikar Sundeep M. | Low pin count docking architecture for a trusted platform |
US7370324B2 (en) * | 2003-09-30 | 2008-05-06 | Intel Corporation | Switching between a service virtual machine and a guest virtual machine in a virtual machine monitor environment |
US7376949B2 (en) * | 2003-10-01 | 2008-05-20 | Hewlett-Packard Development Company, L.P. | Resource allocation and protection in a multi-virtual environment |
EP1678617A4 (en) * | 2003-10-08 | 2008-03-26 | Unisys Corp | COMPUTER SYSTEM PARAVIRTUALIZATION BY USING A HYPERVISOR IMPLEMENTED IN A PARTITION OF THE HOST SYSTEM |
US20050132122A1 (en) * | 2003-12-16 | 2005-06-16 | Rozas Carlos V. | Method, apparatus and system for monitoring system integrity in a trusted computing environment |
US7877747B2 (en) | 2004-02-20 | 2011-01-25 | Hewlett-Packard Development Company, L.P. | Flexible operating system operable as either native or as virtualized |
US7725643B1 (en) * | 2004-05-04 | 2010-05-25 | Oracle America, Inc. | Methods and systems for detecting and avoiding an address dependency between tasks |
US7802250B2 (en) * | 2004-06-28 | 2010-09-21 | Intel Corporation | Support for transitioning to a virtual machine monitor based upon the privilege level of guest software |
US7607011B1 (en) * | 2004-07-16 | 2009-10-20 | Rockwell Collins, Inc. | System and method for multi-level security on a network |
US7685391B1 (en) * | 2004-10-12 | 2010-03-23 | Sun Microsystems, Inc. | Kernel/user stack relocation during system uptime |
EP1669864B1 (en) * | 2004-12-03 | 2010-06-02 | STMicroelectronics Srl | A process for managing virtual machines in a physical processing machine, corresponding processor system and computer program product therefor |
US7395405B2 (en) * | 2005-01-28 | 2008-07-01 | Intel Corporation | Method and apparatus for supporting address translation in a virtual machine environment |
US7496495B2 (en) * | 2005-05-12 | 2009-02-24 | Microsoft Corporation | Virtual operating system device communication relying on memory access violations |
US20070006178A1 (en) * | 2005-05-12 | 2007-01-04 | Microsoft Corporation | Function-level just-in-time translation engine with multiple pass optimization |
US20060277546A1 (en) * | 2005-06-02 | 2006-12-07 | Rothman Michael A | Detecting virtualization |
US7370137B2 (en) * | 2005-06-06 | 2008-05-06 | Intel Corporation | Inter-domain data mover for a memory-to-memory copy engine |
JP2007004661A (ja) * | 2005-06-27 | 2007-01-11 | Hitachi Ltd | 仮想計算機の制御方法及びプログラム |
US8856473B2 (en) * | 2005-07-01 | 2014-10-07 | Red Hat, Inc. | Computer system protection based on virtualization |
US8327353B2 (en) * | 2005-08-30 | 2012-12-04 | Microsoft Corporation | Hierarchical virtualization with a multi-level virtualization mechanism |
US8429629B2 (en) | 2005-11-30 | 2013-04-23 | Red Hat, Inc. | In-kernel virtual machine for low overhead startup and low resource usage |
US8612970B2 (en) * | 2005-11-30 | 2013-12-17 | Red Hat, Inc. | Purpose domain for low overhead virtual machines |
US8104034B2 (en) * | 2005-11-30 | 2012-01-24 | Red Hat, Inc. | Purpose domain for in-kernel virtual machine for low overhead startup and low resource usage |
US7548999B2 (en) * | 2006-01-17 | 2009-06-16 | Advanced Micro Devices, Inc. | Chained hybrid input/output memory management unit |
US7536541B2 (en) * | 2006-03-07 | 2009-05-19 | Novell Inc. | Parallelizing multiple boot images with virtual machines |
US9213542B2 (en) | 2006-03-30 | 2015-12-15 | Microsoft Technology Licensing, Llc | Creating templates of offline resources |
US7774579B1 (en) * | 2006-04-14 | 2010-08-10 | Tilera Corporation | Protection in a parallel processing environment using access information associated with each switch to prevent data from being forwarded outside a plurality of tiles |
US7577820B1 (en) | 2006-04-14 | 2009-08-18 | Tilera Corporation | Managing data in a parallel processing environment |
US8321377B2 (en) * | 2006-04-17 | 2012-11-27 | Microsoft Corporation | Creating host-level application-consistent backups of virtual machines |
US8176485B2 (en) * | 2006-05-15 | 2012-05-08 | Microsoft Corporation | Launching hypervisor under running operating system |
US20070271560A1 (en) * | 2006-05-18 | 2007-11-22 | Microsoft Corporation | Deploying virtual machine to host based on workload characterizations |
US7587663B2 (en) * | 2006-05-22 | 2009-09-08 | Intel Corporation | Fault detection using redundant virtual machines |
US8024727B2 (en) * | 2006-06-15 | 2011-09-20 | Microsoft Corporation | Enhancing or replacing host operating system functionality by leveraging guest operating system functionality |
US20070294707A1 (en) * | 2006-06-15 | 2007-12-20 | Microsoft Corporation | Enhancing or replacing host operating system functionality by leveraging guest operating system functionality |
DE102006029756A1 (de) | 2006-06-27 | 2008-01-03 | Deutsche Telekom Ag | Verfahren zum Delegieren von Privilegien an eine niedriger-priviligierte Instanz durch eine höher-priviligierte Instanz |
JP2008033392A (ja) * | 2006-07-26 | 2008-02-14 | Nec Corp | 仮想計算機システム及びその動作方法 |
US7478228B2 (en) * | 2006-08-31 | 2009-01-13 | Qualcomm Incorporated | Apparatus for generating return address predictions for implicit and explicit subroutine calls |
US7490191B2 (en) * | 2006-09-22 | 2009-02-10 | Intel Corporation | Sharing information between guests in a virtual machine environment |
US20080104586A1 (en) * | 2006-10-27 | 2008-05-01 | Microsoft Corporation | Allowing Virtual Machine to Discover Virtual Status Thereof |
US7689817B2 (en) * | 2006-11-16 | 2010-03-30 | Intel Corporation | Methods and apparatus for defeating malware |
US9354927B2 (en) | 2006-12-21 | 2016-05-31 | Vmware, Inc. | Securing virtual machine data |
US9189265B2 (en) | 2006-12-21 | 2015-11-17 | Vmware, Inc. | Storage architecture for virtual machines |
US9098347B2 (en) | 2006-12-21 | 2015-08-04 | Vmware | Implementation of virtual machine operations using storage system functionality |
US8380987B2 (en) * | 2007-01-25 | 2013-02-19 | Microsoft Corporation | Protection agents and privilege modes |
US7765374B2 (en) * | 2007-01-25 | 2010-07-27 | Microsoft Corporation | Protecting operating-system resources |
KR101396831B1 (ko) | 2007-03-30 | 2014-05-21 | 삼성전자주식회사 | 메모리 접근 제어 방법 |
US7984483B2 (en) * | 2007-04-25 | 2011-07-19 | Acxess, Inc. | System and method for working in a virtualized computing environment through secure access |
US8561060B2 (en) * | 2007-04-26 | 2013-10-15 | Advanced Micro Devices, Inc. | Processor and method configured to determine an exit mechanism using an intercept configuration for a virtual machine |
US20090007100A1 (en) * | 2007-06-28 | 2009-01-01 | Microsoft Corporation | Suspending a Running Operating System to Enable Security Scanning |
CN101334751B (zh) * | 2007-06-29 | 2010-04-14 | 联想(北京)有限公司 | 虚拟机监视器识别客户操作系统中进程的方法及装置 |
US8763115B2 (en) * | 2007-08-08 | 2014-06-24 | Vmware, Inc. | Impeding progress of malicious guest software |
WO2009039376A2 (en) * | 2007-09-20 | 2009-03-26 | C & S Operations, Inc. | Computer system with tunneling |
CN101425020A (zh) * | 2007-10-31 | 2009-05-06 | 国际商业机器公司 | 对mmu仿真进行加速的方法、装置和全系统仿真器 |
KR100881386B1 (ko) | 2008-01-24 | 2009-02-02 | 주식회사 파수닷컴 | 프로세스 분리 실행을 통한 drm 클라이언트 충돌 방지 방법 |
CN101727331B (zh) * | 2008-10-24 | 2013-03-20 | 国际商业机器公司 | 升级活动虚拟机的客户操作系统的方法和设备 |
US8806101B2 (en) * | 2008-12-30 | 2014-08-12 | Intel Corporation | Metaphysical address space for holding lossy metadata in hardware |
US9785462B2 (en) | 2008-12-30 | 2017-10-10 | Intel Corporation | Registering a user-handler in hardware for transactional memory event handling |
US8627017B2 (en) * | 2008-12-30 | 2014-01-07 | Intel Corporation | Read and write monitoring attributes in transactional memory (TM) systems |
US8627014B2 (en) | 2008-12-30 | 2014-01-07 | Intel Corporation | Memory model for hardware attributes within a transactional memory system |
US9529636B2 (en) | 2009-03-26 | 2016-12-27 | Microsoft Technology Licensing, Llc | System and method for adjusting guest memory allocation based on memory pressure in virtual NUMA nodes of a virtual machine |
US9535767B2 (en) | 2009-03-26 | 2017-01-03 | Microsoft Technology Licensing, Llc | Instantiating a virtual machine with a virtual non-uniform memory architecture |
US8429648B2 (en) * | 2009-05-28 | 2013-04-23 | Red Hat, Inc. | Method and apparatus to service a software generated trap received by a virtual machine monitor |
US8813069B2 (en) * | 2009-05-29 | 2014-08-19 | Red Hat, Inc. | Migration of functionalities across systems |
US20110197256A1 (en) * | 2009-12-18 | 2011-08-11 | Assured Information Security, Inc. | Methods for securing a processing system and devices thereof |
KR20110094764A (ko) * | 2010-02-17 | 2011-08-24 | 삼성전자주식회사 | 트랜잭션 기반 입출력 인터페이스를 제공하는 가상화 장치 및 방법 |
US20110219373A1 (en) * | 2010-03-02 | 2011-09-08 | Electronics And Telecommunications Research Institute | Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform |
US9529729B2 (en) * | 2010-11-16 | 2016-12-27 | International Business Machines Corporation | Location of memory management translations in an emulated processor |
US9129123B2 (en) | 2011-06-13 | 2015-09-08 | Lynx Software Technologies, Inc. | Systems and methods of secure domain isolation involving separation kernel features |
US9804870B2 (en) * | 2011-10-28 | 2017-10-31 | Intel Corporation | Instruction-set support for invocation of VMM-configured services without VMM intervention |
KR20130050156A (ko) * | 2011-11-07 | 2013-05-15 | 한국전자통신연구원 | 가상 주소 공간 전환 장치 |
US9170940B2 (en) * | 2011-12-07 | 2015-10-27 | Intel Corporation | Techniques to prelink software to improve memory de-duplication in a virtual system |
RU2472215C1 (ru) | 2011-12-28 | 2013-01-10 | Закрытое акционерное общество "Лаборатория Касперского" | Способ выявления неизвестных программ с использованием эмуляции процесса загрузки |
WO2014004747A2 (en) | 2012-06-26 | 2014-01-03 | Lynuxworks, Inc. | Systems and methods involving features of hardware virtualization such as separation kernel hypervisors, hypervisors, hypervisor guest context, hypervisor context, rootkit detection/prevention, and/or other features |
US10310973B2 (en) * | 2012-10-25 | 2019-06-04 | Nvidia Corporation | Efficient memory virtualization in multi-threaded processing units |
CN103699388B (zh) * | 2013-12-30 | 2015-07-08 | 北京控制工程研究所 | 基于绝对地址汇聚的数据访问冲突检测方法 |
US9740857B2 (en) | 2014-01-16 | 2017-08-22 | Fireeye, Inc. | Threat-aware microvisor |
US9436395B2 (en) * | 2014-03-14 | 2016-09-06 | Advanced Micro Devices, Inc. | Mechanisms to save user/kernel copy for cross device communications |
US9203855B1 (en) | 2014-05-15 | 2015-12-01 | Lynx Software Technologies, Inc. | Systems and methods involving aspects of hardware virtualization such as hypervisor, detection and interception of code or instruction execution including API calls, and/or other features |
US9213840B2 (en) | 2014-05-15 | 2015-12-15 | Lynx Software Technologies, Inc. | Systems and methods involving features of hardware virtualization, hypervisor, APIs of interest, and/or other features |
WO2016004263A1 (en) | 2014-07-01 | 2016-01-07 | Lynx Software Technologies, Inc. | Systems and methods involving aspects of hardware virtualization such as separation kernel hypervisors, hypervisors, hypervisor guest context, hypervisor context, anti-fingerprinting, and/or other features |
US9390267B2 (en) | 2014-05-15 | 2016-07-12 | Lynx Software Technologies, Inc. | Systems and methods involving features of hardware virtualization, hypervisor, pages of interest, and/or other features |
US11782745B2 (en) | 2014-07-01 | 2023-10-10 | Lynx Software Technologies, Inc. | Systems and methods involving aspects of hardware virtualization such as separation kernel hypervisors, hypervisors, hypervisor guest context, hypervisor context, anti-fingerprinting and/or other features |
US9934376B1 (en) | 2014-12-29 | 2018-04-03 | Fireeye, Inc. | Malware detection appliance architecture |
US9912681B1 (en) | 2015-03-31 | 2018-03-06 | Fireeye, Inc. | Injection of content processing delay in an endpoint |
US10474813B1 (en) | 2015-03-31 | 2019-11-12 | Fireeye, Inc. | Code injection technique for remediation at an endpoint of a network |
US10454950B1 (en) | 2015-06-30 | 2019-10-22 | Fireeye, Inc. | Centralized aggregation technique for detecting lateral movement of stealthy cyber-attacks |
US10846117B1 (en) | 2015-12-10 | 2020-11-24 | Fireeye, Inc. | Technique for establishing secure communication between host and guest processes of a virtualization architecture |
US10447728B1 (en) | 2015-12-10 | 2019-10-15 | Fireeye, Inc. | Technique for protecting guest processes using a layered virtualization architecture |
US10108446B1 (en) | 2015-12-11 | 2018-10-23 | Fireeye, Inc. | Late load technique for deploying a virtualization layer underneath a running operating system |
RU2626550C1 (ru) * | 2016-08-09 | 2017-07-28 | Акционерное Общество "Научно-Исследовательский Институт Микроэлектронной Аппаратуры "Прогресс" | Программно-аппаратная платформа и способ ее реализации для беспроводных средств связи |
US10191861B1 (en) | 2016-09-06 | 2019-01-29 | Fireeye, Inc. | Technique for implementing memory views using a layered virtualization architecture |
US10909053B2 (en) * | 2019-05-27 | 2021-02-02 | Advanced Micro Devices, Inc. | Providing copies of input-output memory management unit registers to guest operating systems |
US10853263B1 (en) * | 2019-07-23 | 2020-12-01 | Ati Technologies Ulc | Unified kernel virtual address space for heterogeneous computing |
CN111124664B (zh) | 2019-11-22 | 2023-12-08 | 华为技术有限公司 | 第一操作系统访问第二操作系统资源的方法和装置 |
US20230033583A1 (en) * | 2021-07-30 | 2023-02-02 | Advanced Micro Devices, Inc. | Primary input-output queue serving host and guest operating systems concurrently |
Family Cites Families (184)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3699532A (en) | 1970-04-21 | 1972-10-17 | Singer Co | Multiprogramming control for a data handling system |
US3996449A (en) | 1975-08-25 | 1976-12-07 | International Business Machines Corporation | Operating system authenticator |
US4162536A (en) | 1976-01-02 | 1979-07-24 | Gould Inc., Modicon Div. | Digital input/output system and method |
US4037214A (en) | 1976-04-30 | 1977-07-19 | International Business Machines Corporation | Key register controlled accessing system |
US4247905A (en) | 1977-08-26 | 1981-01-27 | Sharp Kabushiki Kaisha | Memory clear system |
US4278837A (en) | 1977-10-31 | 1981-07-14 | Best Robert M | Crypto microprocessor for executing enciphered programs |
US4276594A (en) | 1978-01-27 | 1981-06-30 | Gould Inc. Modicon Division | Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same |
US4207609A (en) | 1978-05-08 | 1980-06-10 | International Business Machines Corporation | Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system |
JPS5823570B2 (ja) | 1978-11-30 | 1983-05-16 | 国産電機株式会社 | 液面検出装置 |
JPS5576447A (en) | 1978-12-01 | 1980-06-09 | Fujitsu Ltd | Address control system for software simulation |
US4307447A (en) | 1979-06-19 | 1981-12-22 | Gould Inc. | Programmable controller |
US4307214A (en) | 1979-12-12 | 1981-12-22 | Phillips Petroleum Company | SC2 activation of supported chromium oxide catalysts |
US4319323A (en) | 1980-04-04 | 1982-03-09 | Digital Equipment Corporation | Communications device for data processing system |
US4419724A (en) | 1980-04-14 | 1983-12-06 | Sperry Corporation | Main bus interface package |
US4366537A (en) | 1980-05-23 | 1982-12-28 | International Business Machines Corp. | Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys |
US4403283A (en) | 1980-07-28 | 1983-09-06 | Ncr Corporation | Extended memory system and method |
DE3034581A1 (de) | 1980-09-13 | 1982-04-22 | Robert Bosch Gmbh, 7000 Stuttgart | Auslesesicherung bei einchip-mikroprozessoren |
JPS58140862A (ja) | 1982-02-16 | 1983-08-20 | Toshiba Corp | 相互排他方式 |
US4521852A (en) | 1982-06-30 | 1985-06-04 | Texas Instruments Incorporated | Data processing device formed on a single semiconductor substrate having secure memory |
JPS59111561A (ja) | 1982-12-17 | 1984-06-27 | Hitachi Ltd | 複合プロセツサ・システムのアクセス制御方式 |
US4759064A (en) | 1985-10-07 | 1988-07-19 | Chaum David L | Blind unanticipated signature systems |
US4975836A (en) | 1984-12-19 | 1990-12-04 | Hitachi, Ltd. | Virtual computer system |
JPS61206057A (ja) | 1985-03-11 | 1986-09-12 | Hitachi Ltd | アドレス変換装置 |
JPS6273346A (ja) * | 1985-09-27 | 1987-04-04 | Hitachi Ltd | アドレス変換装置 |
FR2592510B1 (fr) | 1985-12-31 | 1988-02-12 | Bull Cp8 | Procede et appareil pour certifier des services obtenus a l'aide d'un support portatif tel qu'une carte a memoire |
FR2601525B1 (fr) | 1986-07-11 | 1988-10-21 | Bull Cp8 | Dispositif de securite interdisant le fonctionnement d'un ensemble electronique apres une premiere coupure de son alimentation electrique |
FR2601535B1 (fr) | 1986-07-11 | 1988-10-21 | Bull Cp8 | Procede pour certifier l'authenticite d'une donnee echangee entre deux dispositifs connectes en local ou a distance par une ligne de transmission |
FR2601476B1 (fr) | 1986-07-11 | 1988-10-21 | Bull Cp8 | Procede pour authentifier une donnee d'habilitation externe par un objet portatif tel qu'une carte a memoire |
JPS63156248A (ja) * | 1986-12-19 | 1988-06-29 | Nec Corp | 仮想計算機方式 |
FR2618002B1 (fr) | 1987-07-10 | 1991-07-05 | Schlumberger Ind Sa | Procede et systeme d'authentification de cartes a memoire electronique |
US5007082A (en) | 1988-08-03 | 1991-04-09 | Kelly Services, Inc. | Computer software encryption apparatus |
US5079737A (en) | 1988-10-25 | 1992-01-07 | United Technologies Corporation | Memory management unit for the MIL-STD 1750 bus |
US5434999A (en) | 1988-11-09 | 1995-07-18 | Bull Cp8 | Safeguarded remote loading of service programs by authorizing loading in protected memory zones in a terminal |
FR2640798B1 (fr) | 1988-12-20 | 1993-01-08 | Bull Cp8 | Dispositif de traitement de donnees comportant une memoire non volatile electriquement effacable et reprogrammable |
JPH02171934A (ja) | 1988-12-26 | 1990-07-03 | Hitachi Ltd | 仮想計算機システム |
JPH02208740A (ja) | 1989-02-09 | 1990-08-20 | Fujitsu Ltd | 仮想計算機制御方式 |
US5442645A (en) | 1989-06-06 | 1995-08-15 | Bull Cp8 | Method for checking the integrity of a program or data, and apparatus for implementing this method |
JP2590267B2 (ja) | 1989-06-30 | 1997-03-12 | 株式会社日立製作所 | 仮想計算機における表示制御方式 |
US5022077A (en) | 1989-08-25 | 1991-06-04 | International Business Machines Corp. | Apparatus and method for preventing unauthorized access to BIOS in a personal computer system |
JPH0388042A (ja) * | 1989-08-31 | 1991-04-12 | Nec Corp | 仮想計算機環境におけるプログラム起動方式 |
JP2825550B2 (ja) | 1989-09-21 | 1998-11-18 | 株式会社日立製作所 | 多重仮想空間アドレス制御方法および計算機システム |
CA2010591C (en) | 1989-10-20 | 1999-01-26 | Phillip M. Adams | Kernels, description tables and device drivers |
CA2027799A1 (en) | 1989-11-03 | 1991-05-04 | David A. Miller | Method and apparatus for independently resetting processors and cache controllers in multiple processor systems |
US5075842A (en) | 1989-12-22 | 1991-12-24 | Intel Corporation | Disabling tag bit recognition and allowing privileged operations to occur in an object-oriented memory protection mechanism |
US5108590A (en) | 1990-09-12 | 1992-04-28 | Disanto Dennis | Water dispenser |
US5230069A (en) | 1990-10-02 | 1993-07-20 | International Business Machines Corporation | Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system |
US5317705A (en) | 1990-10-24 | 1994-05-31 | International Business Machines Corporation | Apparatus and method for TLB purge reduction in a multi-level machine system |
US5287363A (en) | 1991-07-01 | 1994-02-15 | Disk Technician Corporation | System for locating and anticipating data storage media failures |
US5437033A (en) | 1990-11-16 | 1995-07-25 | Hitachi, Ltd. | System for recovery from a virtual machine monitor failure with a continuous guest dispatched to a nonguest mode |
US5255379A (en) | 1990-12-28 | 1993-10-19 | Sun Microsystems, Inc. | Method for automatically transitioning from V86 mode to protected mode in a computer system using an Intel 80386 or 80486 processor |
US5453003A (en) | 1991-01-09 | 1995-09-26 | Pfefferle; William C. | Catalytic method |
JP3093293B2 (ja) * | 1991-02-08 | 2000-10-03 | 日本電気株式会社 | 情報処理装置の割り込み方式 |
US5446904A (en) * | 1991-05-17 | 1995-08-29 | Zenith Data Systems Corporation | Suspend/resume capability for a protected mode microprocessor |
JPH04348434A (ja) * | 1991-05-27 | 1992-12-03 | Hitachi Ltd | 仮想計算機システム |
US5319760A (en) | 1991-06-28 | 1994-06-07 | Digital Equipment Corporation | Translation buffer for virtual machines with address space match |
US5522075A (en) | 1991-06-28 | 1996-05-28 | Digital Equipment Corporation | Protection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces |
US5455909A (en) | 1991-07-05 | 1995-10-03 | Chips And Technologies Inc. | Microprocessor with operation capture facility |
JPH06236284A (ja) | 1991-10-21 | 1994-08-23 | Intel Corp | コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム |
US5627987A (en) * | 1991-11-29 | 1997-05-06 | Kabushiki Kaisha Toshiba | Memory management and protection system for virtual memory in computer system |
US5574936A (en) | 1992-01-02 | 1996-11-12 | Amdahl Corporation | Access control mechanism controlling access to and logical purging of access register translation lookaside buffer (ALB) in a computer system |
US5486529A (en) | 1992-04-16 | 1996-01-23 | Zeneca Limited | Certain pyridyl ketones for treating diseases involving leukocyte elastase |
US5421006A (en) | 1992-05-07 | 1995-05-30 | Compaq Computer Corp. | Method and apparatus for assessing integrity of computer system software |
US5414851A (en) * | 1992-06-15 | 1995-05-09 | International Business Machines Corporation | Method and means for sharing I/O resources by a plurality of operating systems |
US5237616A (en) | 1992-09-21 | 1993-08-17 | International Business Machines Corporation | Secure computer system having privileged and unprivileged memories |
US5293424A (en) | 1992-10-14 | 1994-03-08 | Bull Hn Information Systems Inc. | Secure memory card |
US5796835A (en) | 1992-10-27 | 1998-08-18 | Bull Cp8 | Method and system for writing information in a data carrier making it possible to later certify the originality of this information |
JP2765411B2 (ja) | 1992-11-30 | 1998-06-18 | 株式会社日立製作所 | 仮想計算機方式 |
US5668971A (en) | 1992-12-01 | 1997-09-16 | Compaq Computer Corporation | Posted disk read operations performed by signalling a disk read complete to the system prior to completion of data transfer |
JPH06187178A (ja) | 1992-12-18 | 1994-07-08 | Hitachi Ltd | 仮想計算機システムの入出力割込み制御方法 |
US5483656A (en) | 1993-01-14 | 1996-01-09 | Apple Computer, Inc. | System for managing power consumption of devices coupled to a common bus |
US5469557A (en) | 1993-03-05 | 1995-11-21 | Microchip Technology Incorporated | Code protection in microcontroller with EEPROM fuses |
FR2703800B1 (fr) | 1993-04-06 | 1995-05-24 | Bull Cp8 | Procédé de signature d'un fichier informatique, et dispositif pour la mise en Óoeuvre. |
FR2704341B1 (fr) | 1993-04-22 | 1995-06-02 | Bull Cp8 | Dispositif de protection des clés d'une carte à puce. |
JPH06348867A (ja) | 1993-06-04 | 1994-12-22 | Hitachi Ltd | マイクロコンピュータ |
FR2706210B1 (fr) | 1993-06-08 | 1995-07-21 | Bull Cp8 | Procédé d'authentification d'un objet portatif par un terminal hors ligne, objet portatif et terminal correspondants. |
US5555385A (en) | 1993-10-27 | 1996-09-10 | International Business Machines Corporation | Allocation of address spaces within virtual machine compute system |
US5825880A (en) | 1994-01-13 | 1998-10-20 | Sudia; Frank W. | Multi-step digital signature method and system |
US5459869A (en) | 1994-02-17 | 1995-10-17 | Spilo; Michael L. | Method for providing protected mode services for device drivers and other resident software |
US5604805A (en) | 1994-02-28 | 1997-02-18 | Brands; Stefanus A. | Privacy-protected transfer of electronic information |
FR2717286B1 (fr) | 1994-03-09 | 1996-04-05 | Bull Cp8 | Procédé et dispositif pour authentifier un support de données destiné à permettre une transaction ou l'accès à un service ou à un lieu, et support correspondant. |
US5421066A (en) * | 1994-05-16 | 1995-06-06 | Bonomo; Melvin E. | Self-locking tensioning bar |
US5684881A (en) | 1994-05-23 | 1997-11-04 | Matsushita Electric Industrial Co., Ltd. | Sound field and sound image control apparatus and method |
US5539828A (en) | 1994-05-31 | 1996-07-23 | Intel Corporation | Apparatus and method for providing secured communications |
US5473692A (en) | 1994-09-07 | 1995-12-05 | Intel Corporation | Roving software license for a hardware agent |
JPH0883211A (ja) | 1994-09-12 | 1996-03-26 | Mitsubishi Electric Corp | データ処理装置 |
US6058478A (en) * | 1994-09-30 | 2000-05-02 | Intel Corporation | Apparatus and method for a vetted field upgrade |
FR2725537B1 (fr) | 1994-10-11 | 1996-11-22 | Bull Cp8 | Procede de chargement d'une zone memoire protegee d'un dispositif de traitement de l'information et dispositif associe |
US5903752A (en) * | 1994-10-13 | 1999-05-11 | Intel Corporation | Method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system |
US5606617A (en) | 1994-10-14 | 1997-02-25 | Brands; Stefanus A. | Secret-key certificates |
US5564040A (en) | 1994-11-08 | 1996-10-08 | International Business Machines Corporation | Method and apparatus for providing a server function in a logically partitioned hardware machine |
US6269392B1 (en) * | 1994-11-15 | 2001-07-31 | Christian Cotichini | Method and apparatus to monitor and locate an electronic device using a secured intelligent agent |
US5560013A (en) | 1994-12-06 | 1996-09-24 | International Business Machines Corporation | Method of using a target processor to execute programs of a source architecture that uses multiple address spaces |
US5555414A (en) | 1994-12-14 | 1996-09-10 | International Business Machines Corporation | Multiprocessing system including gating of host I/O and external enablement to guest enablement at polling intervals |
US5615263A (en) | 1995-01-06 | 1997-03-25 | Vlsi Technology, Inc. | Dual purpose security architecture with protected internal operating system |
US5764969A (en) | 1995-02-10 | 1998-06-09 | International Business Machines Corporation | Method and system for enhanced management operation utilizing intermixed user level and supervisory level instructions with partial concept synchronization |
FR2731536B1 (fr) * | 1995-03-10 | 1997-04-18 | Schlumberger Ind Sa | Procede d'inscription securisee d'informations dans un support portable |
US5717903A (en) | 1995-05-15 | 1998-02-10 | Compaq Computer Corporation | Method and appartus for emulating a peripheral device to allow device driver development before availability of the peripheral device |
JP3451595B2 (ja) | 1995-06-07 | 2003-09-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 二つの別個の命令セット・アーキテクチャへの拡張をサポートすることができるアーキテクチャ・モード制御を備えたマイクロプロセッサ |
US5684948A (en) | 1995-09-01 | 1997-11-04 | National Semiconductor Corporation | Memory management circuit which provides simulated privilege levels |
US5633929A (en) | 1995-09-15 | 1997-05-27 | Rsa Data Security, Inc | Cryptographic key escrow system having reduced vulnerability to harvesting attacks |
US5737760A (en) | 1995-10-06 | 1998-04-07 | Motorola Inc. | Microcontroller with security logic circuit which prevents reading of internal memory by external program |
US5606817B1 (en) * | 1995-10-18 | 1999-06-29 | Remington Arms Co Inc | Muzzle-loading firearm |
JP3693721B2 (ja) | 1995-11-10 | 2005-09-07 | Necエレクトロニクス株式会社 | フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法 |
IL116708A (en) * | 1996-01-08 | 2000-12-06 | Smart Link Ltd | Real-time task manager for a personal computer |
US5657445A (en) | 1996-01-26 | 1997-08-12 | Dell Usa, L.P. | Apparatus and method for limiting access to mass storage devices in a computer system |
US5835594A (en) * | 1996-02-09 | 1998-11-10 | Intel Corporation | Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage |
US5978892A (en) * | 1996-05-03 | 1999-11-02 | Digital Equipment Corporation | Virtual memory allocation in a virtual address space having an inaccessible gap |
US5809546A (en) | 1996-05-23 | 1998-09-15 | International Business Machines Corporation | Method for managing I/O buffers in shared storage by structuring buffer table having entries including storage keys for controlling accesses to the buffers |
US6205550B1 (en) * | 1996-06-13 | 2001-03-20 | Intel Corporation | Tamper resistant methods and apparatus |
US6178509B1 (en) * | 1996-06-13 | 2001-01-23 | Intel Corporation | Tamper resistant methods and apparatus |
US6175925B1 (en) * | 1996-06-13 | 2001-01-16 | Intel Corporation | Tamper resistant player for scrambled contents |
US5729760A (en) | 1996-06-21 | 1998-03-17 | Intel Corporation | System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode |
US5757604A (en) | 1996-06-27 | 1998-05-26 | Raychem Corporation | Surge arrester having grooved and ridged terminals |
US5944821A (en) * | 1996-07-11 | 1999-08-31 | Compaq Computer Corporation | Secure software registration and integrity assessment in a computer system |
US6199152B1 (en) * | 1996-08-22 | 2001-03-06 | Transmeta Corporation | Translated memory protection apparatus for an advanced microprocessor |
US5740178A (en) | 1996-08-29 | 1998-04-14 | Lucent Technologies Inc. | Software for controlling a reliable backup memory |
US6055637A (en) * | 1996-09-27 | 2000-04-25 | Electronic Data Systems Corporation | System and method for accessing enterprise-wide resources by presenting to the resource a temporary credential |
US5844986A (en) | 1996-09-30 | 1998-12-01 | Intel Corporation | Secure BIOS |
US5935242A (en) * | 1996-10-28 | 1999-08-10 | Sun Microsystems, Inc. | Method and apparatus for initializing a device |
JPH10134008A (ja) * | 1996-11-05 | 1998-05-22 | Mitsubishi Electric Corp | 半導体装置およびコンピュータシステム |
US5852717A (en) | 1996-11-20 | 1998-12-22 | Shiva Corporation | Performance optimizations for computer networks utilizing HTTP |
DE19649292A1 (de) * | 1996-11-28 | 1998-06-04 | Deutsche Telekom Ag | Verfahren zum Sichern eines durch eine Schlüsselhierarchie geschützten Systems |
US5901225A (en) * | 1996-12-05 | 1999-05-04 | Advanced Micro Devices, Inc. | System and method for performing software patches in embedded systems |
US5757919A (en) | 1996-12-12 | 1998-05-26 | Intel Corporation | Cryptographically protected paging subsystem |
US5818939A (en) * | 1996-12-18 | 1998-10-06 | Intel Corporation | Optimized security functionality in an electronic system |
US6412035B1 (en) * | 1997-02-03 | 2002-06-25 | Real Time, Inc. | Apparatus and method for decreasing the response times of interrupt service routines |
US5953502A (en) * | 1997-02-13 | 1999-09-14 | Helbig, Sr.; Walter A | Method and apparatus for enhancing computer system security |
US6272637B1 (en) * | 1997-04-14 | 2001-08-07 | Dallas Semiconductor Corporation | Systems and methods for protecting access to encrypted information |
US6557104B2 (en) * | 1997-05-02 | 2003-04-29 | Phoenix Technologies Ltd. | Method and apparatus for secure processing of cryptographic keys |
US6044478A (en) * | 1997-05-30 | 2000-03-28 | National Semiconductor Corporation | Cache with finely granular locked-down regions |
US6075938A (en) * | 1997-06-10 | 2000-06-13 | The Board Of Trustees Of The Leland Stanford Junior University | Virtual machine monitors for scalable multiprocessors |
US6175924B1 (en) * | 1997-06-20 | 2001-01-16 | International Business Machines Corp. | Method and apparatus for protecting application data in secure storage areas |
US6035374A (en) * | 1997-06-25 | 2000-03-07 | Sun Microsystems, Inc. | Method of executing coded instructions in a multiprocessor having shared execution resources including active, nap, and sleep states in accordance with cache miss latency |
US6014745A (en) * | 1997-07-17 | 2000-01-11 | Silicon Systems Design Ltd. | Protection for customer programs (EPROM) |
US6212635B1 (en) * | 1997-07-18 | 2001-04-03 | David C. Reardon | Network security system allowing access and modification to a security subsystem after initial installation when a master token is in place |
US5919257A (en) * | 1997-08-08 | 1999-07-06 | Novell, Inc. | Networked workstation intrusion detection system |
DE19735948C1 (de) * | 1997-08-19 | 1998-10-01 | Siemens Nixdorf Inf Syst | Verfahren zur Verbesserung der Steuerungsmöglichkeit in Datenverarbeitungsanlagen mit Adreßübersetzung |
US6182089B1 (en) * | 1997-09-23 | 2001-01-30 | Silicon Graphics, Inc. | Method, system and computer program product for dynamically allocating large memory pages of different sizes |
US6357004B1 (en) * | 1997-09-30 | 2002-03-12 | Intel Corporation | System and method for ensuring integrity throughout post-processing |
US6061794A (en) * | 1997-09-30 | 2000-05-09 | Compaq Computer Corp. | System and method for performing secure device communications in a peer-to-peer bus architecture |
US6085296A (en) * | 1997-11-12 | 2000-07-04 | Digital Equipment Corporation | Sharing memory pages and page tables among computer processes |
US6378072B1 (en) * | 1998-02-03 | 2002-04-23 | Compaq Computer Corporation | Cryptographic system |
US6108644A (en) * | 1998-02-19 | 2000-08-22 | At&T Corp. | System and method for electronic transactions |
US6192455B1 (en) * | 1998-03-30 | 2001-02-20 | Intel Corporation | Apparatus and method for preventing access to SMRAM space through AGP addressing |
US6374286B1 (en) * | 1998-04-06 | 2002-04-16 | Rockwell Collins, Inc. | Real time processor capable of concurrently running multiple independent JAVA machines |
DE29807292U1 (de) * | 1998-04-22 | 1999-08-26 | Geiger, Peter, 92318 Neumarkt | Bausatz mit Pflastersteinen aus Betonwerkstoff |
US6173417B1 (en) * | 1998-04-30 | 2001-01-09 | Intel Corporation | Initializing and restarting operating systems |
US6397242B1 (en) * | 1998-05-15 | 2002-05-28 | Vmware, Inc. | Virtualization system including a virtual machine monitor for a computer with a segmented architecture |
FR2778998B1 (fr) * | 1998-05-20 | 2000-06-30 | Schlumberger Ind Sa | Procede d'authentification d'un code personnel d'un utilisateur d'une carte a circuit integre |
US6421702B1 (en) * | 1998-06-09 | 2002-07-16 | Advanced Micro Devices, Inc. | Interrupt driven isochronous task scheduler system |
US6339815B1 (en) * | 1998-08-14 | 2002-01-15 | Silicon Storage Technology, Inc. | Microcontroller system having allocation circuitry to selectively allocate and/or hide portions of a program memory address space |
US6505279B1 (en) * | 1998-08-14 | 2003-01-07 | Silicon Storage Technology, Inc. | Microcontroller system having security circuitry to selectively lock portions of a program memory address space |
JP2000076087A (ja) * | 1998-08-28 | 2000-03-14 | Hitachi Ltd | マルチオペレーティングシステム制御方法 |
US6363485B1 (en) * | 1998-09-09 | 2002-03-26 | Entrust Technologies Limited | Multi-factor biometric authenticating device and method |
US6230248B1 (en) * | 1998-10-12 | 2001-05-08 | Institute For The Development Of Emerging Architectures, L.L.C. | Method and apparatus for pre-validating regions in a virtual addressing scheme |
US6609199B1 (en) * | 1998-10-26 | 2003-08-19 | Microsoft Corporation | Method and apparatus for authenticating an open system application to a portable IC device |
US6445797B1 (en) * | 1998-12-16 | 2002-09-03 | Secure Choice Llc | Method and system for performing secure electronic digital streaming |
US6282650B1 (en) * | 1999-01-25 | 2001-08-28 | Intel Corporation | Secure public digital watermark |
US7111290B1 (en) * | 1999-01-28 | 2006-09-19 | Ati International Srl | Profiling program execution to identify frequently-executed portions and to assist binary translation |
US6560627B1 (en) * | 1999-01-28 | 2003-05-06 | Cisco Technology, Inc. | Mutual exclusion at the record level with priority inheritance for embedded systems using one semaphore |
US6188257B1 (en) * | 1999-02-01 | 2001-02-13 | Vlsi Technology, Inc. | Power-on-reset logic with secure power down capability |
US6272533B1 (en) * | 1999-02-16 | 2001-08-07 | Hendrik A. Browne | Secure computer system and method of providing secure access to a computer system including a stand alone switch operable to inhibit data corruption on a storage device |
US7225333B2 (en) * | 1999-03-27 | 2007-05-29 | Microsoft Corporation | Secure processor architecture for use with a digital rights management (DRM) system on a computing device |
US6615278B1 (en) * | 1999-03-29 | 2003-09-02 | International Business Machines Corporation | Cross-platform program, system, and method having a global registry object for mapping registry equivalent functions in an OS/2 operating system environment |
US6684326B1 (en) * | 1999-03-31 | 2004-01-27 | International Business Machines Corporation | Method and system for authenticated boot operations in a computer system of a networked computing environment |
US6389537B1 (en) * | 1999-04-23 | 2002-05-14 | Intel Corporation | Platform and method for assuring integrity of trusted agent communications |
US6529909B1 (en) * | 1999-08-31 | 2003-03-04 | Accenture Llp | Method for translating an object attribute converter in an information services patterns environment |
JP2001148344A (ja) * | 1999-09-09 | 2001-05-29 | Nikon Corp | 露光装置、エネルギ源の出力制御方法、該方法を用いるレーザ装置、及びデバイス製造方法 |
US6535988B1 (en) * | 1999-09-29 | 2003-03-18 | Intel Corporation | System for detecting over-clocking uses a reference signal thereafter preventing over-clocking by reducing clock rate |
US6374317B1 (en) * | 1999-10-07 | 2002-04-16 | Intel Corporation | Method and apparatus for initializing a computer interface |
US6292874B1 (en) * | 1999-10-19 | 2001-09-18 | Advanced Technology Materials, Inc. | Memory management method and apparatus for partitioning homogeneous memory and restricting access of installed applications to predetermined memory ranges |
US6507904B1 (en) * | 2000-03-31 | 2003-01-14 | Intel Corporation | Executing isolated mode instructions in a secure system running in privilege rings |
US6678825B1 (en) * | 2000-03-31 | 2004-01-13 | Intel Corporation | Controlling access to multiple isolated memories in an isolated execution environment |
US6789126B1 (en) * | 2000-05-09 | 2004-09-07 | Sun Microsystems, Inc. | Addressing message gates in a distributed computing environment |
GB0020416D0 (en) * | 2000-08-18 | 2000-10-04 | Hewlett Packard Co | Trusted system |
JP4316882B2 (ja) * | 2000-12-21 | 2009-08-19 | マイクロソフト コーポレーション | エミュレートされるコンピューティング環境におけるプロセッサ制御の論理的置換のためのシステムおよび方法 |
US7225441B2 (en) * | 2000-12-27 | 2007-05-29 | Intel Corporation | Mechanism for providing power management through virtualization |
US6789156B1 (en) * | 2001-05-22 | 2004-09-07 | Vmware, Inc. | Content-based, transparent sharing of memory units |
US20030018892A1 (en) * | 2001-07-19 | 2003-01-23 | Jose Tello | Computer with a modified north bridge, security engine and smart card having a secure boot capability and method for secure booting a computer |
US7191464B2 (en) * | 2001-10-16 | 2007-03-13 | Lenovo Pte. Ltd. | Method and system for tracking a secure boot in a trusted computing environment |
US7103771B2 (en) * | 2001-12-17 | 2006-09-05 | Intel Corporation | Connecting a virtual token to a physical token |
US7308576B2 (en) * | 2001-12-31 | 2007-12-11 | Intel Corporation | Authenticated code module |
US6725289B1 (en) * | 2002-04-17 | 2004-04-20 | Vmware, Inc. | Transparent address remapping for high-speed I/O |
US7318141B2 (en) * | 2002-12-17 | 2008-01-08 | Intel Corporation | Methods and systems to control virtual machines |
-
2000
- 2000-12-27 US US09/752,587 patent/US7035963B2/en not_active Expired - Fee Related
-
2001
- 2001-12-20 BR BR0116630-1A patent/BR0116630A/pt not_active Application Discontinuation
- 2001-12-20 AU AU2002249862A patent/AU2002249862A1/en not_active Abandoned
- 2001-12-20 WO PCT/US2001/050415 patent/WO2002056172A2/en active Application Filing
- 2001-12-20 RU RU2003123112/09A patent/RU2259582C2/ru not_active IP Right Cessation
- 2001-12-20 JP JP2002556364A patent/JP4021769B2/ja not_active Expired - Fee Related
- 2001-12-20 CN CN018228372A patent/CN1575453B/zh not_active Expired - Fee Related
- 2001-12-20 CN CN2010101495395A patent/CN101826030B/zh not_active Expired - Fee Related
- 2001-12-20 EP EP01998106A patent/EP1405181A2/en not_active Withdrawn
- 2001-12-20 KR KR1020037008770A patent/KR100624668B1/ko not_active IP Right Cessation
- 2001-12-24 TW TW090132036A patent/TWI228221B/zh not_active IP Right Cessation
-
2003
- 2003-09-30 US US10/676,737 patent/US7020738B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
TWI228221B (en) | 2005-02-21 |
EP1405181A2 (en) | 2004-04-07 |
KR20030097798A (ko) | 2003-12-31 |
CN1575453A (zh) | 2005-02-02 |
CN1575453B (zh) | 2011-01-12 |
CN101826030B (zh) | 2012-12-05 |
AU2002249862A1 (en) | 2002-07-24 |
US20040064813A1 (en) | 2004-04-01 |
WO2002056172A2 (en) | 2002-07-18 |
RU2003123112A (ru) | 2005-02-27 |
US7035963B2 (en) | 2006-04-25 |
BR0116630A (pt) | 2004-09-28 |
US7020738B2 (en) | 2006-03-28 |
JP2004526229A (ja) | 2004-08-26 |
KR100624668B1 (ko) | 2006-09-18 |
RU2259582C2 (ru) | 2005-08-27 |
JP4021769B2 (ja) | 2007-12-12 |
WO2002056172A3 (en) | 2004-01-08 |
US20030120856A1 (en) | 2003-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101826030B (zh) | 解决虚拟机监控器和客户操作系统间地址空间冲突的方法 | |
RU2547705C2 (ru) | Трансляция адресов ввода-вывода в адреса ячеек памяти | |
CN1295604C (zh) | 限制在虚拟机监控器上运行的客户软件操作的方法和系统 | |
CN101681269B (zh) | 多虚拟化技术的自适应动态选择与应用 | |
CN101520753B (zh) | 数据处理设备和控制虚拟机对安全存储器的访问的方法 | |
RU2546561C2 (ru) | Преобразование инициируемого сообщениями прерывания в уведомление о генерированном адаптером ввода-вывода событии | |
EP0024434B1 (en) | Virtual machine system | |
US8024554B2 (en) | Modifying an instruction stream using one or more bits to replace an instruction or to replace an instruction and to subsequently execute the replaced instruction | |
CN102906692B (zh) | 修改适配器功能参数的指令的方法和系统 | |
CN102906704B (zh) | 控制处理适配器中断请求的速率 | |
CN102906701B (zh) | 在计算环境中控制对适配器的访问的方法和系统 | |
RU2556418C2 (ru) | Определение форматов трансляции для функций адаптера во время выполнения | |
CN109690484A (zh) | 在虚拟机进入时转换 | |
CN114816664A (zh) | Gpu虚拟化 | |
CN101371232B (zh) | 在用户级存储器中提供后备存储器 | |
JPH0816479A (ja) | メモリ・アドレス空間管理 | |
CN102906716A (zh) | 依据适配器的多个地址空间 | |
JP2007183952A (ja) | ゲストがメモリ変換されたデバイスにアクセスする方法及び装置 | |
CN102906720A (zh) | 启用/禁用计算环境的适配器 | |
CN102918516A (zh) | 适配器中断源的类型的标识 | |
US7543288B2 (en) | Reduced instruction set for Java virtual machines | |
Wu et al. | Platinum: A {CPU-Efficient} Concurrent Garbage Collector for {Tail-Reduction} of Interactive Services | |
Milenkovic | Microprocessor memory management units | |
US20070156386A1 (en) | Linearization of page based memory for increased performance in a software emulated central processing unit | |
CN107315631A (zh) | 一种任务调度方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121205 Termination date: 20171220 |