|
|
LynuxWorks responds to Microsoft attack on Embedded Linux
2001-12-17
Microsoft recently posted a document on its website which compares Windows XP Embedded to Embedded Linux, in an attempt to portray Embedded Linux as inferior from both technical and business perspectives.
Embedded Linux vendors have countered that Microsoft's document contains numerous inaccuracies and is based on distorted characterizations of the Embedded Linux operating system as well as of the vendors of Embedded Linux. The following is a response from LynuxWorks, one of the leading Embedded Linux vendors, to Microsoft's attack on Embedded Linux. Excerpts from Microsoft's document are in bold. The responses were prepared for publication at LinuxDevices.com by LynuxWorks senior executives. Be sure to also review the following related stories . . .
Microsoft has published documents pitting Windows XP Embedded against embedded Linux. We did some investigating of our own and are adding some commentary on the new XP release as a contender in the embedded market. In general, we found that the operating system has limited applicability in embedded markets, and doesn't have the clout to really take on embedded Linux in head-on comparisons. Basic Requirements for Entry XP offering has shortcomings as an embedded offering. There are some places it can go, but those are limited for reasons you will see below. The bulk of Microsoft's issues continue to be in size and performance. Below are some major areas of concern. Kernel Size -- The smallest footprint configuration of XP Embedded is 5MB. And for that, to quote Microsoft, you get "extremely limited functionality." A medium-sized configuration is 15 MB. Just as a comparison, LynuxWorks' BlueCat Linux is 259KB and LynxOS real-time operating system product is 254KB. An "extremely limited functionality" version of LynxOS is at about 150 KB! In the traditional embedded world, XP is huge and at the high-end of what is acceptable. Performance -- Windows XP is not real-time. It is pre-emptable but not re-entrant! This can result in long, unbounded worst-case task response times. This performance will keep XP out of high-performance, mission-critical applications. The immaturity of Windows XP for embedded use is evident when its feature set is examined in depth:
Now on to the FUD . . . Here we tackle some of the specific misinformation and inaccuracies put forward by Microsoft. Microsoft: Linux lacks an integrated tool set, so OS and applications development time is slowed. In fact, Linux has the most sophisticated integrated development tool set ever produced in the history of programming. The UNIX-compatible development toolchain, with its endless ability to combine and process programming text provides a far richer development environment than any IDE could hope to achieve. The reason for this is that the IDE approach attempts to guess at the popular courses of textual/build processing actions a developer can take and put it into a "button" within the IDE. When an IDE is the only development environment available, it limits the total number of choices developers can make while coding. While Windows XP only offers an IDE, Linux offers the powerful UNIX development environment as well as options for IDEs, clearly making it the better choice in terms of development options. Some of the popular commercial-grade IDEs for Linux are:
Next to Windows, Linux has the second largest set of knowledgeable developers. Also, because of its freely available source code, Linux has moved to the forefront of research in advanced computing areas such as fault tolerant architectures and multiprocessing. The fact is that the real hotbed of innovation is, and always will, be open source environments like Linux because of its lack of boundaries for the exchange of ideas and implementations. Microsoft: Each embedded Linux distribution vendor certifies support for only a limited number of CPUs and drivers on its own distribution. Again, another inaccuracy. There are literally thousands of Linux drivers available. All are available for free or low cost as part of a development seat. There are far more Linux drivers available than those on Red Hat's site, as listed by Microsoft. Drivers for a Red Hat on X86 will work for a BlueCat on X86. Microsoft: Preconfigured solutions are available, but are either limited or distribution-specific and come at an extra cost from a commercial Linux vendor. Almost all Linux vendors provide sample images or templates to allow developers to get a quick start. BlueCat has templates which are configurations for real-world embedded applications. Windows XP is geared only to environments that will run Windows applications, which are few and far between in the embedded world. Microsoft: Windows XP is a high-performance platform for fast, responsive devices and device applications. When pressed, Microsoft always compares XP to older versions of operating systems it has made. Particularly laughable was their comparison between Windows NT and Windows 98, touting NT as being "more reliable," implicitly stating that 98 was "not very reliable," a fact that was obvious to its users who had to reboot their machines once a day . . . Also, saying that one OS is "faster" than any other is a very difficult quantity to gauge, requiring thousands of metrics and timing runs. Such a comparison has been done, however, by markets adapting Linux for server performance far faster than Windows NT or XP. The success of this adoption has had a significant impact on Microsoft's server customer base, which is why they are making nervous, generic statements like this one. Finally, for embedded environments, the vast majority of the thousands of features that Windows XP offers are useless. Embedded environments need fast, responsive and robust operating system environments. Age, compact size and responsiveness in an OS are very positive traits because they reduce the chance that the OS contains errors since a very large number of its code paths have been run. Windows XP fails on all three counts. Linux succeeds. Microsoft: Lineo sites 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. Again, this is a falsehood. Most embedded Linux Kernels with full features take only about 500 KBs of space and can be configured to 260KB with basic features. The size of the memory required by XP adds significant cost and performance burden. Embedded Linux, though not as small as a commercial RTOS such as LynxOS, it is still much leaner and meaner than XP. Microsoft: Linux 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. In an embedded environment, a large footprint browser like Internet Explorer 6.0 would be highly undesirable the vast majority of the time. For situations that do require it, however, the Netscape Mozilla 6.2 browser contains just as many if not more features than IE 6.0. As for royalties and features, embedded customers always like to have a modular royalty schedule based on features. Embedded browser companies have arisen to provide this service. Embedded browser companies such as Opera and Access offer browsers that are highly configurable and modular, catering to the needs of embedded customers. As for Java, it is priced on the basis of profiles, making it highly attractive as an alternative to .NET. Microsoft: Networking support in embedded Linux simply is not as comprehensive and feature-rich as that in Windows. Not true. Many companies are providing robust wired and wireless networking solutions for Linux. For embedded and large scale networking applications, Linux is the platform of choice for both development and deployment. Furthermore, because the Linux kernel is open source, it is far easier to make experimental enhancements to test new ideas. Finally, security flaws in Linux are more actively searched for and repaired, again, because of the availability of source. This fact is made even more evident by the NSAs recent decision to make available the work they have done in making a Secure Linux. Why didn't they do this for Windows? . . . Microsoft: Even vendors such as Red Hat cannot guarantee the reliability and security of their OS. 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. If you look at Microsoft's SEC filing, or even at their EULAs you will find similar language. In fact, at the end of the Microsoft document which this set of replies is addressing, there is a similar disclaimer: "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." The fact is, that no company will guarantee the reliability or security of their OS to the extent that Microsoft alleges Linux vendors do not, not even Microsoft. We can safely say that embedded software produced by Microsoft is not even considered for really mission critical environments like aircraft flight control, nuclear reactor control or spacecraft mission control. Linux software, on the other hand, is routinely considered for such uses. As for the security features of Linux networking, remember that many of the security protocols are developed on Linux first and then ported to Windows. Microsoft: 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. PnP is found in Linux as well as APM features. BlueCat has a very significant framework for APM. Another feature many people want is HA, which Windows does not support. It goes beyond hot swap to fail-over.. Microsoft: For inter-application 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. Most embedded applications do not require communications to Microsoft's back Office. For those that do, there are applications available to allow for the connection. Microsoft: Linux looks to Java as a distributed applications development environment. Java provides only a set of least-common denominator services across different OSes.
Java is certainly a great solution for inter-OS integration. Numerous run-time innovations are available to make it run faster. Things like the Native Method Optimization used by the Apogee Aphelion Java build environment to the JITs available from Symantec and SUN all make Java achieve the performance levels required for commercial use. As for Java being designed as a platform, that is true, and it is one of its greatest strengths. Java provides a portable platform upon which applications can be developed and ported to a multitude number of targets. There are also a very large number of IDEs for Java to make development for numerous kinds of environments straightforward. In fact, Microsoft is the one with real problems, offering only a single solution for inter-OS integration . . . and one that is not universally accepted . . . Microsoft: Embedded Linux may appear more cost-effective at the very outset but the total cost over the lifecycle can be substantial. 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.
Microsoft: Linux tools pricing is expensive and a key source of revenue for embedded Linux vendors.
Microsoft: 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.
They are touting the same FUD as always regarding GPL. No one as ever gone to court over GPL! Microsoft: Product support and maintenance guarantees are only as good as the vendor standing behind them.
Microsoft: While the Open Source community can help with development, the burden of testing and supporting a particular OS 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.
Conclusion: Key Points Summary In summary, Windows XP is not as good an embedded solution as embedded Linux for the following reasons:
Related stories:
Talk back! Do you have comments or questions on this story? talkback here
|