Comparison of Windows XP Embedded and Windows NT Embedded

 

Sean Liming
Microsoft Windows Embedded MVP
Windows XP Embedded Manager, A7 Engineering

June 2003

Applies to:
    Microsoft Windows® XP Embedded
    Microsoft Windows NT® Embedded

Overview

Microsoft Windows NT version 4.0 Embedded was a reintroduction of a Microsoft desktop operating system for the embedded market. Windows XP Embedded builds on the momentum of Windows NT Embedded with improved features and better performance.

If you are familiar with Windows NT Embedded, you can safely say that everything has changed in Windows XP Embedded. Microsoft has made significant changes to improve the capability and component support for Windows XP Embedded. This paper looks at the differences between Windows XP Embedded and Windows NT Embedded, and shows the substantial improvements made by Windows XP Embedded in several areas—including core operating system (OS) features, tools, and platform technology.

Contents

Overview
History
Core OS Improvements
Embedded Tool Improvements
New Technology Features
Conclusion

History

Looking in from the outside, the Microsoft embedded strategy is to offer two types of embedded operating systems: Microsoft® Windows® CE for small battery powered devices and Windows XP Embedded for high-end embedded applications. Each version of Windows CE has added more capability, allowing it to move from only a handheld operating system to a real-time embedded operating system (OS) used in multiple applications.

Microsoft Windows NT® Embedded was introduced shortly after Windows CE 2.1 as a feature-rich embedded operating system. As desktop computer technologies evolved, Windows NT Embedded took advantage of these improvements. However, since Windows NT Embedded was released, universal serial bus (USB), 1394, wireless, and multimedia technologies (to name a few) have become mainstream in the desktop computer market. Windows XP and Windows XP Embedded support these latest technologies, and Windows XP Embedded includes many new and improved embedded-specific features also.

Core OS Improvements

Windows XP was re-architected at the kernel and driver level to increase reliability and shorten boot times. There are three key performance areas that have been improved in Windows XP (and therefore, Windows XP Embedded):

  • Boot time. The operating system boot time has been improved. Typical Windows XP/Windows XP Embedded boots take 30 to 45 seconds compared to over 60 seconds for Microsoft Windows NT version 4.0 Service Pack 5 (SP5). Windows XP/Windows XP Embedded performs parallel processing of driver loading and registry data searches.
  • Device drivers. The biggest reliability issues with Windows NT 4.0 and Windows 2000 related to device driver performance. A poorly written driver can make an entire system unstable. Windows XP solved this problem in two ways. The first is Device Driver Rollback, which provides the ability to go back to the previous known good version of a device driver. The second is a program that tests device drivers. Device driver signing indicates whether a driver has passed the Windows Hardware Quality Laboratory (WHQL). If a driver has not been approved, a dialog box indicates that the driver has not been approved for Windows XP/Windows XP Embedded.
  • Memory management. Windows XP improves on memory management in two ways. The first is better memory pooling, which allows for prioritization of memory tasks, thus creating shorter boot times. The second is input/output (I/O) throttling, which allows for optimal memory allocation and stability.

The following table provides a breakdown of the core OS differences between Windows NT Embedded and Windows XP Embedded:

Core OS Features

Feature Windows NT Embedded 4.0 Windows XP Embedded
Device Driver Rollback         X
Device Driver Signing of third-party drivers         X
Enhanced Registry performance with large amount of key caching         X
Parallel processing of drivers and registry data at boot         X
Dynamic file layout modifications designed to optimize boot load         X
Optimized disk defragmentation to support faster boot time         X
Memory pooling allowing for prioritization of memory tasks, creating shorter boot time         X
Simple Boot Flag Support         X
I/O Throttling         X

Table 1. Windows NT Embedded vs. Windows XP Embedded: Core OS Features

An improved core OS comes with a more reliable operating system. Windows XP/Windows XP Embedded has added several features to improve reliability and protect the operating system.

Core OS Reliability

