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