Instruction set emulation for guest operating systems
First Claim
Patent Images
1. A method performed by a host computing device, the method comprising:
- receiving a request to execute an application on the host computing device, wherein the host computing device has a corresponding host instruction set architecture and the application comprises first application instructions from a guest instruction set architecture that is different than the host instruction set architecture;
loading a processing unit emulator and a guest operating system together into a first process with the application, wherein;
the processing unit emulator translates the first application instructions into second application instructions in the host instruction set architecture, andthe guest operating system provides at least one guest operating system interface that is called by the application; and
running the application by executing the second application instructions on the host computing device,wherein the first process comprises a shared address space that is shared by the application, the processing unit emulator, and the guest operating system, andwherein the host computing device comprises a host operating system that includes a second process.
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.
251 Citations
19 Claims
-
1. A method performed by a host computing device, the method comprising:
-
receiving a request to execute an application on the host computing device, wherein the host computing device has a corresponding host instruction set architecture and the application comprises first application instructions from a guest instruction set architecture that is different than the host instruction set architecture; loading a processing unit emulator and a guest operating system together into a first process with the application, wherein; the processing unit emulator translates the first application instructions into second application instructions in the host instruction set architecture, and the guest operating system provides at least one guest operating system interface that is called by the application; and running the application by executing the second application instructions on the host computing device, wherein the first process comprises a shared address space that is shared by the application, the processing unit emulator, and the guest operating system, and wherein the host computing device comprises a host operating system that includes a second process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. One or more computer-readable storage media storing instructions which, when executed by one or more processing devices, cause the one or more processing devices to perform acts comprising:
-
receiving a request to execute a guest application on a host device comprising a host instruction set architecture and a host operating system, the guest application comprising one or more guest application binaries; checking application metadata associated with the guest application to identify a guest instruction set architecture and a guest operating system for the guest application, wherein the guest instruction set architecture is different than the host instruction set architecture; and in a first instance, loading the guest application, the guest operating system for the guest application, and an emulator configured to translate the one or more guest application binaries into the host instruction set architecture together in a single process. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A computing device comprising:
-
at least one processing unit having an associated native instruction set architecture; and at least one memory or storage device storing native instructions in the native instruction set architecture that, when executed by the at least one processing unit, cause the at least one processing unit to; receive a request to execute a guest application, the guest application comprising one or more guest application binaries; identify a guest instruction set architecture and a guest operating system for the guest application, wherein the guest instruction set architecture is different than the native instruction set architecture; load the guest application, the guest operating system for the guest application, and an emulator together in a shared execution context; and translate the one or more guest application binaries into the native instruction set architecture using the emulator that is loaded into the shared execution context with the guest application and the guest operating system. - View Dependent Claims (16, 17, 18, 19)
-
Specification