Feature Windows NT Embedded 4.0 Windows XP Embedded
Built on a New Windows Engine         X
Dramatically Reduced Reboot Scenarios         X
Scalable memory and Processor Support         X         X
Side-By-Side DLL Support         X
Windows File Protection         X
Internet Connection Firewall         X
Encrypting File Systems (EFS) with Multiuser support         X
IP Security (IPSec)         X
Kerberos Support         X
Smart Card Support         X
Credential Manager         X

Table 2. Windows NT Embedded vs. Windows XP Embedded: Core OS Reliability

Embedded Tool Improvements

The development tools and features have made a giant leap forward. There are over 10,000 components in Windows XP Embedded. The components are more granular to support smaller images and finer control of the features in an image. The PC components are the biggest change. Windows XP Embedded breaks the Windows NT Embedded PC components down to the hardware abstraction layer (HAL) and various chipset components, which helps to get the best optimized system performance and power management.

Basic dynamic-link libraries (DLLs) like Microsoft Foundation Classes (MFC), Microsoft C Runtime and OLE are broken down into small "primitive" components that provide foundation support. Different versions of the Microsoft C Runtime have been developed over the life of the Windows operating system. A Windows XP Embedded image can contain both the older and new versions of a Microsoft C Runtime, or the Windows XP Embedded image can limit support to the latest Microsoft C Runtime version.

The biggest tool improvement is the core database engine. Windows NT Embedded used the older Open Database Connectivity (ODBC) Jet database engine. XP Embedded uses the Microsoft SQL Server™ Desktop Engine (MSDE), which provides faster performance and look-up capability. The improvement can be seen in drops in OS build time. It takes three minutes to build a Windows XP Embedded image that uses the Explorer shell, as opposed to seven minutes with Windows NT Embedded.

Finer components like the chipset components require closer analysis of the hardware. Windows XP Embedded's TargetAnalyzer is a hardware/OS probe that sniffs the hardware and OS registry to gather the Peripheral Component Interconnect (PCI) and PnP information. The information can be imported into Component Designer and Target Designer to act as a baseline to create the remainder of the image. Without these tools, it would take several hours to get the proper components to boot the OS on the target.

Component Database Manager (CDM) is a new tool for Windows XP Embedded. CDM allows for team development, where an administrator is assigned to manage the database using CDM. CDM's main function is to add components to the database, but it can also be used to remove components, which then requires administrator privileges. CDM also has look up features so that you can search for components in a specific package or repository. You can also see group relationships that are not visible in Target Designer.

This brings us to Target Designer and Component Designer. Windows XP Embedded improves the look and feel of both tools to provide better component search and filter capabilities, component details and organization, and improved capability to support importing information from Target Analyzer, Regedit output, and INF files.

Development Time Comparison

Development tool improvements have shortened the time to get an image up and running on a target system. Assuming that the applications and drivers have been developed, you can get an Windows XP Embedded image fully up and running within a few days, compared to Windows NT Embedded, which could take up to 10 days. The following figure graphically depicts the advantages of Windows XP Embedded over Windows NT Embedded.

[Picture field, insert XPetime.gif]

Figure 1. Development Time Comparison Between Windows NT Embedded and Windows XP Embedded

With Windows NT Embedded, you had to make a guess as to what platform components were required in the OS image. The best way to ensure that you had the correct computer and other driver components was to install the Windows NT OS on the target systems. Sometimes, you would have to do this several times to gather all of the necessary information. Windows XP Embedded simplifies this process substantially with Target Analyzer. Target Analyzer comes in two versions: Microsoft MS-DOS® and Windows 2000/Windows XP. The MS-DOS version gathers the basic support information without having to perform a 45-minute OS install. Using Windows Preinstallation Environment (WinPE) however, you can install the OS quickly and use Target Analyzer.

Creating components has greatly improved in Windows XP Embedded. Device driver components took up to two days to develop in Windows NT Embedded. Windows NT Embedded had a very small number of device drivers, which forced developers to create three to five device driver components per system. The latest drivers for most hardware are already included in Windows XP Embedded, thus saving time on the number of device driver components that you must create. If there is a driver that is not in the database, the INF import feature can create a new component from scratch, which lowers component development time from days to hours.

