Patent ID: 8276145

Claim:
At a computer system, the computer system including a physical processor and an operating system having a protected mode and a supervisor mode, wherein protected mode limits program access to physical processor resources of programs running in protected mode, supervisor mode having unlimited access to physical processor resources, one or more functions gating access to supervisor mode to permit a program in protected mode to transition to supervisor mode to access physical processor resources, wherein programs executed within the operating system can transition from protected mode to supervisor mode and from supervisor mode to protected mode depending on program instructions, supervisor mode having a default supervisor-mode execution object format that consumes physical processor resources on a time-shared basis in accordance with a default supervisor-mode scheduling policy, a method for configuring the scheduling of processor resources to occur in protected mode to decentralize scheduling responsibility from supervisor mode, the method comprising: an act of creating a protected-mode scheduling domain operating in the protected mode of the operating system, creating the protected-mode scheduling domain including: creating a virtual processor, the virtual processor mapping at least a portion of the physical processor for use by execution objects of the protected-mode scheduling domain, the virtual processor including: a supervisor-mode virtual processor, the supervisor-mode virtual processor configured to reserve at least a portion of the physical processor for use by execution objects of the protected-mode scheduling domain, the reservation being performed according to the default supervisor-mode scheduling policy; and a protected-mode virtual processor, the protected-mode virtual processor configured to process supervisor-mode notifications and dispatch execution objects for execution on the at least a portion of the physical processor during the reservation obtained by the supervisor-mode virtual processor such that multiple execution objects are scheduled by the protected-mode virtual processor to execute during the reservation; loading at least one protected-mode scheduling policy that differs from the default supervisor-mode scheduling policy, the at least one protected-mode scheduling policy for scheduling the execution of the execution objects of the protected-mode scheduling domain on the virtual processor; and creating an execution object store configured to store state for execution objects of the protected-mode scheduling domain to facilitate switching context between different execution objects within the protected-mode scheduling domain.