Method for emulating hardware features of a foreign architecture in a host operating system environment
First Claim
1. A host computer system adapted to translate foreign binary code for execution, where said host computer system is architecturally distinct from the foreign architecture capable of executing said foreign binary code, said host computer system comprising:
- a foreign virtual memory space for maintaining a virtual machine;
a host virtual memory space for maintaining host processes associated with said virtual machine;
means for detecting a change in said foreign virtual memory space to denote the creation of at least one additional virtual machine in said foreign virtual memory space; and
means for establishing a host process associated with said at least one additional virtual machine.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention relates to a computer system adapted to efficiently execute binary translated code. In accordance with the present invention, foreign code is stored in a foreign virtual memory space, translated to acquire binary translated code, which is stored in a host virtual memory space and then executed. The host computer system isolates each virtual memory configuration into separate processes referred to as a virtual machine while enabling multiple virtual machines to exist simultaneously. Execution may switch from one virtual machine to another merely by switching to a new page table, where each page table describes the memory configuration of a virtual machine. Common system level resources are shared by the virtual machines under the control of a virtual memory manager.
103 Citations
22 Claims
-
1. A host computer system adapted to translate foreign binary code for execution, where said host computer system is architecturally distinct from the foreign architecture capable of executing said foreign binary code, said host computer system comprising:
-
a foreign virtual memory space for maintaining a virtual machine;
a host virtual memory space for maintaining host processes associated with said virtual machine;
means for detecting a change in said foreign virtual memory space to denote the creation of at least one additional virtual machine in said foreign virtual memory space; and
means for establishing a host process associated with said at least one additional virtual machine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. In a computer system for translating foreign binary code for execution on a host computer system, a method for maintaining a plurality of virtual machines comprising the steps of:
-
defining a foreign virtual memory space for maintaining a virtual machine;
defining a host virtual memory space for maintaining host processes associated with said virtual machine;
detecting a change in said foreign virtual memory space to denote the creation of at least one additional virtual machine in said foreign virtual memory space; and
establishing a host process associated with said at least one additional virtual machine. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22)
-
-
17. A host computer system adapted to translate foreign binary code for execution, where said host computer system is architecturally distinct from the foreign architecture capable of executing said foreign binary code, said host computer system comprising:
-
a foreign virtual memory space for maintaining a plurality of virtual machines, each of said virtual machines implemented in foreign binary code;
a host virtual memory space for maintaining a plurality of host processes;
a virtual machine manager for selectively allocating host computer system resources to each of said plurality of host processes.
-
Specification