摘要:
A system and method for validating whether communications between a device driver and a hardware device conform to a communication specification is presented. A validation module obtains a communication specification identifying rules for validating whether communications between a device driver and a hardware device conform to the specification. A redirection module redirects communications between the device driver and the hardware device to the validation module. Based on an individual communication, as well as the context in which an individual communication is made, the validation module validates whether the communication conforms to the communication specification.
摘要:
Efficient power management of a system with virtual machines is disclosed. In particular, such efficient power management may enable coordination of system-wide power changes with virtual machines. Additionally, such efficient power management may enable coherent power changes in a system with a virtual machine monitor. Furthermore, such efficient power management may enable dynamic control and communication of power state changes.
摘要:
A system and method for validating whether communications between a device driver and a hardware device conform to a communication specification is presented. A validation module obtains a communication specification identifying rules for validating whether communications between a device driver and a hardware device conform to the specification. A redirection module redirects communications between the device driver and the hardware device to the validation module. Based on an individual communication, as well as the context in which an individual communication is made, the validation module validates whether the communication conforms to the communication specification.
摘要:
A system, methodology and/or computer architecture that facilitates processing device interrupts (including level-triggered interrupts) in a user-mode process is provided. The kernel interrupt handler can cause a dedicated thread in the process to wake and invoke the driver interrupt service routine. This thread can then return control to the kernel interrupt handler. In addition to processing interrupts in an isolated mode, the context switching technique could be used in any isolated environment to process interrupts via dedicated execution context methods.
摘要:
A method and system for verifying computer system drivers such as kernel mode drivers. A driver verifier sets up tests for specified drivers and monitors the driver's behavior for selected violations that cause system crashes. In one test, the driver verifier allocates a driver's memory pool allocations from a special pool bounded by inaccessible memory space to test for the driver's accessing memory outside of the allocation. The driver verifier also marks the space as inaccessible when it is deallocated, detecting a driver that accesses deallocated space. The driver verifier may also provide extreme memory pressure on a specific driver, or randomly fail requests for pool memory. The driver verifier also checks call parameters for violations, performs checks to ensure a driver cleans up timers when deallocating memory and cleans up memory and other resources when unloaded. An I/O verifier is also described for verifying drivers use of I/O request packets.
摘要:
Systems and methods are provided, whereby partitions may become enlightened and discover the presence of a hypervisor. Several techniques of hypervisor discovery are discussed, such as detecting the presence of virtual processor registers (e.g. model specific registers or special-purpose registers) or the presence of virtual hardware devices. Upon discovery, information (code and/or data) may be injected in a partition by the hypervisor, whereby such injection allows the partition to call the hypervisor. Moreover, the hypervisor may present a versioning mechanism that allows the partition to match up the version of the hypervisor to its virtual devices. Next, once code and/or data is injected, calling conventions are established that allow the partition and the hypervisor to communicate, so that the hypervisor may perform some operations on behalf of the partition. Four exemplary calling conventions are considered: restartable instructions, a looping mechanism, shared memory transport, and synchronous or asynchronous processed packets. Last, cancellation mechanisms are considered, whereby partition requests may be cancelled.
摘要:
A system, methodology and/or computer architecture that facilitates processing device interrupts (including level-triggered interrupts) in a user-mode process is provided. The kernel interrupt handler can cause a dedicated thread in the process to wake and invoke the driver interrupt service routine. This thread can then return control to the kernel interrupt handler. In addition to processing interrupts in an isolated mode, the context switching technique could be used in any isolated environment to process interrupts via dedicated execution context methods.
摘要:
An operating system is described that is capable of ascertaining whether it is executing in a virtual machine environment and is further capable of modifying its behavior to operate more efficiently and provide optimal behavior in a virtual machine environment. An operating system is enlightened so that it is aware of VMMs or hypervisors, taking on behavior that is optimal to that environment. The VMM or hypervisor informs the operating system of the optimal behavior, and vice versa.
摘要:
An automated system for improving the testing of computer devices designed for coupling with docking devices. A plurality of networked computing devices that are individually connected to a compatible docking device through a slave switch. Each slave switch independently connects or disconnects individual computing devices from an attached docking device based on commands obtained from a server. By controlling the electrical connection between the individual computing devices and attached docking devices, the slave switch can simulate the action of docking or undocking one or more selected computers without human intervention. As a result, the present invention provides a system and method that automates the action of docking or undocking a computer. For example, the present invention is suited for use in computer device testing systems wherein a shut down command is sent to a selected computer, after which the selected computer is disconnected from an attached docking device.