US2013145363A1PendingUtilityA1

System and method thereof for running an unmodified guest operating system in a para-virtualized environment

39
Assignee: EIDUS IZIKPriority: Dec 5, 2011Filed: Mar 22, 2012Published: Jun 6, 2013
Est. expiryDec 5, 2031(~5.4 yrs left)· nominal 20-yr term from priority
G06F 9/4555G06F 9/45541
39
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

An apparatus and method of operation in a para-virtualized environment. The method includes executing a first hypervisor on a hardware platform of a computing device; and executing a second hypervisor over the first hypervisor, the second hypervisor is configured to capture at least a privileged instruction called by an unmodified guest program executed over the second hypervisor and cause the first hypervisor to execute an instruction corresponding to the captured privileged instruction, wherein the unmodified guest program and the second hypervisor operate in a user space protection domain, e.g., Ring 3, and the at least privileged instruction should be executed in a kernel space protection domain, e.g., Ring 0.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . An apparatus operating in a para-virtualized environment, comprising:
 a processor; and   a memory coupled to the processor and configured to store at least a first set of instructions for a first hypervisor for execution by the processor and a second set of instructions for a second hypervisor for execution by the processor over the first hypervisor, wherein the first hypervisor is configured to enable execution of an unmodified guest program over the second hypervisor and wherein the unmodified guest program and the second hypervisor operate in a user space protection domain.   
     
     
         2 . The apparatus of  claim 1 , wherein the second hypervisor is configured to capture at least a privileged instruction called by the unmodified guest program and translate the at least privileged instruction to at least a corresponding instruction of the first set of instructions executable by the first hypervisor without causing an exception, wherein the at least privileged instruction should be executed in a kernel space protection domain. 
     
     
         3 . The apparatus of  claim 2 , wherein execution results of the corresponding instruction are exported to the unmodified guest program. 
     
     
         4 . The apparatus of  claim 3 , wherein the execution results are written to a shared memory portion in the memory shared between at least the unmodified guest program and the first hypervisor. 
     
     
         5 . The apparatus of  claim 2 , wherein the first hypervisor is a para-virtualized hypervisor. 
     
     
         6 . The apparatus of  claim 5 , wherein the first set of instructions are executed in a kernel space protection domain. 
     
     
         7 . The apparatus of  claim 6 , wherein the kernel space protection domain is Ring  0  and the user space protection domain is Ring  3 . 
     
     
         8 . The apparatus of  claim 2 , wherein the translation includes the use of an application program interface (API) provided by the first hypervisor. 
     
     
         9 . The apparatus of  claim 1 , wherein the unmodified guest program is an operating system that was not purposefully designed, programmed, or configured to operate successfully in the para-virtualized environment. 
     
     
         10 . A method of operation in a para-virtualized environment, comprising:
 executing a first hypervisor on a hardware platform of a computing device; and   executing a second hypervisor over the first hypervisor, the second hypervisor is configured to capture at least a privileged instruction called by an unmodified guest program executed over the second hypervisor and cause the first hypervisor to execute an instruction corresponding to the captured privileged instruction, wherein the unmodified guest program and the second hypervisor operate in a user space protection domain and the at least privileged instruction should be executed in a kernel space protection domain.   
     
     
         11 . The method of  claim 10 , wherein the user space protection domain is Ring  3  and the kernel space protection domain is Ring  0 . 
     
     
         12 . The method of  claim 10 , wherein responsive of capturing the at least privileged instruction by the second hypervisor, further comprising:
 translating by the second hypervisor the at least privileged instruction into at least the corresponding instruction executable by the first hypervisor without causing an exception.   
     
     
         13 . The method of  claim 12 , wherein the translation includes the use of an application program interface (API) provided by the first hypervisor. 
     
     
         14 . The method of  claim 12 , wherein execution results of the corresponding instruction are exported to the unmodified guest program. 
     
     
         15 . The method of  claim 10 , wherein the first hypervisor is a para-virtualized hypervisor. 
     
     
         16 . The method of  claim 15 , wherein the unmodified guest program is an operating system that was not purposefully designed, programmed, or configured to operate successfully in the para-virtualized environment. 
     
     
         17 . A non-transitory computer readable medium having stored thereon instructions for causing one or more processing units to execute the method according to  claim 10 . 
     
     
         18 . A method for isolating an unmodified guest program executed in a para-virtualized environment from a para-virtualized hypervisor, comprising:
 executing a para-virtualized hypervisor (PVHV) on a hardware platform of a computing device;   executing an interface hypervisor (IHV) over the PVHV; and   executing the unmodified guest program over the IHV, wherein the IHV is configured to capture at least a privileged instruction received from the unmodified guest program and cause the PVHV to execute an instruction corresponding to the captured privileged instruction, wherein the unmodified guest program and the IHV operate in a user space protection domain and the at least privileged instruction should be executed in a kernel space protection domain.   
     
     
         19 . The method of  claim 18 , wherein the user space protection domain is Ring  3  and wherein the kernel space protection domain is Ring  0 . 
     
     
         20 . The method of  claim 18 , wherein the IHV is further configured to:
 translate the at least privileged instruction to the corresponding instruction by use of an application program interface (API) provided for the PVHV.   
     
     
         21 . The method of  claim 18 , wherein execution results of the corresponding instruction are exported to the unmodified guest program. 
     
     
         22 . The method of  claim 18 , wherein the unmodified guest program is an operating system that was not purposefully designed, programmed, or configured to operate successfully in the para-virtualized environment. 
     
     
         23 . A non-transitory computer readable medium having stored thereon instructions for causing one or more processing units to execute the method according to  claim 18 .

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.