Windows XP Embedded with Service Pack 1 Reliability

 

Daniel Simpson
Microsoft Corporation

January 2003

Applies to:
    Microsoft® Windows® XP Embedded with Service Pack 1

Summary: Learn about Windows XP Embedded system reliability features and improvements. (4 printed pages)

Contents

Introduction
Windows 2000 and Windows XP Crash Statistics
Application Compatibility Improvements
Device Driver Compatibility Improvements
For More Information

Introduction

The reliability of an embedded operating system is critical to the functionality of a device. Microsoft® Windows® XP Embedded provides the reliability critical to supporting a device. This is because Windows XP Embedded is a componentized version of Windows XP, providing all of the features, functionality and security of Windows XP.

Built on the Windows 2000 code base, Windows XP provides many improvements over previous versions of Windows. Expanded safeguards against errant applications and faulty device drivers—a focus on reliability makes Windows XP Embedded a dependable operating system on which to build an embedded system.

Windows 2000 and Windows XP Crash Statistics

Systems can crash for a variety of reasons, ranging from defective device drivers to unresponsive applications. The following illustrations show the causes of system crashes for both Windows 2000 and Windows XP. The statistics were derived from information found at http://oca.microsoft.com.

ms838661.xpe_rel1(en-US,WinEmbedded.5).gif

Figure 1. Windows 2000 crash results

Windows 2000 crash results show that third-party device drivers and filter drivers caused a considerable amount of crashes. However, such core Windows components as the Microsoft Win32® kernel, networking and file systems were also a significant cause of crashes. One of the focus areas in developing Windows XP was in improving these core Windows components.

ms838661.xpe_rel2(en-US,WinEmbedded.5).gif

Figure 2. Windows XP crash results

The crash results for Windows XP show a significant improvement in the reliability of the core Windows kernel and other services, such as networking and file systems. Third-party device drivers, by a wide margin, are the most significant cause of system crashes on Windows XP.

Application Compatibility Improvements

Windows XP includes a compatibility mode that emulates the environment of previous versions of Windows and therefore supports applications built for previous versions of Windows. These compatibility modes increase reliability by preventing application errors.

In addition, Windows XP includes a side-by-side execution of assemblies, dynamic-link libraries (DLLs), components, and other shared resources. This allows different applications to simultaneously access different versions of the same resource file. In previous versions of Windows, DLL versioning conflicts could cause the system to crash. Side-by-side sharing also extends backwards compatibility for applications and reduces the risk of a system crash.

When creating a system with Windows XP Embedded you can utilize any Windows 32-bit application with the assurance that it will run reliably without having to port or recompile the application. However, it is recommended that applications that have been tested on Windows XP be retested on your Windows XP Embedded runtime. This is because the application may look for component dependencies that may not have been included in your Windows XP Embedded image.

Device Driver Compatibility Improvements

Drivers can occupy a significant portion of kernel space, and a defective driver decreases the reliability of a system. Therefore, improved driver handling was a focus of Windows XP. In addition, you can use new and improved tools to develop and test device drivers for your embedded targets.

Windows XP includes the following improvements to the Driver Verifier, which is used to monitor kernel-mode drivers:

  • Driver deadlock monitoring
  • Asynchronous input/output (I/O) checking
  • User-mode buffer overwrite checking
  • Surrogate I/O request packet (IRP) checking

In addition, the Driver Verifier includes improvements to memory pool tracking, allowing easier detection and diagnosis of memory leaks. Such leaks might be the result of memory allocations made by device drivers. If these allocations are not freed, system performance can decrease, and possibly cause the system to crash. Catching these memory leaks is vital to a system's performance. With Windows XP Embedded, these memory leaks can be easily detected.

The Windows Software Trace Preprocessor (WPP) simplifies the tracking of kernel-mode drivers and user-mode applications. On a running system, WPP monitors drivers in real time and logs debug messages to trace potential problems. Using only a minimal CPU load, WPP assists in device driver development.

For More Information

For Windows XP Reliability metrics:

http://www.etestinglabs.com

http://oca.microsoft.com

For more information about Windows XP Embedded:

Product information: https://www.microsoft.com/windows/embedded/xp/

Developer resources: http://www.msdn.microsoft.com/embedded

© Microsoft Corporation. All rights reserved.