WO2002056172A2 - Method for resolving address space conflicts between a virtual machine monitor and a guest operating system - Google Patents
Method for resolving address space conflicts between a virtual machine monitor and a guest operating system Download PDFInfo
- Publication number
- WO2002056172A2 WO2002056172A2 PCT/US2001/050415 US0150415W WO02056172A2 WO 2002056172 A2 WO2002056172 A2 WO 2002056172A2 US 0150415 W US0150415 W US 0150415W WO 02056172 A2 WO02056172 A2 WO 02056172A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- vmm
- address space
- operating system
- guest operating
- region
- Prior art date
Links
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
Definitions
- the present invention relates generally to virtual machines, and more specifically to resolving address space conflicts between a virtual machine monitor and a guest operating system.
- a conventional virtual machine monitor typically runs on a
- Each virtual machine may function as a self-contained platform
- guest operating system i.e., an operating system hosted by the VMM.
- the guest operating system expects to operate as if it were running on a
- VMM virtual machine environment
- VMM typically intercepts and arbitrates all accesses made by the guest operating system
- the VMM may not be able to intercept accesses of the guest operating system to hardware resources unless a portion of the VMM code and/ or data structures is located in the same virtual address space as the guest operating system.
- the guest operating system does not expect the VMM code and/ or data structures to reside in the address space of the guest operating system and can attempt to access a region occupied by the VMM in this address space, causing an address space
- Figure 1 illustrates one embodiment of a virtual machine environment
- Figure 2 is a block diagram of a system for resolving address space conflicts between a virtual machine monitor and a guest operating system, according to
- Figure 3 is a flow diagram of a method for resolving address space conflicts between a virtual machine monitor and a guest operating system, according to one embodiment of the present invention
- Figure 4 is a flow diagram of a method for relocating a virtual machine kernel
- Figure 5 illustrates operation of a virtual machine kernel that supports guest
- Figure 6 is a flow diagram of a method for handling a virtualization trap
- Figure 7 is a block diagram of one embodiment of a processing system. Description of Embodiments
- the present invention also relates to apparatus for performing the
- This apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or
- program may be stored in a computer readable storage medium, such as, but is
- any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access
- RAMs random access memory
- EPROMs erasable programmable read-only memory
- EEPROMs electrically erasable programmable read-only memory
- magnetic or optical cards or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus. Instructions are executable using one or more processing devices
- processors e.g., processors, central processing units, etc.
- the method and apparatus of the present invention provide a mechanism for resolving address space conflicts between a guest operating system and a virtual machine monitor (VMM).
- Figure 1 illustrates one embodiment of a virtual machine monitor
- bare platform hardware 116 comprises a computing platform, which may be capable, for example, of executing a standard operating system (OS) or a
- VMM virtual machine monitor
- Such higher level software may comprise a
- VMM may be run within, or on top of
- VMMs and their typical features and functionality are well-defined
- a VMM presents to other software (i.e., "guest” software) the abstraction of one or more virtual machines (VMs).
- VMs virtual machines
- Each VM includes a guest OS such as a guest OS 104 or
- Each of the guest OSs 104 is a grouping of guest OSs 104 and various guest software apphcations 108-110. Each of the guest OSs 104
- the VMM 112 should be able to have ultimate control over the physical resources to provide protection from and between VMs 102 and 114.
- the VMM 112 achieves this goal by intercepting all accesses of the guest OSs 104
- a guest deprivileging technique may be used to enable the VMM 112 to intercept the above accesses.
- Guest deprivileging forces all guest software to run at a hardware privilege level that does not allow that software access to certain hardware resources.
- the guest OS 104 or 106 attempts to access any of these hardware resources, it "traps" to the VMM 112, i.e., the VMM 112 receives control over an
- VMM 112 When using guest deprivileging or other techniques enabling the VMM 112 to intercept accesses of the guest OSs 104 and 106 to the computer's physical
- VMM code and/ or data structures may be architecturally
- VMM code may attempt to access a region occupied by the VMM code and /or
- the present invention provides a mechanism for resolving such address space conflicts.
- FIG. 2 is a block diagram of a system 200 for resolving address space conflicts between a VMM and a guest OS, according to one embodiment of the present invention.
- System 200 includes bare platform hardware 214 that includes
- a computing platform capable of executing a guest OS (e.g., guest OS 104 or 106),
- VMM e.g., VMM 112
- Two separate address spaces 204 and 202 are
- VM address space 204 is
- VMM address space 202 is allocated for VMM code and data structures.
- the guest OS to enable the VMM to intercept the guest OS's accesses to hardware resources.
- ISA instruction set architecture
- IDT interrupt-descriptor table
- VMM code and/ or data structures may be architecturally required to reside in the same space address as the guest OS to enable the VMM's control over accesses made by the guest OS to hardware resources.
- the VMM code and structures are divided into two portions.
- the first portion of the VMM includes a set of code and/ or data structures that are required to reside in the address space of the guest OS, i.e., in the VM address space 204.
- the second portion of the VMM includes the remainder of the VMM code and data structures.
- VMM code (referred as a virtual machine kernel 210) collects a minimal set of the VMM code and/ or data structures that are required to be located in the same
- VMM code and data structures are compiled as a separate program and located in the VMM address
- the virtual machine kernel (VMK) 210 then maps itself into both the VM address space 204 and the VMM address space 202.
- the VMK 210 the VMM code and/or data structures in the VM address space 204, the VMK 210
- the VMK 210 receives
- the VMK 210 then evaluates this event to determine its cause.
- the VMK 210 re-maps itself into a different region within the VM address space 204 to allow the guest OS to access the region previously used by the VMK 210.
- One embodiment of a method for relocating the VMK 210 within the VM address space 204 is described in greater detail below in conjunction with Figure 4.
- Figure 3 is a flow diagram of one embodiment of a method 300 for resolving address space conflicts between a VMM and a guest OS, according to one embodiment of the present invention.
- Method 300 begins with dividing the VMM into a first portion and a second portion (processing block 304). As
- the first portion includes a set of VMM code and/ or data structures that are architecturally required to reside in the same address space as
- the second portion of the VMM includes the remainder of the VMM code and data structures. In one embodiment (described in greater detail
- the first portion of the VMM includes a set of trap handlers and an interrupt-descriptor table (IDT).
- IDT interrupt-descriptor table
- a first address space i.e., VM address space 204.
- VMM address space 202 a second address space
- these address spaces are created during the boot process. Further, the first portion of the VMM is mapped into both the VM address space and the VMM address space (processing block 310), and the second portion of the VMM is loaded into the VMM address space (processing block 312). At processing block 314, an attempt of the guest OS to access a region occupied by the first portion of the VMM is detected. In one embodiment, such an attempt is detected by transferring control over an event initiated by the guest
- the VMM is detected (processing block 404), the VM address space is searched for
- the VMK containing the first portion of the VMM code and data structures is remapped into this unused region, and control is transferred back to the guest OS, which may now access the region previously used by the VMK.
- a random region is selected within the VM address space (processing block 412), the content of the memory
- processing block 4114 located at the selected region is copied to a buffer in the VMM address space (processing block 414), and the VMK is remapped into the selected region in the
- selected region i.e., new VMK region
- the frequency of such emulated memory references may be reduced by periodically relocating the VMK to random regions within the VM address space until a region is found that is
- Figure 5 illustrates operation of a VMK that supports guest deprivileging
- deprivileging causes the guest OS to run at a lesser privileged level so that the guest OS "traps" to the VMM whenever it attempts to issue privileged
- VMM supporting guest deprivileging installs pointers to trap handling routines
- the entries in the IDT 514 are task gates, which provide an address space switch. That is, when a trap is generated, the IDT 514 is searched for a pointer to a trap handling routine. If this pointer is a task gate, it will enable a direct switch to the VMM address space, which contains a trap handling routine for the generated trap. Accordingly, a trap handler corresponding to a task gate does not need to reside in the VM address space, although the task gate itself must reside in the VM address space.
- entries in the IDT 514 are trap gates or
- the VMM may place shadow versions of other data structures (e.g.,
- the VMK 510 collects together a minin al set of trap
- handlers and/or data structures e.g., the IDT 514. that must be located in the VM
- the guest OS runs in the deprivileged
- the guest OS generates virtualization traps whenever it
- VMK 510 that are protected with the most privileged access rights.
- the IDT 514 when a virtualization trap is generated, the IDT 514 is searched for a corresponding pointer to a trap handler.
- a trap may need to be handled by the VMM-resident trap handler.
- the VMK performs two address space switches - one switch to deliver the trap to the trap handler in the VMM address space 502, and a second switch to transition back to the VM address space 504 after the trap has been serviced by VMM-resident trap-handler.
- a trap can be handled in a VMK-resident handler.
- a trap may be caused by an instruction of the guest OS to reset a flag in the
- Such a trap can be handled entirely in the trap handler 552, without transferring control to the VMM in the VMM address space 502, and such
- the VMK 510 handles these conflict faults by re-mapping
- Figure 6 is a flow diagram of a method 600 for handling virtualization
- Method 600 begins with setting access rights of the region occupied by
- the VMK to a more privileged level than a privilege level associated with the
- a trap generated by the guest OS is received.
- the trap is caused by an attempt of the guest OS to access privileged hardware resources.
- a determination is made as to whether the trap can be handled internally by the VMK (e.g., in a VMK-resident trap handler). If the trap is too complex to be handled by the VMK, it is delivered to the VMM address space (e.g., to a VMM-resident trap handler) (processing block 610) and then resumed back to the VM address space after the trap has been serviced by
- the trap is returned to the guest OS (processing block 620).
- trap is handled in a corresponding trap handler (processing block 616).
- control over the event that caused the trap is returned to the guest OS
- Figure 7 is a block diagram of one embodiment of a processing system.
- Processing system 700 includes processor 720 and memory 730.
- Processor 720 can be any type of processor that can be used to perform calculations and calculations.
- processors capable of executing software, such as a microprocessor,
- Processing system 700 can be a personal computer (PC), mainframe, handheld device, portable computer, set-top box, or any other system that includes software.
- PC personal computer
- mainframe mainframe
- handheld device portable computer
- set-top box or any other system that includes software.
- Memory 730 can be a hard disk, a floppy disk, random access memory (RAM), read only memory (ROM), flash memory, or any other type of machine medium readable by processor 720.
- Memory 730 can store instructions for
Abstract
Description
Claims
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2002249862A AU2002249862A1 (en) | 2000-12-27 | 2001-12-20 | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system |
BR0116630-1A BR0116630A (en) | 2000-12-27 | 2001-12-20 | Method for resolving address space conflicts between a virtual machine monitor and a host operating system |
EP01998106A EP1405181A2 (en) | 2000-12-27 | 2001-12-20 | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system |
JP2002556364A JP4021769B2 (en) | 2000-12-27 | 2001-12-20 | A method for resolving address space conflicts between the virtual machine monitor and the guest operating system |
KR1020037008770A KR100624668B1 (en) | 2000-12-27 | 2001-12-20 | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system |
CN018228372A CN1575453B (en) | 2000-12-27 | 2001-12-20 | Method for resolving address space conflicts |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/752,587 | 2000-12-27 | ||
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 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2002056172A2 true WO2002056172A2 (en) | 2002-07-18 |
WO2002056172A3 WO2002056172A3 (en) | 2004-01-08 |
Family
ID=25026926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2001/050415 WO2002056172A2 (en) | 2000-12-27 | 2001-12-20 | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system |
Country Status (10)
Country | Link |
---|---|
US (2) | US7035963B2 (en) |
EP (1) | EP1405181A2 (en) |
JP (1) | JP4021769B2 (en) |
KR (1) | KR100624668B1 (en) |
CN (2) | CN1575453B (en) |
AU (1) | AU2002249862A1 (en) |
BR (1) | BR0116630A (en) |
RU (1) | RU2259582C2 (en) |
TW (1) | TWI228221B (en) |
WO (1) | WO2002056172A2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004027603A3 (en) * | 2002-09-23 | 2006-03-23 | Ericsson Telefon Ab L M | Security access manager in middleware |
US8176485B2 (en) | 2006-05-15 | 2012-05-08 | Microsoft Corporation | Launching hypervisor under running operating system |
Families Citing this family (101)
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 |
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 |
JP2007508623A (en) * | 2003-10-08 | 2007-04-05 | ユニシス コーポレーション | Virtual data center that allocates and manages system resources across multiple nodes |
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 |
US20070006178A1 (en) * | 2005-05-12 | 2007-01-04 | Microsoft Corporation | Function-level just-in-time translation engine with multiple pass optimization |
US7496495B2 (en) * | 2005-05-12 | 2009-02-24 | Microsoft Corporation | Virtual operating system device communication relying on memory access violations |
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 (en) * | 2005-06-27 | 2007-01-11 | Hitachi Ltd | Control method and program for virtual machine |
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 |
US8612970B2 (en) * | 2005-11-30 | 2013-12-17 | Red Hat, Inc. | Purpose domain for low overhead virtual machines |
US8429629B2 (en) | 2005-11-30 | 2013-04-23 | Red Hat, Inc. | In-kernel virtual machine for low overhead startup and low resource usage |
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 |
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 (en) | 2006-06-27 | 2008-01-03 | Deutsche Telekom Ag | Procedure for delegating privileges to a lower privilege instance by a higher privilege instance |
JP2008033392A (en) * | 2006-07-26 | 2008-02-14 | Nec Corp | Virtual computer system and operation method thereof |
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 |
US9189265B2 (en) | 2006-12-21 | 2015-11-17 | Vmware, Inc. | Storage architecture for virtual machines |
US9354927B2 (en) * | 2006-12-21 | 2016-05-31 | Vmware, Inc. | Securing virtual machine data |
US9098347B2 (en) | 2006-12-21 | 2015-08-04 | Vmware | Implementation of virtual machine operations using storage system functionality |
US7765374B2 (en) * | 2007-01-25 | 2010-07-27 | Microsoft Corporation | Protecting operating-system resources |
US8380987B2 (en) * | 2007-01-25 | 2013-02-19 | Microsoft Corporation | Protection agents and privilege modes |
KR101396831B1 (en) * | 2007-03-30 | 2014-05-21 | 삼성전자주식회사 | Method of Controlling Memory Access |
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 (en) * | 2007-06-29 | 2010-04-14 | 联想(北京)有限公司 | Method and device for virtual machine monitor recognizing client operating system progress |
US8763115B2 (en) * | 2007-08-08 | 2014-06-24 | Vmware, Inc. | Impeding progress of malicious guest software |
US7882274B2 (en) * | 2007-09-20 | 2011-02-01 | Virtual Desktop Technologies, Inc. | Computer system with multiple terminals |
CN101425020A (en) * | 2007-10-31 | 2009-05-06 | 国际商业机器公司 | Method and device for accelerating MMU emulation and total system emulator |
KR100881386B1 (en) | 2008-01-24 | 2009-02-02 | 주식회사 파수닷컴 | Method for preventing drm client crash using process separate execution |
CN101727331B (en) * | 2008-10-24 | 2013-03-20 | 国际商业机器公司 | Method and equipment for upgrading client operating system of active virtual machine |
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 |
US8806101B2 (en) * | 2008-12-30 | 2014-08-12 | Intel Corporation | Metaphysical address space for holding lossy metadata in hardware |
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 (en) * | 2010-02-17 | 2011-08-24 | 삼성전자주식회사 | Virtualization apparatus for providing transactional input and output interface and method thereof |
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 (en) * | 2011-11-07 | 2013-05-15 | 한국전자통신연구원 | Apparatus for translating virtual address space |
EP2788864B1 (en) * | 2011-12-07 | 2016-09-21 | Intel Corporation | Techniques to prelink software to improve memory de-duplication in a virtual system |
RU2472215C1 (en) | 2011-12-28 | 2013-01-10 | Закрытое акционерное общество "Лаборатория Касперского" | Method of detecting unknown programs by load process emulation |
EP3364297B1 (en) | 2012-06-26 | 2022-05-04 | Lynx Software Technologies 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 (en) * | 2013-12-30 | 2015-07-08 | 北京控制工程研究所 | Absolute address convergence based data access conflict detection method |
US9292686B2 (en) | 2014-01-16 | 2016-03-22 | Fireeye, Inc. | Micro-virtualization architecture for threat-aware microvisor deployment in a node of a network environment |
US9436395B2 (en) * | 2014-03-14 | 2016-09-06 | Advanced Micro Devices, Inc. | Mechanisms to save user/kernel copy for cross device communications |
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 |
CA2969422A1 (en) | 2014-05-15 | 2015-11-19 | Lynx Software Technologies Inc. | Systems and methods involving features of hardware virtualization, hypervisor, apis of interest, and/or other features |
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 |
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 (en) * | 2016-08-09 | 2017-07-28 | Акционерное Общество "Научно-Исследовательский Институт Микроэлектронной Аппаратуры "Прогресс" | Program-hardware platform and method of its realisation for wireless communication facilities |
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 |
US20230033583A1 (en) * | 2021-07-30 | 2023-02-02 | Advanced Micro Devices, Inc. | Primary input-output queue serving host and guest operating systems concurrently |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4217444A1 (en) * | 1991-05-27 | 1992-12-03 | Hitachi Ltd | METHOD AND DEVICE FOR THE DYNAMIC TRANSFER OF VIRTUAL MACHINES IN A MAIN STORAGE |
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 |
US5504922A (en) * | 1989-06-30 | 1996-04-02 | Hitachi, Ltd. | Virtual machine with hardware display controllers for base and target machines |
Family Cites Families (181)
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 (en) | 1978-11-30 | 1983-05-16 | 国産電機株式会社 | Liquid level detection device |
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 (en) | 1980-09-13 | 1982-04-22 | Robert Bosch Gmbh, 7000 Stuttgart | READ-OUT LOCK FOR ONE-CHIP MICROPROCESSORS |
JPS58140862A (en) | 1982-02-16 | 1983-08-20 | Toshiba Corp | Mutual exclusion system |
US4521852A (en) | 1982-06-30 | 1985-06-04 | Texas Instruments Incorporated | Data processing device formed on a single semiconductor substrate having secure memory |
JPS59111561A (en) | 1982-12-17 | 1984-06-27 | Hitachi Ltd | Access controlling system of composite processor system |
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 (en) | 1985-03-11 | 1986-09-12 | Hitachi Ltd | Address converting device |
JPS6273346A (en) * | 1985-09-27 | 1987-04-04 | Hitachi Ltd | Address converter |
FR2592510B1 (en) | 1985-12-31 | 1988-02-12 | Bull Cp8 | METHOD AND APPARATUS FOR CERTIFYING SERVICES OBTAINED USING A PORTABLE MEDIUM SUCH AS A MEMORY CARD |
FR2601535B1 (en) | 1986-07-11 | 1988-10-21 | Bull Cp8 | METHOD FOR CERTIFYING THE AUTHENTICITY OF DATA EXCHANGED BETWEEN TWO DEVICES CONNECTED LOCALLY OR REMOTELY THROUGH A TRANSMISSION LINE |
FR2601476B1 (en) | 1986-07-11 | 1988-10-21 | Bull Cp8 | METHOD FOR AUTHENTICATING EXTERNAL AUTHORIZATION DATA BY A PORTABLE OBJECT SUCH AS A MEMORY CARD |
FR2601525B1 (en) | 1986-07-11 | 1988-10-21 | Bull Cp8 | SECURITY DEVICE PROHIBITING THE OPERATION OF AN ELECTRONIC ASSEMBLY AFTER A FIRST SHUTDOWN OF ITS POWER SUPPLY |
JPS63156248A (en) * | 1986-12-19 | 1988-06-29 | Nec Corp | Virtual computer system |
FR2618002B1 (en) | 1987-07-10 | 1991-07-05 | Schlumberger Ind Sa | METHOD AND SYSTEM FOR AUTHENTICATING ELECTRONIC MEMORY CARDS |
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 (en) | 1988-12-20 | 1993-01-08 | Bull Cp8 | DATA PROCESSING DEVICE COMPRISING AN ELECTRICALLY ERASABLE AND REPROGRAMMABLE NON-VOLATILE MEMORY |
JPH02171934A (en) | 1988-12-26 | 1990-07-03 | Hitachi Ltd | Virtual machine system |
JPH02208740A (en) | 1989-02-09 | 1990-08-20 | Fujitsu Ltd | Virtual computer control system |
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 |
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 (en) * | 1989-08-31 | 1991-04-12 | Nec Corp | Program starting system in virtual computer environment |
JP2825550B2 (en) | 1989-09-21 | 1998-11-18 | 株式会社日立製作所 | Multiple virtual space address control method and computer system |
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 |
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 (en) * | 1991-02-08 | 2000-10-03 | 日本電気株式会社 | Information processing device interrupt method |
US5446904A (en) * | 1991-05-17 | 1995-08-29 | Zenith Data Systems Corporation | Suspend/resume capability for a protected mode microprocessor |
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 (en) | 1991-10-21 | 1994-08-23 | Intel Corp | Method for preservation and restoration of computer-system processing state and computer system |
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 (en) | 1992-11-30 | 1998-06-18 | 株式会社日立製作所 | Virtual computer system |
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 (en) | 1992-12-18 | 1994-07-08 | Hitachi Ltd | Input and output interruption control method for virtual computer system |
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 (en) | 1993-04-06 | 1995-05-24 | Bull Cp8 | Method for signing a computer file, and device for implementing it. |
FR2704341B1 (en) | 1993-04-22 | 1995-06-02 | Bull Cp8 | Device for protecting the keys of a smart card. |
JPH06348867A (en) | 1993-06-04 | 1994-12-22 | Hitachi Ltd | Microcomputer |
FR2706210B1 (en) | 1993-06-08 | 1995-07-21 | Bull Cp8 | Method for authenticating a portable object by an offline terminal, portable object and corresponding terminal. |
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 (en) | 1994-03-09 | 1996-04-05 | Bull Cp8 | Method and device for authenticating a data medium intended to allow a transaction or access to a service or a place, and corresponding medium. |
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 |
US5473692A (en) | 1994-09-07 | 1995-12-05 | Intel Corporation | Roving software license for a hardware agent |
US5539828A (en) | 1994-05-31 | 1996-07-23 | Intel Corporation | Apparatus and method for providing secured communications |
JPH0883211A (en) | 1994-09-12 | 1996-03-26 | Mitsubishi Electric Corp | Data processor |
US6058478A (en) * | 1994-09-30 | 2000-05-02 | Intel Corporation | Apparatus and method for a vetted field upgrade |
FR2725537B1 (en) | 1994-10-11 | 1996-11-22 | Bull Cp8 | METHOD FOR LOADING A PROTECTED MEMORY AREA OF AN INFORMATION PROCESSING DEVICE AND ASSOCIATED DEVICE |
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 (en) * | 1995-03-10 | 1997-04-18 | Schlumberger Ind Sa | METHOD FOR SECURE INFORMATION RECORDING ON A PORTABLE MEDIUM |
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 (en) | 1995-06-07 | 2003-09-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Microprocessor with architectural mode control capable of supporting extension to two distinct instruction set architectures |
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 (en) | 1995-11-10 | 2005-09-07 | Necエレクトロニクス株式会社 | Microcomputer with built-in flash memory and test method thereof |
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 |
US6178509B1 (en) * | 1996-06-13 | 2001-01-23 | Intel Corporation | Tamper resistant methods and apparatus |
US6205550B1 (en) * | 1996-06-13 | 2001-03-20 | 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 (en) * | 1996-11-05 | 1998-05-22 | Mitsubishi Electric Corp | Semiconductor device and computer system |
US5852717A (en) | 1996-11-20 | 1998-12-22 | Shiva Corporation | Performance optimizations for computer networks utilizing HTTP |
DE19649292A1 (en) * | 1996-11-28 | 1998-06-04 | Deutsche Telekom Ag | Access protection method for pay television |
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 (en) * | 1997-08-19 | 1998-10-01 | Siemens Nixdorf Inf Syst | Method for improving controllability in data processing equipment with translation-look-aside-buffer (TLB) |
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 |
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 |
US6357004B1 (en) * | 1997-09-30 | 2002-03-12 | Intel Corporation | System and method for ensuring integrity throughout post-processing |
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 |
EP0990072B2 (en) * | 1998-04-22 | 2008-01-02 | Peter Geiger | Paving of concrete paving stones |
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 (en) * | 1998-05-20 | 2000-06-30 | Schlumberger Ind Sa | METHOD FOR AUTHENTICATING A PERSONAL CODE OF A USER OF AN INTEGRATED CIRCUIT CARD |
US6421702B1 (en) * | 1998-06-09 | 2002-07-16 | Advanced Micro Devices, Inc. | Interrupt driven isochronous task scheduler system |
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 |
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 |
JP2000076087A (en) * | 1998-08-28 | 2000-03-14 | Hitachi Ltd | Multioperating system control method |
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 |
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 |
US7111290B1 (en) * | 1999-01-28 | 2006-09-19 | Ati International Srl | Profiling program execution to identify frequently-executed portions and to assist binary translation |
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 (en) * | 1999-09-09 | 2001-05-29 | Nikon Corp | Aligner, method for controlling output of energy source, laser using the method and method for manufacturing device |
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 |
US6678825B1 (en) * | 2000-03-31 | 2004-01-13 | Intel Corporation | Controlling access to multiple isolated memories in an isolated execution environment |
US6507904B1 (en) * | 2000-03-31 | 2003-01-14 | Intel Corporation | Executing isolated mode instructions in a secure system running in privilege rings |
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 |
AU2002231073A1 (en) * | 2000-12-21 | 2002-07-01 | Connectix Corporation | Logical substitution of processor control in an emulated computing environment |
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 CN CN018228372A patent/CN1575453B/en not_active Expired - Fee Related
- 2001-12-20 CN CN2010101495395A patent/CN101826030B/en not_active Expired - Fee Related
- 2001-12-20 BR BR0116630-1A patent/BR0116630A/en not_active Application Discontinuation
- 2001-12-20 KR KR1020037008770A patent/KR100624668B1/en not_active IP Right Cessation
- 2001-12-20 JP JP2002556364A patent/JP4021769B2/en not_active Expired - Fee Related
- 2001-12-20 EP EP01998106A patent/EP1405181A2/en not_active Withdrawn
- 2001-12-20 RU RU2003123112/09A patent/RU2259582C2/en not_active IP Right Cessation
- 2001-12-20 WO PCT/US2001/050415 patent/WO2002056172A2/en active Application Filing
- 2001-12-20 AU AU2002249862A patent/AU2002249862A1/en not_active Abandoned
- 2001-12-24 TW TW090132036A patent/TWI228221B/en not_active IP Right Cessation
-
2003
- 2003-09-30 US US10/676,737 patent/US7020738B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5504922A (en) * | 1989-06-30 | 1996-04-02 | Hitachi, Ltd. | Virtual machine with hardware display controllers for base and target machines |
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 |
DE4217444A1 (en) * | 1991-05-27 | 1992-12-03 | Hitachi Ltd | METHOD AND DEVICE FOR THE DYNAMIC TRANSFER OF VIRTUAL MACHINES IN A MAIN STORAGE |
Non-Patent Citations (2)
Title |
---|
KASHIWAGI K ET AL: "Design and implementation of dynamically reconstructing system software" SOFTWARE ENGINEERING CONFERENCE, 1996. PROCEEDINGS., 1996 ASIA-PACIFIC SEOUL, SOUTH KOREA 4-7 DEC. 1996, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 4 December 1996 (1996-12-04), pages 278-287, XP010211205 ISBN: 0-8186-7638-8 * |
See also references of EP1405181A2 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004027603A3 (en) * | 2002-09-23 | 2006-03-23 | Ericsson Telefon Ab L M | Security access manager in middleware |
US7149510B2 (en) | 2002-09-23 | 2006-12-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Security access manager in middleware |
US8176485B2 (en) | 2006-05-15 | 2012-05-08 | Microsoft Corporation | Launching hypervisor under running operating system |
Also Published As
Publication number | Publication date |
---|---|
US20030120856A1 (en) | 2003-06-26 |
KR20030097798A (en) | 2003-12-31 |
RU2259582C2 (en) | 2005-08-27 |
RU2003123112A (en) | 2005-02-27 |
CN101826030B (en) | 2012-12-05 |
JP4021769B2 (en) | 2007-12-12 |
CN1575453B (en) | 2011-01-12 |
TWI228221B (en) | 2005-02-21 |
US20040064813A1 (en) | 2004-04-01 |
WO2002056172A3 (en) | 2004-01-08 |
AU2002249862A1 (en) | 2002-07-24 |
KR100624668B1 (en) | 2006-09-18 |
US7035963B2 (en) | 2006-04-25 |
US7020738B2 (en) | 2006-03-28 |
CN101826030A (en) | 2010-09-08 |
CN1575453A (en) | 2005-02-02 |
BR0116630A (en) | 2004-09-28 |
JP2004526229A (en) | 2004-08-26 |
EP1405181A2 (en) | 2004-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7020738B2 (en) | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system | |
US7818808B1 (en) | Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor | |
US8032897B2 (en) | Placing virtual machine monitor (VMM) code in guest context to speed memory mapped input/output virtualization | |
US8561060B2 (en) | Processor and method configured to determine an exit mechanism using an intercept configuration for a virtual machine | |
US8015388B1 (en) | Bypassing guest page table walk for shadow page table entries not present in guest page table | |
US7127548B2 (en) | Control register access virtualization performance improvement in the virtual-machine architecture | |
US6081890A (en) | Method of communication between firmware written for different instruction set architectures | |
US7209994B1 (en) | Processor that maintains virtual interrupt state and injects virtual interrupts into virtual machine guests | |
US7707341B1 (en) | Virtualizing an interrupt controller | |
US7073042B2 (en) | Reclaiming existing fields in address translation data structures to extend control over memory accesses | |
US8352670B2 (en) | Execute-only memory and mechanism enabling execution from execute-only memory for minivisor | |
US8412910B2 (en) | Maintaining reverse mappings in a virtualized computer system | |
US4779188A (en) | Selective guest system purge control | |
US7886293B2 (en) | Optimizing system behavior in a virtual machine environment | |
US9785506B2 (en) | Reducing likelihood of concurrency error in virtualized computing environment | |
EP2955634B1 (en) | Paravirtualization-based interface for memory management in virtual machines | |
US20080244155A1 (en) | Methods and apparatus to protect dynamic memory regions allocated to programming agents | |
EP0145960B1 (en) | Selective guest system purge control | |
US8091090B2 (en) | Method for providing scratch registers for use by a virtual-machine monitor | |
Poess | Feasibility Study of Building a User-mode Native Windows NT VMM |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PH PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2002556364 Country of ref document: JP Ref document number: 1020037008770 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 693/MUMNP/2003 Country of ref document: IN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2001998106 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 018228372 Country of ref document: CN |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
WWP | Wipo information: published in national office |
Ref document number: 1020037008770 Country of ref document: KR |
|
WWP | Wipo information: published in national office |
Ref document number: 2001998106 Country of ref document: EP |