What is Windows Registry?

October 29, 2010 (updated 2 years ago) by Chemtable Software

The Microsoft Computer Dictionary defines the registry as a central hierarchical database used in the Microsoft operating systems starting with Microsoft Windows 98. The database stores information that is necessary to configure the system for users, applications and hardware devices.

Therefore the registry is considered to be the core of the operating system. The registry information is stored in the %SystemRoot%\System32\Config folder and in the folder of user profiles, Ntuser.dat. If there were no registry, the operating system would be just a set of applications that would not be able to perform even the simplest functions of the operating system. Everything, including details of configuration data, is stored in the registry. All registry information is represented in a standardized form and structured according to the hierarchy suggested by the Windows developers. Information in the system registry is stored in a binary format which makes it possible to store a large amount of various data there and process this data fast.

The registry stores information which is necessary for Windows to function correctly. This includes profiles for all users, information on software installed on the computer and types of documents that can be created by each application, property sheet settings for folders and application icons, installed hardware and ports that are used. The operating system continually addresses the registry at startup, runtime and shutdown. Many programs use the registry to store not only their settings but also information about their registration; especially it is typical of trial versions that check the expiration of a trial period against the Windows registry.

If a device or application is installed or uninstalled, information about such a modification is written to the registry and read from there on every system launch. In the course of time, the registry accumulates much data. After uninstalling software, many invalid keys are left over and slow down access to the registry.

According to many studies, the registry is addressed up to 1000 times at Windows startup, and 10000 times during one session. Therefore the performance of the system depends heavily on the parameters in the registry.

A careless change in the registry may damage Windows performance. For example, if the user makes an error in the value of a key, it may bring the system to a halt. This is why the developers restricted access to the Windows registry, and security settings can be edited only by the user with administrative rights.

Now let’s consider the form the registry is stored in the system. There are some differences in the registry depending on the version of the operating system. In Windows 98, for example, registry files are called User.dat and System.dat. In Windows Millennium Edition, they are called Classes.dat, User.dat and System.dat.

The registry in Windows XP and older versions is more complex. Although registry editors represent the registry as a single database, on the physical level it is not homogeneous and consists of many files, each of which is responsible for its own part of information stored in the registry.

Some information in the registry is never saved to disk as files. This data is saved to memory at Windows startup and lost when the computer is shut down. Such registry keys are called volatile. Volatile registry keys store information about installed hardware and resources that are allocated to different devices. This includes information on interrupt requests (IRQ), channels of direct memory access (DMA) and input / output range (I/O Range). Because query, initiation of devices and dynamic allocation of resources are performed at Windows startup, all this information is stored in memory: hardware configuration may change on the next startup.

Other components of the registry that store information about configuration of the operating system, its settings and parameters are stored in the %systemroot%\System32\Config system folder. Files with profiles of Windows XP users are stored in the %systemroot%\Profiles folder. And finally, specific settings of the system for each user and personal configuration of the working environment are stored in the %Drive%\Documents and Settings\%UserName% folders, where %Drive% is the name of a disk partition with the installation of Windows XP, and %UserName% is the folder whose name corresponds to the name of the registered user. Additional information about local users is stored in %Drive%\Documents and Settings\LocalService folders, and information about system settings for remote users is stored in the %Drive%\Documents and Settings\NetworkService folders.

When 64-bit operating systems were introduced, there appeared differences in their registries. Registries in 64-bit versions of Windows XP, Windows Server 2003 and Windows Vista are divided into 32- and 64-bit parts. Most 32-bit parts have the same names as their corresponding 64-bit parts and vice versa.