摘要 |
The present described embodiments are embodied in a system and method for generating and validating reference handles for consumers requiring access to resources in a computer system. The system of the present described embodiments includes a resource manager having a handle administrator, a plurality of consumers, and a plurality of resources. The handle administrator includes an assignment routine, a release routine, and a dereference routine. The assignment routine issues new handles, the release routine releases handles that are no longer required (thus rendering the handle invalid), and the dereference routine dereferences handles into a pointer to a resource, which entails verifying that the handle is valid. Also included is an auxiliary sub-routine for managing used and unused records, an expansion sub-routine for efficiently expanding the handle database, a handle recycling sub-routine for recycling handles, a contraction sub-routine for efficiently contracting the handle database, a hysteresis sub-routine for probabilistically contracting the handle database, and a memory allocation failure sub-routine to improve functionality in the event of memory allocation failure. Further, the systems and methods include routines that enable a handle value to be reserved for an indication of a lack of a valid handle. The reserved handle value is never issued to a consumer for use in accessing a resource.
|