Third-party application component development is still the same, but the Dependency Walker application has been improved to support both dynamic and static analysis.

Creating the Windows XP Embedded OS configuration has a better overall experience. Windows XP Embedded has several templates on which you can start building an OS image, from kiosks to digital video recorders (DVRs). The templates include all of the components needed to build a specific platform, thus saving time in searching for the correct components.

When adding components to a Windows XP Embedded configuration, a log is kept stating what component was added and the additional space that the component is going to add to the total image size. If there is a conflicting component in a Windows XP Embedded configuration, the component will be added but it will be unavailable. Conflicting components in Windows NT Embedded were not discovered until the dependency check. In Windows NT Embedded, you were forced to add dependent components on the spot. Windows XP Embedded is a little more flexible. Dependent components can be automatically added during the dependency check, after the dependency check, or not included altogether. The last option may or may not work with the image.

The new MSDE database engine improves both the Dependency Check and OS build process. In Windows XP Embedded, a task list is presented if there are missing components after the Dependency Check. The task list presents the issue(s) to be resolved and several choices that can be made. In comparison, Windows NT Embedded presented missing component and conflicts in a dialog box, which was lost when you closed the dialog box.

The following table encapsulates the development time improvements made in Windows XP Embedded.

Rapid Development

Feature Windows NT Embedded 4.0 Windows XP Embedded
Full Microsoft Win32® API Support         X         X
Full compatibility with familiar application development tools         X         X
Extensive Componentization
   < 350 Components
        X
   >10,000 Components
Automated Hardware Analysis         X
Design Templates         X
Macro Components         X
Rich Component Filtering         X
Assisted Component Authoring         X
Automated Dependency Checking         X         X
AutoGenerated Task List         X
Multi-user development         X
SQL Server Support         X

Table 3. Windows NT Embedded vs. Windows XP Embedded: Rapid Development

New Technology Features

As stated earlier, new PC technologies have developed since Windows NT Embedded was released. Support for multimedia cards, CompactFlash™, SD Cards, and other removable media were added to Windows 2000/Windows XP/Windows XP Embedded. NT Embedded, on the other hand, required third-party software to support removable media. The latest bus technologies like USB 2.0 and 1394 were added to Windows 2000/Windows XP. Once again, Windows NT Embedded required third-party software.

Windows XP/Windows XP Embedded also supports the latest PC hardware specifications for power management—Advanced Configuration and Power Interface (ACPI). ACPI provides a better battery management solution in addition to the ability to safely put the system into either standby or hibernation states. For embedded developers, hibernation and standby offer alternative boot solutions for those looking to get every second of boot time reduced.

Windows XP Embedded supports the latest multimedia and browsing technologies, such as Microsoft Windows Media® Player 8.0 and Microsoft Internet Explorer 6. Windows XP Embedded has support for the latest codes and file formats. Windows XP Embedded provides different browsing views for previewing pictures and movies as thumbnails.

In terms of multilanguage support, Windows NT Embedded only supports English language even though Windows NT 4.0 supported different languages. Significant improvements have been in Windows XP Embedded to support multiple languages, as Windows XP Embedded supports 24 different languages including English. Shells and applications can be displayed in different languages with minimal resource changes. The following table summarizes some of the technological differences between Windows NT Embedded and Windows XP Embedded.

Full Featured

Feature Windows NT Embedded 4.0 Windows XP Embedded
Comprehensive Multimedia experience

Internet Explorer, Windows Media Player, DirectX

        X
Support for Latest Hardware Standards:

USB, IEEE1394, Plug and Play, UDF 2.01

        X
Advanced Configuration and Power Interface (ACPI)         X
Granular Power Management         X
Multilingual User Interface Support         X
Fresh Visual Design         X
Dual View         X
Clear Type         X
Increased Application Compatibility         X
Embedded Specific Features         X

Table 4. Windows NT Embedded vs. Windows XP Embedded: New PC Features

