Under the hood of the operating system

Sep 11, 2007 08:13 GMT  ·  By

There is a range of services running just beneath the surface of Windows Vista. The fact of the matter is that there's more to the operating system architecture than meets the eye, and in this context, there is an entire ecosystem of activity beneath Vista's hood. Items including security solutions, content indexers, monitoring tools, disk maintenance application, peer-to-peer services, are all designed to work in Vista's background while delivering a minimal impact on the overall user experience. In an ideal case scenario, Vista would feature high-performance background services that run with absolutely no detectable impact to the users' workflow. This is of course not the case, and in this context, Microsoft does provide the guidelines for building Vista background services as close to perfection as possible.

"Running in the background means more than simply having minimal or no user interface. It also means being a good citizen; that is, avoiding competition for resources with the operating system and the user's other programs, as well as avoiding interference with end user's interaction with the system. Windows Vista provides a variety of tools that help in writing these services and features, but writing them well requires additional work to be a good citizen," revealed Chris McConnell, an Architect on the Desktop Search team, and Stuart Sechrest, a Software Design Engineer in the Windows Performance Team in the "Good Citizenship When Developing Background Services That Run on Windows Vista" white paper.

A background service in Windows Vista has to achieve an equilibrium between four general aspects of functionality. And the balance starts with producing the minimal impact to the foreground processes directly interacting with the end user. In this regard, the service also has to hug the least possible amount of resources available, and even to share them with additional background items. The last priority of a background service is of course to manage to do its work properly. A Vista high-performance background service would be no less than a trade-off between the characteristics mentioned above.

"There are a number of resources that can cause interference between background and foreground activities. The principal resources involved are the CPU, the system disk, system memory, and various system locks. The most important type of system lock is a file lock. File locks can block the activity of another process, including the user. For example, a file lock can prevent a user from deleting a file that is being accessed by a background process. There are other resources that can be in contention, such as the GPU and video memory, but these conflicts are generally among foreground applications because background applications usually do not display graphics," McConnell and Sechrest added.