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
   339   340   341   342   343   344   345   346   347   348   349