摘要:
A method and system are provided for integrating partitions in a virtual machine environment. Specifically, a partition bus is provided, where the partition bus operatively connects partitions in such a way that it functions as a data transport mechanism allowing for data transfer and device sharing between partitions. The partition bus relies on virtualizing software in order to establish itself and to establish channels of communication between partitions and to inject interrupts to partitions where it is appropriate to do so. Furthermore, the partition bus employs such mechanisms ring buffers, transfer pages, and memory map changes to transfer information (requests and data). Furthermore, it uses policy agents to decide when information should be transferred or when devices should be shared among partitions. Lastly, it employs various mechanisms to ensure smooth integration between partitions, which includes remote services that have proxy devices and device versioning functionalities.
摘要:
A method of virtualizing memory through shadow page tables that cache translations from multiple guest address spaces in a virtual machine includes a software version of a hardware tagged translation look-aside buffer. Edits to guest page tables are detected by intercepting the creation of guest-writable mappings to guest page tables with translations cached in shadow page tables. The affected cached translations are marked as stale and purged upon an address space switch or an indiscriminate flush of translations by the guest. Thereby, non-stale translations remain cached but stale translations are discarded. The method includes tracking the guest-writable mappings to guest page tables, deferring discovery of such mappings to a guest page table for the first time until a purge of all cached translations when the number of untracked guest page tables exceeds a threshold, and sharing shadow page tables between shadow address spaces and between virtual processors.
摘要:
One or more extension registrations are received for each of multiple software components installed on a computing device. The one or more extension registrations identify the software components as providers of functionality. A record of the one or more extension registrations for each of the multiple software components is maintained. Requests are received, from other software components installed on the computing device, that identify particular functionality. In response to such requests, the information regarding one or more of the multiple software components that provide the particular functionality is returned to the other software components.
摘要:
Multiple software component identifiers are maintained in a catalog of an operating system running on a device. Each of these software component identifiers corresponds to one of multiple software components installed on the device. The catalog is accessed in response to a request regarding one of the multiple software components, and the request is responded to based at least in part on information included in the catalog. Additionally, two or more versions of a software component that are installed on the computing device can be identified. Which one of the two or more versions of the software component is an active version of the software component to be run is determined. In response to requests for information regarding the software component, information regarding the active version of the software component is returned.
摘要:
Systems, methods, and computer program products are described that provide a user interface to a user of a first operating system to enable the user to interact with a second operating system executing in a virtual machine. If the first and second operating systems are in communication in accordance with an operating system remote terminal (OSRT) protocol, such as Remote Desktop Protocol, a first user interface is provided as the user interface. If the first and second operating systems are not in communication in accordance with the OSRT protocol, a second user interface is provided as the user interface.
摘要:
Provided are optimizations to the memory virtualization model employed in a virtual machine environment. An opportunistic hypervisor page mapping process is used in order to utilize large memory pages in a virtual machine environment. Using these optimizations, physical memory is being virtualized for the virtual machine in a manner that allows the operating system (OS) running within the virtual machine to take real and full advantage of large physical memory pages.
摘要:
In an emulated computing environment, a method is provided for licensing software of one or more guest computer systems. A license key server is provided in the host computer system for monitoring the initiation of unlicensed software, including operating system software, in the guest computer system. A determination is made by the license key server as to whether additional a license is available for each unlicensed software application. If a license is available, a license is granted and the count of available licenses is decremented. If a license is not available, a license is not granted and the unlicensed software application in the guest computer system is disabled.
摘要:
An architecture and method for emulating guest instructions with host instructions, executable on a host computer, based on a translation scheme. The architecture includes a guest instruction memory and program counter and a RAM memory storing host instructions, in which an address word stored in the program counter is mapped to the RAM memory to access the host instructions. The method constitutes dynamically recompiling (DR) host instructions including providing one memory which stores host instructions, providing in other memory having line entries for storing a fixed number of dynamically recompiled host instructions, and copying a host instruction from the one memory into a line entry of the other memory.
摘要:
One or more extension registrations are received for each of multiple software components installed on a computing device. The one or more extension registrations identify the software components as providers of functionality. A record of the one or more extension registrations for each of the multiple software components is maintained. Requests are received, from other software components installed on the computing device, that identify particular functionality. In response to such requests, the information regarding one or more of the multiple software components that provide the particular functionality is returned to the other software components.
摘要:
Hierarchical virtualization is disclosed, where such virtualization can be accomplished with a multi-level mechanism. The hierarchical virtualization includes using a hypervisor that maintains a first partition and using a virtualization stack within the first partition to create and control a second partition. Multiple virtualization stacks can subsist within the first partition, and each such virtualization stack can create and control multiple partitions. In one particular implementation, a child partition can have exclusive control over a portion or all of its resources with respect to a parent partition. The hypervisor as the ultimate arbiter in such a virtualized environment enforces such a setup and is able to communicate directly within any partition within the virtualized hierarchy.