US 7,574,709 B2
VEX-virtual extension framework
Ulfar Erlingsson, San Francisco, Calif. (US); Edward P. Wobber, Menlo Park, Calif. (US); Paul Barham, Cambridge (United Kingdom); and Thomas Roeder, Ithaca, N.Y. (US)
Assigned to Microsoft Corporation, Redmond, Wash. (US)
Filed on Apr. 30, 2004, as Appl. No. 10/837,971.
Prior Publication US 2005/0246718 A1, Nov. 03, 2005
Int. Cl. G06F 3/00 (2006.01); G06F 9/00 (2006.01); G06F 9/455 (2006.01); G06F 11/00 (2006.01)
U.S. Cl. 719—310  [713/2; 718/1; 714/15] 12 Claims
OG exemplary drawing
 
1. A method of creating a virtual operating system environment, the method comprising steps of:
beginning a boot of an operating system environment on a computing device having a processor;
indicating to the processor, during the boot of the operating system environment, that the computing device has another processor, wherein said another processor is inaccessible by said virtual operation system environment;
saving a state during the boot of the operating system environment after the processor and said another processor have been initialized;
indicating to the operating system environment, after the operating system environment has completed at least one component binding associated with the processor, that said another processor has failed;
providing, to the virtual operating system environment, the saved state;
booting the virtual operating system environment using the saved state, wherein the booting of the virtual operating system environment comprises preventing the processor from accessing at least one component associated with the at least one component binding;
providing, to virtual operating system environment, an access to the at least one component binding using a preexisting support, wherein said preexisting support provides, to said another processor, the access to the at least one component binding; and
creating during said booting of the virtual operating system environment, a specified component binding in the virtual operating system environment to a specified component, wherein the specified component interfaces with a device driver hosted within the virtual operating system environment and the creating of the specified component binding comprises:
binding the specified component to the operating system environment;
hibernating the specified component, wherein the hibernating cleanly flushes communication queues related to the specified component; and
binding the specified component to the virtual operating system environment.