Content deleted Content added
AsceticRose (talk | contribs) m Reverted 1 edit by 60.240.3.70 (talk) to last revision by Faizan. (TW) |
→Architecture: Fix typo |
||
Line 5:
Object Manager is the centralized resource broker in the [[Windows NT]] line of Operating Systems, which keeps track of the resources allocated to processes. It is resource-agnostic and can manage any type of resource, including device and file handles. All resources are represented as objects, each belonging to a logical namespace for categorization and having a type that represents the type of the resource, which exposes the capabilities and functionalities via properties. An object is kept available until all processes are done with it; Object Manager maintains the record of which objects are currently in use via [[reference counting]], as well as the ownership information. Any [[system call]] that changes the state of resource allocation to processes goes via the Object Manager.
Objects can either be ''Kernel objects'' or ''Executive objects''. Kernel objects
Whenever an object is created or opened, a reference to the instance, called a ''handle'', is created. Object Manager indexes the objects both by their names as well as the handles. But, referencing the objects by the handles is faster because the name translation can be skipped. Handles are associated with processes (by making an entry into the process' ''Handle table'' that lists the handles it owns), and can be transferred between processes as well. A process must own a handle to an object before using it. A process can own a maximum of 16,000,000 handles at one time. During creation, a process gains handles to a default set of objects. While there exists different types of handles - ''file handles'', ''event handles'' and ''process handles'' - they only help in identifying the type of the target objects; not in distinguishing the operations that can be performed through them, thus providing consistency to how various object types are handled programmatically. Handle creation and resolution of objects from handles are solely mediated by Object Manager, so no resource usage goes unnoticed by it.
|