Intrinsic Compatibility in Process Virtual Machines

dc.contributor.authorAggarwal, Nidhien_US
dc.contributor.authorSmith, James E.en_US
dc.date.accessioned2012-03-15T17:20:26Z
dc.date.available2012-03-15T17:20:26Z
dc.date.created2006en_US
dc.date.issued2006en_US
dc.description.abstractA Process Virtual Machine (VM) provides an execution environment for a guest user application program on a host platform that may differ from the guest's native platform. Informally, virtualization is compatible if there is no observable difference between the execution of a program on its native platform and as a guest on a process VM. We describe a general framework for modeling process VMs and discussing compatibility issues. A VM is intrinsically compatible if virtualization is compatible for all applications, under all conditions. Using the process VM framework we assert that an intrinsically compatible process VM must dynamically check for all exception conditions that are not checked with static analysis. We then define an efficient process VM to be one where binary translation is used for emulation, and 1) dynamic exception checking is done implicitly by virtue of executing host instructions that result from binary translation, and 2) no spurious memory permission traps occur when binary translated code is executed. These properties are consistent with the way current process VMs like Dynamo, DynamoRIO, IA-32EL, and Fx!32 are implemented. Based on the first of these properties we assert that an efficient VM, while emulating guest code, cannot access any readwrite memory area beyond that corresponding to the guest's original read/write memory region. This implies that the host register file must at least be as big as the guest register file. The host ISA must also support an "execute only" permission for runtime pages. The second property leads to the assertions that the host virtual address space must be larger than the guest virtual address space, and the host permission types must be a superset of the guest permission types. Given the assertions, we discuss the implications for the construction of efficient, intrinsically compatible process VMs and dynamic binary optimizers.en_US
dc.format.mimetypeapplication/pdfen_US
dc.identifier.citationTR1563en_US
dc.identifier.urihttp://digital.library.wisc.edu/1793/60500
dc.publisherUniversity of Wisconsin-Madison Department of Computer Sciencesen_US
dc.titleIntrinsic Compatibility in Process Virtual Machinesen_US
dc.typeTechnical Reporten_US

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
TR1563.pdf
Size:
3.19 MB
Format:
Adobe Portable Document Format