Why Microsoft Windows XP Embedded and Not Embedded Linux?

November 28, 2001

Selecting an operating system platform is one of the first decisions an embedded developer must make for any given device design. Whether you are considering migrating from a proprietary to commercial platform, or from one commercial platform to another, the objectives are the same: accelerated time to market; a solid, extensible operating system core that can be used across all projects; superior technologies that support differentiation and address emerging opportunities; and predictability over the device lifecycle. In addition, you want it at the lowest possible total cost from a reputable vendor who will support you throughout the process.

For smart, connected, 32-bit devices requiring rich applications, Microsoft® Windows® XP Embedded delivers six distinct advantages over Linux in the embedded space:

Integrated

The following is a comparison between Windows XP Embedded and embedded Linux solutions. When you compare, you will find that Windows XP Embedded better meets both your business and technical needs.

Windows XP Embedded Embedded Linux
An integrated, all-inclusive, end-to-end tool set delivers faster operating system and applications development time Linux lacks an integrated tool set, so operating system and applications development time is slowed
Based on Windows XP Professional, Windows XP Embedded uses the same application programming model familiar to over 6 million Windows developers worldwide, ensuring a large developer talent pool.
  • For rapid device driver and code development, original equipment manufacturers (OEMs) can use the Windows XP Driver Development Kit (DDK) and Windows Platform SDK.
  • Visual Studio® .NET v7.0 enables a developer to target both the desktop and a Windows XP Embedded device with a single application.
Embedded Linux offers a standard kernel but no standard device level application programming interface (API). There are multiple implementations of other major operating system components so developers end up working with different programming environments and tools for each device, decreasing efficiency, limiting code re-use and increasing application development time.
  • For example, there are at least five different window managers and at least four competing browsers, increasing programming complexity and reducing the pool of available developers.
Windows Embedded Studio, which includes Target Designer, Target Analyzer, and Component Designer, enables developers to use existing code and prior knowledge across multiple devices.
  • Component Designer enables OEMs to build and add custom components and incorporate them into their operating system.
  • Target Designer automatically imports data, combines binary files, selects drivers, and checks dependencies to configure a customized operating system.
There is no common integrated development environment (IDE) for Linux. operating system development is command-line driven and applications development requires a new set of tools for each device. Developers must either build their own tool-chain from piecing together Open Source tools or opt for a specific vendor's costly tool set.
  • Over 9,000 tested and certified drivers.
  • Support for USB, IEEE 1394, Advanced Graphics Port (AGP), Plug and Play (PnP), and DVD (UDF 2.01).
Each embedded Linux distribution vendor certifies support for only a limited number of CPUs and drivers on its own distribution.
  • Red Hat's v7.1 has support for only four USB and zero 1394 device drivers.
  • From a list of over 300 network card drivers available for Linux, Red Hat's v7.1 Hardware Compatibility List (HCL) currently indicates support for only two "Red Hat Ready" drivers and only 27 "compatible" drivers.
    • In addition, there are no drivers listed for any embedded CPU beyond the x86 processor and there is no embedded-specific HCL.
Preconfigured and extensible Design Templates jumpstart operating system development.
  • Examples include set-top box, Windows thin clients, kiosks, and residential/home gateways, to name a few.
Preconfigured solutions are available, but are either limited or distribution-specific and come at an extra cost from a commercial Linux vendor.
  • Lineo's SDK supports only four preconfigurations—two for x86 and two for PowerPC.
  • Lineo's Embedix BDKs have some preconfigurations, but they cost an additional $595*–$1495 and are CPU and board specific.

Comprehensive

Windows XP Embedded Embedded Linux
Comprehensive operating system foundation with proven performance and reliability Linux was never designed to address the needs of the embedded market
Windows XP Embedded is the most reliable version of Windows ever.
  • Windows XP delivers equivalent or better uptime than Windows 2000 Professional and three times the uptime performance of Windows NT® 4.0.
  • For superior reliability, Windows XP Embedded provides features such as a preemptive multitasking architecture, a fully protected memory model, improved code protection for critical kernel structures, Windows File Protection, driver signing, system restore and the NTFS file system.
There is no documented third party reliability testing evidence for Embedded Linux. Any claims made about reliability are typically specific to a particular distribution and largely anecdotal. As well, Embedded Linux offers nothing comparable to Windows XP Embedded's driver signing functionality and certification and commercial distributions are not comparable in their certifications of drivers.
  • For example, on Red Hat's current Hardware Compatibility List, there are less than a few hundred certified drivers and most of those are complete systems, as opposed to hardware components or peripherals.
High-performance platform for fast, responsive devices and device applications.
  • Across an average of industry-standard benchmarks (Winstone and Webmark), Windows XP system performance is 54% faster than Windows Me® and equivalent to Windows 2000 Professional.
  • Windows XP is 34% faster on system startup and 21% faster on resume from standby than Windows 2000 Professional (700 MHz CPUs and above).
  • Application startup is 21% faster in Windows XP than in Windows Me and equivalent to Windows 2000 Professional (after first use).
Note: Windows XP Embedded was not tested directly. Internal Microsoft testing indicates that Windows XP Embedded exhibited similar or better reliability and performance characteristics than Windows XP Professional.
n/a
With over 10,000 individual operating system features, Windows XP Embedded delivers flexibility and configurability that meets the footprint requirements of most major device categories.
  • Windows XP Embedded supports a minimal bootable image of 4.8 MB.
Lineo cites a minimum footprint size of 2MB ROM / 4 MB RAM for Real Time Linux with an embedded Linux kernel (both are required). Red Hat, for its new version of embedded Linux, recommends 8MB RAM and 4MB Flash as minimum system requirements. The Red Hat Linux kernel alone uses approximately 1.5-2MB in ROM depending on configuration.

Unmatched

Windows XP Embedded Embedded Linux
An unmatched technology portfolio for building the next generation of devices Linux is a follower, not an innovator
Windows XP Embedded delivers a feature-rich multimedia experience.
  • Full support for DirectX® 8 provides superior graphics rendering and performance.
  • Direct3D®—advanced support for interactive 3-D graphics applications.
  • Windows Media™ 8 for industry-leading codecs and Digital Rights Management (DRM).
  • Support for advanced graphical functionality including ClearType® fonts and multiscreen.
  • DVD video support.
To get the functionality, quality, performance, codec support and DRM delivered in Windows XP Embedded, OEMs will need to license an array of third party components including codecs, DRM and renderers (players) that generally come with incremental licensing fees.
  • The MP3 basic decoder costs about $0.50 per-unit. If an OEM wants the enhanced functionality of MP3 Pro, it will pay an additional $2.50 per-unit royalty. For MP3 Pro encode and decode, costs can run an incremental $7.50 per-unit.
Internet Explorer 6.0, part of Windows XP Embedded, delivers an industry-leading Internet browsing experience offering new features such as auto image resizing, print preview and privacy and security enhancements. Internet Explorer 6.0 delivers support for Passport, MSXML 3.0, SSL, HTML 4.0, CSS Level 1, DOM Level 1, DHTML and enhanced SMIL 2.0.
  • Linux offers does not offer an Internet browser that is equivalent to the features in Internet Explorer 6.0. Third party alternatives such as Opera and Netscape are still not feature-rich and require an OEM to pay incremental per-unit royalties. If Java support is required, the OEM will need to license a Java Virtual Machine (JVM) and pay per-unit royalties.
  • In large quantities, an OEM will incur an additional $8 per unit to license Opera for Linux. As well, there is no e-mail, instant messaging and news support in Opera for Linux.
Windows XP Embedded delivers industry-leading connectivity and communications with support for RDP v5.1, zero configuration 802.11b including 802.1x security support, enhanced TCP/IP, RAS, DHCP, CIFS redirector, Winsock 2.0, network bridging, UPnP, and much more. Networking support in embedded Linux simply is not as comprehensive and feature-rich as that in Windows.
  • Linux does not offer comparable 802.11b zero-configuration. As well, Red Hat's HCL shows no supported drivers for 802.11b wireless—only non-supported Open Source drivers.
  • Linux offers no RDP support for thin clients or the 802.1x wireless security protocol.
Extensive, built-in language support makes it easier and faster to deploy devices into multiple markets. For example, Windows XP Embedded provides a Multilingual User Interface (MUI) to enable fast, efficient internationalization without rebuilding the operating system. Multilanguage availability in Linux is extremely limited for both operating system localization and application development. Localizing the operating system means rebuilding it in the desired language.
Windows XP Embedded offers enterprise level security with Kerberos, IP Security (IPSec) and Web Server Secure Socket Layer (SSL) support. It also provides cryptography APIs to enable protected data stores, 802.1x security protocols and Smart Card support.
  • In addition, Microsoft invests in dedicated resources and rigorous security-specific testing to find and fix security issues quickly.
To find and fix security flaws, Linux relies heavily on the Open Source community and source access, assuming that the "many eyes" of the Open Source community can equal a more secure operating system.
  • Even vendors such as Red Hat cannot guarantee the reliability and security of their operating system. Red Hat's Security and Exchange Commission (SEC) filing states that they may not be able to test their software effectively because independent software programmers, over whom Red Hat has no control, contribute to Open Source programs.
Windows XP Embedded supports Advanced Power Management (APM) and Advanced Configuration and Power Interface (ACPI) v2.0.
  • Windows XP Embedded also supports Thermal Control, Hot Plug, LCS Dimming, power schemes, and power policies for individual peripherals.
Linux provides support for APM, but that support depends on code that must be contained in the system's BIOS. In addition, Linux provides only limited ACPI support.
  • Linux does not support plug and play and ACPI relies on such functionality. Adapting Linux to deliver this support will require major changes to the driver model—work that is time intensive.

Interoperable

Windows XP Embedded Embedded Linux
Broad interoperability with .NET enabled applications and services that span devices, PCs, servers, and the Web Linux has no strategy for integrating applications and services across devices, PCs, servers, and the Web
Comprehensive interapplication support enables seamless integration.
  • SMS for integrated device management on a broad scale.
  • XML/SOAP support for Web-based integration and structured data exchange.
  • Microsoft Message Query (MSMQ) for integration with server-based applications.
  • Full DCOM and LDAP support.
For interapplication communication, Linux supports CORBA. There is no DCOM support, which makes integration with Microsoft back-end applications difficult and time-consuming. Further, device management is largely based on SNMP only. Any aggregated device management needs to come from a third party at an additional cost.
Visual Studio® .NET incorporates the Microsoft .NET Framework, which delivers a managed code environment and offers developers a powerful way to build integrated and interoperable applications.
  • The .NET Framework was designed, via Just-in-Time compilation, to execute, not interpret, native code. It exposes much richer functionality of the underlying operating system than an environment designed for cross platform use.
  • The .NET Framework integrates multiple languages, empowering developers to select the right tool for the job.
Linux looks to Java as a distributed applications development environment. Java provides only a set of least-common denominator services across different operating systems.
  • Java was originally designed to be interpreted and only gained the ability to compile down to native code after a major retrofit. It fails to take advantage of the unique capabilities of the underlying operating system.
  • Java was designed for use with a single programming language—Java. Developers have no option to choose the best tool for the task and cannot use knowledge or code from other languages.

Proven

Windows XP Embedded Embedded Linux
Business model that is better aligned with your business for the long term Embedded Linux may appear more cost-effective at the very outset but the total cost over the lifecycle can be substantial
An all-inclusive IP licensing model is more straightforward. There are no incremental charges for things like preconfigurations or functionality. Linux solutions from any vendor typically are fraught with numerous incremental intellectual property, support and potential per-unit license or royalty costs that add up to significant licensing and support expense.
  • Lineo charges for some IP, including the boot-loader, code optimizer, reflective memory, debugger and preconfigured device-specific distributions. Royalty fees can run from $1–15 per-unit for this incremental IP.