Communication technologies have also made several leaps since Windows NT Embedded. Wireless technologies like 802.1x and IrDA provide omni-directional connectivity, allowing users to connect to corporate networks while mobile, using smaller devices like PDAs and smartphones to transfer data. The following table lists major connectivity differences between Windows NT Embedded and Windows XP Embedded.

Connected

Feature Windows NT Embedded 4.0 Windows XP Embedded
Comprehensive Protocol Support         X
Remote Desktop         X
Wireless Networking         X
Network Location Awareness         X
Network Bridge         X
Internet Connection Sharing (ICS)         X
Peer-to-Peer Networking Support         X
Real-time Communications         X
Remote OS Installation         X
Group Policy         X
Resulting Set of Policy (RSoP)         X
Microsoft Management Console (MMC)         X
Recovery Console         X
Windows Management Instrumentation (WMI)         X

Table 5. Windows NT Embedded vs. Windows XP Embedded: Connectivity Features

New and Improved Embedded-Specific Features

Besides the headless and remote management features that were in Windows NT Embedded, many embedded components have been added or improved upon to address deployment and manageability needs.

The original Write Filter provided basic disk/partition protection by differing all writes to memory. There was no way to set the memory size, and changes could not be made to the OS if the Write Filter protected the OS partition. Windows XP Embedded has a new and improved Enhanced Write Filter (EWF) that allows for writes to be made to memory or a special EWF partition that the user can set. The user can also turn off the filter to make changes to the protected volume, either programmatically with a special EWF API or by using the EWF management utilities.

Field upgradeability became a problem for some original equipment manufacturers (OEMs) trying to use Windows NT Embedded. The only way to upgrade a system in Windows NT Embedded was to either replace the boot media or reinstall a whole new OS image onto the target. Simple software updates like replacing applications were doable, but were challenging. Device Update Agent (DUA) is new for Windows XP Embedded, and provides incremental upgrades for systems in the field. DUA is a script engine and scheduler, and can be set for a time and day during the week to read a specific script file that has the update information. Updates can be downloaded from the Web or installed from a local directory.

Error message support has also been improved so that the developer has more control to clear message boxes other than the standard OS error message boxes. Windows NT Embedded only removed OS message boxes, and did not have the ability to post errors to a Web site like Windows XP Embedded.

There have also been improvements to the architecture of headless support. PC board manufacturers are starting to include video controllers built on the board. For developers looking to create small images but requiring the flexibility to connect a debug monitor, Windows XP Embedded has a video driver process that it performs at boot. Windows XP Embedded will load the chip-specific video driver, if an advanced video acceleration driver is available. If a chip driver is not available, Windows XP Embedded loads either loads a standard VGA driver for the available adapter card or the headless driver if no adapter card is found.

Cloning has also been improved to allow the OEM between control of when the cloning process begins and ends during the first boot for the device. The OEM can also create specific reseal messages that support cloning headless systems.

Embedded Features

Feature Windows NT Embedded 4.0 Windows XP Embedded
Write Filter Support         X
Control Write Filter

(Turn Filter on and off)

        X
CD-ROM Boot         X         X
Internet Error Reporting         X
Incremental Software Updates         X
Remote management Over TCP/IP         X         X
Cloning         X
Deployment Tools

(WinPE, SDI, Remote Boot)

        X

Table 6. Windows NT Embedded vs. Windows XP Embedded: Embedded-Specific Features

Windows XP Embedded also introduces several deployment technologies that Windows NT Embedded never had. Remote Boot Service was added to provide network boot capability for systems that do not have permanent storage devices. Windows PreInstallation Environment (WinPE) and System Deployment Image (SDI) tools allow the OS built on a host system to be copied easily to a remote target system.

Conclusion

With a dramatic number of additions, enhancements and improvements in the core OS, tools and platform features, Windows XP Embedded offers superior performance than Windows NT Embedded. As PC technologies continue to evolve, Windows XP Embedded will support the latest technologies and peripherals that are available today.

Additional Resources

For more information about Windows XP Embedded, see Windows XP Embedded home page.

For online documentation and context-sensitive Help included with Windows XP Embedded, see Windows XP Embedded product documentation.

© Microsoft Corporation. All rights reserved.