INSTRUCTION SET EMULATION FOR GUEST OPERATING SYSTEMS
2 Assignments
0 Petitions
Accused Products
Abstract
The described implementations relate to virtual computing techniques. One implementation provides a technique that can include receiving a request to execute an application. The application can include first application instructions from a guest instruction set architecture. The technique can also include loading an emulator and a guest operating system into an execution context with the application. The emulator can translate the first application instructions into second application instructions from a host instruction set architecture. The technique can also include running the application by executing the second application instructions.
24 Citations
40 Claims
-
1-20. -20. (canceled)
-
21. A host computing device comprising:
-
at least one processing device configured to implement a native instruction set architecture of the host computing device; and at least one computer-readable storage medium storing native instruction set instructions, wherein the at least one computer-readable storage medium includes a memory, and wherein the native instruction set instructions, when executed by the at least one processing device, cause the at least one processing device to; receive a request from a guest operating system to load guest instructions in a guest instruction set architecture other than the native instruction set architecture; check a translation data structure that indicates whether the guest instructions have already been translated into translated native instructions in the native instruction set architecture; in a first instance when the guest instructions have not already been translated into the translated native instructions in the native instruction set architecture, delay translating the guest instructions into the native instruction set architecture until a further request to execute the guest instructions is received; and in a second instance when the guest instructions have already been translated into the translated native instructions in the native instruction set architecture, load the translated native instructions into the memory. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A method performed by a computing device having a native instruction set, the method comprising:
-
maintaining a translation data structure mapping guest locations of guest application instructions to corresponding host locations of translated native instructions in the native instruction set, wherein the guest instructions are in a guest instruction set that is different than the native instruction set; receiving a request to execute individual guest application instructions from a guest application; checking the translation data structure to determine whether individual translated native instructions for the individual guest application instructions have already been loaded into a memory of the computing device; and in an instance when the individual translated native instructions have not already been loaded into the memory; interpreting or compiling the individual guest application instructions to obtain the individual translated native instructions; and executing the individual translated native instructions. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37)
-
-
38. A method performed by a computing device, the method comprising:
-
receiving multiple requests to execute guest instructions; in response to the multiple requests, translating the guest instructions into translated native instructions; and as the guest instructions are translated, updating a translation data structure with mappings of guest locations of the guest instructions to corresponding host locations of the translated native instructions. - View Dependent Claims (39, 40)
-
Specification