Use this URL to cite or link to this record in EThOS:
Title: Understanding systems with virtual machines
Author: Ho, A. C.
Awarding Body: University of Cambridge
Current Institution: University of Cambridge
Date of Award: 2007
Availability of Full Text:
Full text unavailable from EThOS.
Please contact the current institution’s library for further details.
This dissertation introduces two novel techniques. Firstly, code in the virtualization layer, a software debug assist, provides hooks for debugging, such as extended breakpoint-like facilities. Secondly, the embedded code can modify the characteristics of the virtual resources provided to guests. This can be used to place additional constraints on the behaviour of the target beyond what is specified by the underlying architecture and to ensure correct operation. To demonstrate the feasibility and usefulness of these techniques, this dissertation presents the design and implementation of two prototype tools on commodity x86 machines. The first is a pervasive debugger, which places the debugger in the virtualization layer beneath the target application. The position of the debugger enables horizontal debugging, controlling multiple targets concurrently, and vertical debugging, examining the entire virtual hardware and software hierarchy. The second prototype illustrates demand emulation, which efficiently implements resource modifications that are only used “part-time” – the target dynamically switches between virtualization and emulation whenever the new feature is used. This is demonstrated with a system that protects against hostile network traffic using tainting. In-coming packets are untrusted, and the propagation of the data throughout the system is tracked using demand emulation. Any unsafe use of tainted data is prohibited. Demand emulation combines the speed of hardware with the flexibility of software.
Supervisor: Not available Sponsor: Not available
Qualification Name: Thesis (Ph.D.) Qualification Level: Doctoral
EThOS ID:  DOI: Not available