In non virtualized systems these two concepts of time

This preview shows page 5 - 7 out of 8 pages.

(“wake me after I’ve executed for 2 seconds”). In non- virtualized systems, these two concepts of time are assumed to be identical. In a virtualized system, this assumption is not valid, and we must provide alternative clock representations. To address this issue, each guest has access to separate logical clocks (Table I) which provide suitable abstractions. A guest can set a periodic or single use alarm against any of these clocks. There is no restriction on the number of alarms which can be set. If desired, a guest may cancel an outstanding alarm. Clock Notion of Time Wall Clock The system’s best guess at global time (EX: 1:23:45PM EDT.) Real Time Clock The number of clock cycles which have elapsed since boot Note: The Real Time Clock is the sum of the Virtual and Stolen Clocks. Virtual Time Clock The number of clock ticks spent in actual guest execution. Stolen Time Clock The number of clock ticks since boot during which the guest was not executing Table 1 : Clocks provided by the hypervisor G. Interrupt Forwarding For guests to be able to interact with devices or outside agents, they need a mechanism for receiving 18
ILLINOIS JOURNAL OF UNDERGRADUATE RESEARCH, VOL. 2, SPRING 2007 interrupts. The hypervisor must multiplex interrupts only to the appropriate guests. When an interrupt is received by the hypervisor, it is forwarded to the currently running guest if the hypervisor does not itself handle it. A more elaborate forwarding scheme will likely be needed, but this simple one suffices for now. This is an area for future work. H. Test and Debugging Framework To simplify development and help ensure stability, our prototype includes a unit test framework. This ensures that developers adding new features do not accidentally introduce regressions and prevents the reintroduction of previously removed bugs. If desired, the test framework and built-in assertion checking can be disabled at compile time to improve performance. For debugging purposes, each guest has access to a simple debug console that feeds output to the serial port. I. Hypercall Interface To develop a rough outline for what the guest- hypervisor interface would entail, we extensively studied the Xen interface [15] and the Virtual Machine Interface (VMI) [16] proposed by VMware. VMI is a very low level interface which exposes many of the features of the hardware directly to the guest. The Xen interface, on the other hand, is a high-level interface which abstracts away many of the complexities of the actual hardware. Table II illustrates the draft interface we developed by comparing these two disparate documents. Area Core Features Basic Console Output Provides a basic debugging console to ease the porting or development of new operating system. Power management Basic management including stopping or restarting, temporarily yielding the processor to allow another guest to run, or blocking until an interrupt arrives Time Multiple clocks (described above); periodic and non- periodic alarms (equivalent to hardware timers) against any of the clocks provided Mode Switching Replicates hardware mechanisms for system calls and return from processor exceptions; allows the guest

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture