Page 344 - DCAP103_Principle of operating system
P. 344
Unit 11: Operating System Structure
Port, timer, and queue objects also relate to communication and synchronization. Ports are Notes
channels between processes for exchanging messages. Timers provide a way to block for a
specific time interval. Queues are used to notify threads that a previously started asynchronous
I/O operation has completed.
Figure 11.4: Some Common Executive Types Object Managed by Object Manager
Type Description
Process User process
Thread Thread within a process
Semaphore Counting semaphore used for interprocess synchronization
Mutex Binary semaphore used to enter a critical region
Event Synchronization object with persistent state (signaled/not)
Port Mechanism for interprocess message passing
Timer Object allowing a thread to sleep for a fixed time interval
Queue Object used for completion notification on asynchronous I/O
Open file Object associated with an open file
Access token Security descriptor for some object
Profile Data structure used for profiling CPU usage
Section Structure used for mapping files onto virtual address space
Key Registry key
Object directory Directory for grouping objects within the object manager
Symbolic link Pointer to another object by name
Device I/O device object
Device driver Each loaded device driver has its own object
Open file objects are created when a file is opened. Files that are not opened do not have objects
managed by the object manager. Access tokens are security objects; they identify a user and
tell what special privileges the user has, if any. Profiles are structures used for storing periodic
samples of the program counter of a running thread to see where the program is spending its time.
Sections are the objects used by the memory system for handling memory-mapped files. They
record which file (or part thereof) is mapped onto which memory addresses. Keys are registry
keys and are used to relate names to values. Object directories are entirely local to the object
manager. They provide a way to collect related objects together in exactly the same way directories
work in the file system. Symbolic links are also similar to their file system counterparts—they
allow a name in one part of the object name space to refer to an object in a different part of the
object name space. Each known device has a device object that contains information about it
and is used to refer to the device within the system. Finally, each device driver that has been
loaded has an object in the object space.
LOVELY PROFESSIONAL UNIVERSITY 337