Method and system for protecting shared code and data in a multitasking operating system
AssigneeMicrosoft Corporation
InventorsMichael A. Schmidt, Jonathan G. Thomason, Scott M. Cutshall
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorsMichael A. Schmidt, Jonathan G. Thomason, Scott M. Cutshall
Estimating the term…
A method and system for protecting shared code and data, in particular, shared system code and data, in a multitasking operating system are provided. The operating system includes a cooperative subsystem and a preemptive subsystem. The cooperative subsystem includes shared system code and data. The method and system include a synchronization mechanism for controlling access to the shared system code and data by threads. Ownership of the synchronization mechanism must be requested and obtained before a cooperatively scheduled thread can execute in the cooperative subsystem. Additionally, ownership of the synchronization mechanism must be requested and obtained before a preemptively scheduled thread can execute the shared system code in the cooperative subsystem. If the synchronization mechanism is already owned, the requesting thread is blocked until ownership is released. Otherwise, the requesting thread is granted ownership. Since no other thread can obtain ownership of the synchronization mechanism while one thread owns the synchronization mechanism, the shared system code and data in the cooperative subsystem is protected.
A method in a computer system for handling a call to an application programming interface routine of a preemptive multitasking subsystem of an operating system, the operating system also having a cooperative multitasking subsystem, comprising:
A computer-readable medium whose contents cause a computer system to handle a call to an application programming interface routine of a preemptive multitasking subsystem of an operating system, the operating system also having a cooperative multitasking subsystem, by:
A computer-readable medium having computer-executable instructions which are configured to, when executed, implement a thunk layer for handling a call to an application programming interface routine of a preemptive multitasking subsystem of an operating system that is implemented in the cooperative multitasking subsystem, the operating system also having a cooperative multitasking subsystem, comprising:
A computer system having a computer-readable medium whose contents cause the computer system to handle a call to an application programming interface routine of a preemptive multitasking subsystem of an operating system, the operating system also having a cooperative multitasking subsystem, comprising:
Dependencies are inferred from the claim text.