Stationary queue for scarce resource management
First Claim
1. A multi-tasking operating system for managing simultaneous access to scarce or serially re-usable resources by multiple process threads, comprising:
- at least one resource;
a plurality of threads requesting access to said resource; and
a stationary queue for allocating access to said resource amongst said threads one at a time in the exact order in which they began waiting for said resource.
0 Assignments
0 Petitions
Accused Products
Abstract
A system and method for managing simultaneous access to a scarce or serially re-usable resource by multiple process threads. A stationary queue is provided, including a wait counter for counting the cumulative number of threads that have been temporarily denied the resource; a satisfied counter for counting the cumulative number of threads that have been denied access and subsequently granted access to said resource; a sleep code routine responsive to the wait counter for generating a run identifier; and a wakeup code routine responsive to the satisfied counter for generating the run identifier.
-
Citations
8 Claims
-
1. A multi-tasking operating system for managing simultaneous access to scarce or serially re-usable resources by multiple process threads, comprising:
-
at least one resource;
a plurality of threads requesting access to said resource; and
a stationary queue for allocating access to said resource amongst said threads one at a time in the exact order in which they began waiting for said resource.
-
-
2-3. -3. (canceled)
-
4. A method for managing simultaneous access to scarce or serially re-usable resources by multiple process threads, comprising the steps of:
-
responsive to a request from a thread for a resource which is not available, creating a block identifier based on the number of threads temporarily denied the resource; and
blocking said thread using said block identifier, thereby enabling subsequent wake up of said thread after said number of threads have been serviced in the exact FIFO order in which said threads began waiting for said resource.
-
-
5. A method for managing simultaneous access to scarce or serially re-usable resources by multiple process threads, comprising the steps of:
-
responsive to a resource becoming available, creating a run identifier based on the number of threads that have been first forced to wait and have been subsequently satisfied; and
awakening and running one next thread using said run identifier, thereby granting access to said resource by said process threads one-by-one in the exact FIFO order in which said threads began waiting for said resource.
-
-
6. A method for managing simultaneous access to scarce or serially re-usable resources by multiple process threads, comprising the steps of:
-
responsive to a request for a resource which is not available, creating a block identifier based on the number of threads temporarily denied the resource; and
blocking the thread using said block identifier; and
responsive to a resource becoming available, creating a run identifier based on the number of threads that have been first forced to wait and have been subsequently satisfied; and
awakening and running a next thread in the exact FIFO order in which said threads began waiting for said resource using said run identifier.
-
-
7. A memory device for storing signals for controlling the operation of a computer to manage simultaneous access to scarce or serially re-usable resources by multiple process threads, according to the steps of
responsive to a request for a resource which is not available, creating a block identifier based on the number of threads temporarily denied the resource; - and
blocking the thread using said block identifier; and
responsive to a resource becoming available, creating a run identifier based on the number of threads that have been first forced to wait and have been subsequently satisfied; and
awakening and running the one next thread in the exact FIFO order in which said threads began waiting for said resource using said run identifier.
- and
-
8. (canceled)
Specification