Object Manager ( Windows ) - wikipedia Object Manager ( Windows ) Object Manager in Windows, categorized hierarchically using namespaces Object Manager ( internally called Ob ) is a subsystem implemented as part of the Windows Executive which manages Windows resources. Each resource, which are surfaced as logical objects, resides in a namespace for categorization. Resources can be physical devices, files or folders on volumes, Registry entries or even running processes. All objects representing resources have an Object Type property and other metadata about the resource. Object Manager is a shared resource, and all subsystems that deal with the resources have to pass through the Object Manager. Contents 1 Architecture 1.1 Object structure 2 See also 3 References 4 External links Architecture 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 represent primitive resources such as physical devices, or services such as synchronization, which are required to implement any other type of OS service. Kernel objects are not exposed to user mode code, but are restricted to kernel code. Applications and services running outside the kernel use the Executive objects, which are exposed by the Windows Executive, along with its components such as the memory manager, scheduler and I / O subsystem. Executive objects encapsulate one or more kernel objects and exposes not only the kernel and kernel - mediated resources but also an expanded set of services than the kernel does. Applications themselves can wrap one or more Executive objects and surface objects that offer certain services. Executive objects are also used by the environment subsystems ( such as the Win32 subsystem, the OS / 2 subsystem, the POSIX subsystem etc. ) to implement the functionality of the respective environments. 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. The types of Executive objects exposed by Windows NT are : Process A collection of executable threads along with virtual addressing and control information. Thread An entity containing code in execution, inside a process. Job A collection of processes. File An open file or an I / O device. File mapping object A region of memory mapped to a file. Access token The access rights for an object. Event An object which encapsulates some information, to be used for notifying processes of something. Semaphore / Mutex Objects which serialize access to other resources. Timer An objects which notifies processes at fixed intervals. Key A registry key. Desktop A logical display surface to contain GUI elements. Clipboard A temporary repository for other objects. WindowStation An object containing a group of Desktop objects, one Clipboard and other user objects. Symbolic link A reference to other objects, via which the referred object can be used. Object structure Each object managed by the Object Manager has a header and a body ; the header contains state information used by Object Manager, whereas the body contains the object - specific data and the services it exposes. An object header contains certain data, exposed as Properties, such as Object Name ( which identifies the object ), Object Directory ( the category the object belongs to ), Security Descriptors ( the access rights for an object ), Quota Charges ( the resource usage information for the object ), Open handle count ( the number of times a handle, an identifier to the object, has been opened ), Open handle list ( the list of processes which has a live reference to the object ), its Reference count ( the number of live references to the object ), and the Type ( an object that identifies the structure of the object body ) of the object. A Type object contains properties unique to the type of the object as well as static methods that implement the services offered by the object. Objects managed by Object Manager must at least provide a predefined set of services : Close ( which closes a handle to an object ), Duplicate ( create another handle to the object with which another process can gain shared access to the object ), Query object ( gather information about its attributes and properties ), Query security ( get the security descriptor of the object ), Set security ( change the security access ), and Wait ( to synchronize with one or more objects via certain events ). Type objects also have some common attributes, including the type name, whether they are to be allocated in non-paged memory, access rights, and synchronization information. All instances of the same type share the same type object, and the type object is instantiated only once. A new object type can be created by endowing an object with Properties to expose its state and methods to expose the services it offers. Object name is used to give a descriptive identity to an object, to aid in object lookup. Object Manager maintains the list of names already assigned to objects being managed, and maps the names to the instances. Since most object accesses occur via handles, it is not always necessary to look up the name to resolve into the object reference. Lookup is only performed when an object is created ( to make sure the new object has a unique name ), or a process accesses an object by its name explicitly. Object directories are used to categorize them according to the types. Predefined directories include ? ? ( device names ), BaseNamedObjects ( Mutexes, events, semaphores, waitable timers, and section objects ), Callback ( callback functions ), Device, Drivers, FileSystem, KnownDlls, \Nls ( language tables ), ObjectTypes ( type objects ), RPC Controls ( RPC ports ), Security ( security subsystem objects ), and Window ( windowing subsystem objects ). Objects also belong to a Namespace. Each user session is assigned a different namespace. Objects shared between all sessions are in the GLOBAL namespace, and session - specific objects are in the specific session namespaces OBJECT_ATTRIBUTES structure : typedef struct _OBJECT_ATTRIBUTES ( ULONG Length ; HANDLE RootDirectory ; PUNICODE_STRING ObjectName ; ULONG Attributes ; PSECURITY_DESCRIPTOR SecurityDescriptor ; PSECURITY_QUALITY_OF_SERVICE SecurityQualityOfService ; ) OBJECT_ATTRIBUTES * POBJECT_ATTRIBUTES ; The Attributes member can be zero, or a combination of the following flags : OBJ_INHERIT OBJ_PERMANANT OBJ_EXCLUSIVE OBJ_CASE_INSENSITIVE OBJ_OPENIF OBJ_OPENLINK OBJ_KERNEL_HANDLE See also Architecture of Windows NT References Russinovich, Mark ; David Solomon ( 2005 ). `` Chapter 3 : System Mechanisms ''. Microsoft Windows Internals ( 4th ed. ). Microsoft Press. pp. 124 -- 149. ISBN 0 - 7356 - 1917 - 4. External links Object Manager Routines ( Windows Drivers ) Channel9 Interview Microsoft Windows components Management tools App Installer Command Prompt Control Panel Applets Device Manager Disk Cleanup Disk Defragmenter Driver Verifier Event Viewer IExpress Management Console Netsh Performance Monitor Recovery Console Resource Monitor Settings Sysprep System Configuration System File Checker System Information System Policy Editor System Restore Task Manager Windows Error Reporting Windows Ink Windows Installer PowerShell Windows Update Windows Insider WinRE WMI Apps 3D Builder Alarms & Clock Calculator Calendar Camera Character Map Cortana Edge Fax and Scan Feedback Hub Get Help Groove Magnifier Mail Maps Media Player Movies & TV Mobility Center Money News Narrator Notepad OneDrive OneNote Paint Paint 3D People Phone Companion Photos Quick Assist Snipping Tool Speech Recognition Skype Sports Sticky Notes View 3D Store Tips Voice Recorder Wallet Weather Windows To Go WordPad Xbox Shell Action Center Aero AutoPlay AutoRun ClearType Explorer Search Indexing Service IFilter Saved search Namespace Special folder Start menu Taskbar Task View Windows Spotlight Windows XP visual styles Services Service Control Manager BITS CLFS Multimedia Class Scheduler Shadow Copy Task Scheduler Error Reporting Wireless Zero Configuration File systems CDFS DFS exFAT IFS FAT NTFS Hard link Junction point Mount Point Reparse point Symbolic link TxF EFS ReFS UDF WinFS Server Domains Active Directory DNS Group Policy Roaming user profiles Folder redirection Distributed Transaction Coordinator MSMQ Windows Media Services Rights Management Services IIS Remote Desktop Services WSUS SharePoint Network Access Protection PWS DFS Replication Remote Differential Compression Print Services for UNIX Remote Installation Services Windows Deployment Services System Resource Manager Hyper - V Server Core Architecture Architecture of Windows NT Startup process CSRSS Desktop Window Manager Portable Executable EXE DLL Enhanced Write Filter Graphics Device Interface hal. dll I / O request packet Imaging Format Kernel Transaction Manager Library files Logical Disk Manager LSASS MinWin NTLDR Ntoskrnl. exe Object Manager Open XML Paper Specification Registry Resource Protection Security Account Manager Server Message Block Shadow Copy SMSS System Idle Process USER WHEA Win32 console Winlogon WinUSB Security Security and Maintenance BitLocker Data Execution Prevention Family Safety Kernel Patch Protection Mandatory Integrity Control Protected Media Path User Account Control User Interface Privilege Isolation Windows Defender Windows Firewall Compatibility COMMAND.COM Virtual DOS machine Windows on Windows WoW64 Windows Subsystem for Linux API Active Scripting WSH VBScript JScript COM ActiveX ActiveX Document COM Structured storage DCOM OLE OLE Automation Transaction Server DirectX. NET Framework Universal Windows Platform Windows Mixed Reality Windows Runtime WinUSB Games Solitaire Collection Discontinued Games 3D Pinball Chess Titans FreeCell Hearts InkBall Hold ' Em Purble Place Reversi Spider Solitaire Solitaire Tinker Apps ActiveMovie Anytime Upgrade Address Book Backup and Restore Cardfile CardSpace Contacts Desktop Gadgets Diagnostics DriveSpace DVD Maker Easy Transfer Fax File Manager Food & Drink Help and Support Center Health & Fitness HyperTerminal Internet Explorer Journal Media Center Meeting Space Messaging Messenger Mobile Device Center Movie Maker NetMeeting NTBackup Outlook Express Travel Photo Gallery Program Manager Steps Recorder WinHelp Write Others ScanDisk File Protection Media Control Interface Next - Generation Secure Computing Base POSIX subsystem Interix Video for Windows Windows SideShow Windows Services for UNIX Windows System Assessment Tool Spun off to Windows Store DVD Player Hover ! Mahjong Minesweeper Retrieved from `` https://en.wikipedia.org/w/index.php?title=Object_Manager_(Windows)&oldid=704318387 '' Categories : Windows NT architecture Windows components Talk Search Contents About Wikipedia 한국어 Українська 中文 Edit links This page was last edited on 10 February 2016, at 21 : 56. Text is available under the Creative Commons Attribution - ShareAlike License ; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia ® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization. About Wikipedia

Question: how does windows 10 handle the allocation of resources
Answer: via the Object Manager