Page 346 - DCAP103_Principle of operating system
P. 346

Unit 11: Operating System Structure



            name space and the registry name space. All three are hierarchical name spaces with multiple   Notes
            levels of directories for organizing entries. The directory objects listed in Figure 11.4 provide
            the means to implement this hierarchical name space for objects.
            Since executive objects are volatile (i.e., vanish when the computer is shut down, unlike file
            system and registry entries), when the system boots up, there are no objects in memory and the
            object name space is empty. During booting, various parts of the executive create directories and
            then fill them with objects. For example, as the plug-and-play manager discovers devices out
            there, it creates a device object for each one and enters this object into the name space. When
            the system is fully booted, all I/O devices, disk partitions, and other interesting discoveries are
            in the object name space.
            Not all objects get entered by the Columbus method—just go look and see what you find. Some
            executive components look in the registry to see what to do. A key example here is device drivers.
            During bootup, the system looks in the registry to see which device drivers are needed. As they
            are loaded one by one, an object is created for each one and its name is inserted into the object
            space. Within the system, the driver is referred to by a pointer to its object.
            Although  the  object name space is crucial  to the  entire  operation  of  the  system,  few people
            know that it even exists because it is not visible to users without special viewing tools. One
            such viewing tool is winobj, available for free at www.sysinternals.com. When run, this tool
            depicts an object name space that typically contains the object directories listed in Figure 11.6
            as well as a few others.


                       Figure 11.6: Some Typical Directories in the Object Name Space


               Directory            Contents
               ??                  Starting place for looking up MS-DOS devices like C:
               Device              All discovered I/O devices

               Driver              Objects corresponding to each loaded device driver

               ObjectTypes         The type objects shown in Fig. 11.4
               Windows             Objects for sending messages to all the windows

               BaseNamedObjs       User-created objects such as semaphores, mutexes, etc.

               Arcname             Partition names discovered by the boot loader

               NLS                 National language support objects
               File System         File system driver objects and file system recognizer objects

               Security            Objects belonging to the security system

               KnownDLLs           Key shared libraries that are opened early and held open


            The somewhat strangely named directory \??contains the names of all the MS-DOS-style device
            names, such as A: for the floppy disk and C: for the first hard disk. These names are actually
            symbolic finks to the directory \Devicewhere the device objects live. The name \?? was chosen
            to make it alphabetically first to speed up lookup of all path names beginning with a drive letter.
            The contents of the other object directories should be self explanatory.



                                             LOVELY PROFESSIONAL UNIVERSITY                                   339
   341   342   343   344   345   346   347   348   349   350   351