Kernel administration made easy with XP
Published: 05 Jun 2002 09:49 BST
In this Drill Down, I'll explain some of the more significant improvements Microsoft has made to the XP/.Net kernel and, more importantly, what these changes mean to you -- even if you're not a programmer. The new kernel features I'll discuss can be broken down into four categories:
Registry improvements
The registry serves an important function in all Microsoft operating systems from Windows 95 forward. In each new operating system version, Microsoft has refined the functionality of the registry, adding new subkeys and entries to give administrators even more control over the behavior of the operating system.
How the registry works
The registry replaced much of the function of .ini files in earlier versions of Windows, allowing configuration information to be stored in one central hierarchical database that is relatively easy to search and navigate. The database is divided into five hives, or keys. Keys are represented as folders, and each has a number of subkeys, which appear as folders under the hive key. A subkey can have multiple entries. An entry represents a configuration item, and each entry is assigned a value. For example, in the HKEY_LOCAL_MACHINE key in the SOFTWARE\Microsoft\WindowsCurrentVersion\Run subkey, you'll find an entry for each program scheduled by the registry to run at startup. The value assigned to each entry consists of the path to that program's executable file.
The XP/.Net registry code provides a couple of practical benefits to users and administrators: The registry can be larger than in previous versions of Windows, and registry queries are faster.
Support for larger registry size
In previous versions of Windows, the size of the registry was limited to about 80 percent of the paged pool size. This generally meant a registry size limit of about 376 MB.
Tip
The paged pool consists of the memory for objects that can be paged to disk (virtual memory). The size of the paged pool is set by the operating system, based on how much physical RAM is installed in the machine and taking into consideration the size of the nonpaged pool (memory for objects that cannot be paged to disk).
Windows XP/.Net has removed this limitation. The registry has been moved out of the paged pool; XP uses the Memory Cache Manager to map the registry, in chunks of 256 KB, into the system cache. Now the total registry size is limited only by the amount of disk space available. The system hive, however, still has a maximum size, but it has been increased from 12 MB to 200 MB.
Support for faster queries
Queries to the registry are processed faster in XP, due to the caching performed by the Memory Cache Manager and the way registry information is stored. With earlier Windows versions, when a new registry subkey was created, it was stored in the first available space located. XP uses a more organised approach, placing all related subkeys into the same physical group, located contiguous to one another. This reduces the number of page faults that occur when accessing registry information.
Tip
A page fault occurs when the data that the software is attempting to access is not found in memory and has to be retrieved from the disk.
Windows XP further speeds up query time by caching registry keys so that they can be accessed faster. XP is able to monitor the usage of registry keys by applications, so that the keys that are needed are already in memory.