Low, up-front tools pricing minimizes sunk costs.
  • The Windows Embedded Studio, containing Target Designer, Target Analyzer, and Component Designer, costs just $2,995 per-seat and comes with 90-day installation support and three years of no charge hot-fix support.
  • The Windows Embedded Evaluation Kit [ http://www.microsoft.com/windows/embedded/xp/evaluation/trial/default.asp ] is available for the cost of shipping and handling.
Linux tools pricing is expensive and a key source of revenue for embedded Linux vendors.
  • Red Hat's GNUPro commercial tool set sells for $9,995 per seat for a Linux host and $12,995 for a non-Linux host. Upgrade and bug fix support require an annual support subscription.
  • Lineo sells its SDK for $5,495 per seat. Anything other than installation support costs extra, and for support you have to call Lineo, Caldera and/or Metrowerks depending on your particular issue. There is no single source of support.
There are no hidden or unknown legal and development costs from managing your intellectual property around the GPL. An OEM is required to sort through a potential legal morass of licensing issues around the GPL if it wants to protect its intellectual property rights. This creates extra costs from both a development and legal perspective.
  • An example of this risk can be taken from NVIDIA. A NVIDIA programmer, in the course of developing a driver for one of its products, used a portion of code from a freely available video driver. The developer failed to realize the code was licensed under the GPL and would therefore require NVIDIA to release the source code for its entire driver. Because NVIDIA did not want to release the source code to its commercial software, the company incurred substantial costs to develop a new driver that did not contain the GPL code.
Well-defined, extendable support and maintenance improves device lifecycle planning.
  • Three years no-charge hot-fix support, with up to four years of additional paid hot-fix support from date of general availability.
  • Microsoft guarantees availability of Windows XP Embedded Studio for the longer of N-2 versions or three years from date of general availability.
  • Microsoft will license Windows XP Embedded runtimes over the lifecycle of an existing OEM embedded device.
Product support and maintenance guarantees are only as good as the vendor standing behind them.
  • Lineo offers free 30 day installation support. Anything else costs extra and may require a call to Caldera or Metrowerks depending on the issue.
  • Support is a profit center for embedded Linux vendors. Red Hat charges $1,999 per-seat for Linux hosts and a minimum of $2,500 per-seat for non-Linux hosts GNUPro tool set support. In addition, an OEM would need to buy operating system support—Red Hat's 5 incident basic support costs $949 per year.
  • Given the many recent announcements (Lineo laid off 13% of its staff a few months ago and recently announced plans to lay off or spin off an additional 170 employees, and Red Hat recently cut 17% of its workforce), it is questionable whether commercial embedded Linux vendors will be around to provide support for the long-term.

Global

Windows XP Embedded Embedded Linux
Worldwide ecosystem to support and speed product development Open Source does not an ecosystem make
Windows XP Embedded is supported by a worldwide network of over 1000 partners in 45 countries, including:
  • 28 silicon vendors and 485 systems integrators.
  • 200+ OEM partners, 85+ IHV and 150+ ISV partners.
  • 60+ embedded tools providers.
  • 21 authorized training partners.
  • 30+ distributors worldwide.
  • A wealth of no-charge developer support is available through an embedded specific section on MSDN®. As well, developer support is available through Windows Embedded news, chat and user groups manned by Windows Embedded developers and Microsoft's network of embedded experts, known as eMVPs.
While the Open Source community can help with development, the burden of testing and supporting a particular operating system implementation long term falls to the OEM. While commercial Linux vendors do offer support, if an OEM makes modifications or adds additional features to a commercial Linux vendor's distribution, support may not be available or may cost more.
  • The Red Hat Worldwide Technical Support Guidelines and Definitions document states that Red Hat will not support any modifications made to their distribution of Linux that are not approved or recommended by them.
With over 400 developers, four products teams and a worldwide sales, marketing and channel development team, Microsoft is focused on our customers and partners for Windows Embedded. Recently published data from "Open Source: The Unauthorized White Papers" by Donald Rosenberg outlines that fewer than 200 people have been accepted as contributors to the Linux kernel, and of the 2,200 people who have contributed to the rest of Linux, 91.4% provided only one or two pieces of code. This list gets even shorter in the embedded space.

In addition to comparing the benefits of Windows XP Embedded versus embedded Linux, it is also important to consider some of the misperceptions and issues around embedded Linux that can materially affect your business.

Linux Is Not Free

While the Linux kernel may be available at no charge under Open Source, the total cost profile of an embedded device is a function of multiple factors, including:

Failing to consider or underestimating costs such as these can have a substantial impact on both the hard (BOM) cost of the device and the opportunity costs associated with its time-to-market revenue potential. So called "royalty free" operating system software licenses may apply to only a limited set of functionality and may be offset by higher upfront costs and incremental royalties for proprietary, value-added software. Additionally, opportunity costs or revenue lost due to increased time to market caused by immature or incomplete tool chains, limited CPU and hardware support and hard to find, expensive development expertise can negate any royalty savings. Finally, value-added components such as tools, BSPs, add-on modules and consulting and support fees also factor into the cost profile of a device. With devices becoming increasingly sophisticated and requiring richer functionality, an OEM must consider and evaluate the role these and other aspects play in total cost profile of a device.

Many OEMs find that to get the functionality they need, they must piece together Linux technology components themselves. Such an approach leaves the OEM to either self-support its "unique" version of Linux, or contract support from the commercial Linux vendor who may have helped build it. This defeats one of the OEM's key objectives in moving to a general purpose operating system—to free up resources from ongoing operating system support and maintenance. This "tie" to a particular Linux vendor, in turn, leaves the OEM exposed to the long-term financial viability of that vendor. Source code access may make the code available, but it does not solve the challenge of finding, keeping and paying for the expertise to maintain it.

OEM Licensing

Managing licensing under the GPL is so convoluted that Lineo felt compelled to deliver a tool just to detail the licensing model (GPL, LGPL, BSD, proprietary) for each operating system component in an image. Lineo charges $3,000 (US) for this tool, which must be purchased in addition to the Embedix SDK. If an OEM wants to ensure its IP is protected, additional development and legal resources must be allocated to watchdog the development process and final product. In addition, there are potential legal and royalty costs that may arise due to issues around patent infringement that are just now surfacing in the courts.

In summary, Windows XP Embedded offers not only substantial technological advantages over embedded Linux, but business advantages as well. From a technology perspective, Windows XP Embedded delivers faster operating system and applications development time, a proven and reliable core platform, and an unmatched technology portfolio to support advanced applications and services. From a business perspective, Windows XP Embedded offers a straightforward, cost-effective licensing, pricing and support model, minimal intellectual property risk, and the power of a worldwide network of well-trained value-add partners. With Windows XP Embedded, you leverage the extensive work of the world's foremost operating system company, which frees you to focus fully on product differentiation.

This document is provided for informational purposes only, and Microsoft makes no warranties, express or implied, with respect to this document or the information contained in it.

*All funds are in U.S. dollars unless otherwise noted.

Copyright 2001