LinuxDevices.com Archive Index (1999-2012) | 2013-current at LinuxGizmos.com | About  

Linux and Windows square off over devices

Mar 29, 2000 — by Rick Lehrbaum — from the LinuxDevices Archive

There's no question that Windows is king of the Desktop Market and won't lose that status in the immediate future. On the other hand, Linux is well on its way to a dominant position in the Server Market, as evidenced by its doubling of market share during each of the past two years.

But what about the third major market for computer operating systems — the vast and largely unseen realm of embedded systems? Does Microsoft reign supreme there, as on the desktop? No way! FAR FROM IT!

Before addressing why Microsoft isn't a particularly strong player in the Embedded Market, let's take a quick look at what “embedded systems” are, and what makes them tick.

What's an embedded system?

“Embedded systems” refers to equipment or devices that you don't think of as being computers, but whose operation depends on some sort of internal computer function. Embedded systems are all around us — in cars, microwave ovens, stereos, home automation systems, elevators, cell phones, security systems, in-flight entertainment systems, automated tellers, vending machines, medical instruments, information kiosks, . . .

The list goes on and on — to the point where almost every electric-powered device now contains embedded intelligence of one form or another. There are literally tens of thousands of distinctly different embedded systems; each contains a highly specialized embedded computer that tends to be as unique as the device itself.

By contrast, desktop, laptop, and notebook PCs all perform the same basic job and are therefore architecturally quite similar. The main differences tend to be in the size and style of their displays (CRT or LCD), pointing devices (mouse, trackball, glide pad), keyboards, and enclosures. Though these systems run thousands of different application programs, they primarily consist of variations on a single theme — the “PC architecture”.

So, there are thousands of unique computer architectures in embedded systems, and essentially a single architecture in PCs.

The 90:10 principle

Did you know that more than 90% of all the microprocessors manufactured each year go into embedded systems, and less than 10% go into PCs? Now that might make the Embedded Market seem like an enticing target for a software giant like Microsoft.

But before jumping to that conclusion, consider the implications of the fact that the Embedded Market consists of something like 10,000 applications, potentially based on thousands of distinct computer architectures. That's a lot of projects and unique computer architectures to support for any company, even Microsoft.

You can imagine why Microsoft might prefer the PC Market with its single architecture, to the Embedded Market with its extreme fragmentation.

Embedded operating system alternatives

So which operating system is dominant in the embedded systems market? Interestingly, the answer is “none”. Why?

Until recently, there have been three main alternatives:

  • General purpose desktop PC operating systems (e.g. Windows)
  • Commercial off-the-shelf embedded operating systems (e.g. Wind River Systems' VxWorks)
  • Custom designed operating system software, tuned to the task at hand.

Desktop PC operating systems are not particularly well suited to the task of satisfying the specialized needs of most embedded systems. Think about it. Would you be willing to wait half a minute (or more) for your microwave to load its operating system into 128 megabytes of DRAM, before it starts heating up your coffee? No way! You demand instant performance from embedded systems. Without software crashes. Using minimal power. At the lowest cost possible.

Although dozens of operating system vendors target their wares to embedded systems, the need to fit extremely tight hardware, software, and cost constraints while meeting highly specialized feature requirements often limits the practicality of using ready-made operating system. For this reason, less than half of all embedded systems actually use commercial operating systems. Instead, the majority run on royalty-free software that's been custom designed to precisely match system requirements and constraints.

However, this situation is changing. It's changing because embedded systems are rapidly becoming too sophisticated to be supported by home grown operating system software. It's changing due to the growing complexity of today's 32- and 64-bit microprocessors. It's changing as user-friendly graphical user interfaces and Internet connectivity weave their way into even the simplest intelligent devices. The idea of “rolling your own” operating system is collapsing under the weight of time-to-market pressures, technology advances, and functionality expansion.

The Embedded Market is, therefore, in transition from a mostly roll-your-own to a mostly off-the-shelf OS model. Microsoft has readied two operating systems to enter this growing market for out-sourced embedded OSes — Windows CE and Windows NT Embedded. Linux, now available in a broad spectrum of variations tuned to the diverse needs of the Embedded Market, is ready, willing, and able to compete for its share of the action. A third option, made up of a legion of proprietary embedded operating systems each with unique features and benefits, is also vying for the opportunity to serve as the selected platform for embedded devices.

Under the assumption that the future belongs to mainstream standards, the choice boils down to two main options: Windows and Linux. Which brings us to the . . .

10 Reasons why Linux will beat Windows in the Embedded Market

Reason #1: Control

Embedded systems are about control. Controlling temperature. Controlling the user interface. Controlling resources. All these demand fine tuning of the system's software to precisely match the needs of its users and its environment.

With commercial operating systems, your ability to adapt the OS to the needs of the particular application is limited. With Linux, you benefit from having a pre-existing operating system — including excellent tools — but with the freedom to shape and mold the OS to match your application's exact requirements, since the source code is readily available to modify as you wish.

For example, one developer experienced with using both Windows CE and Linux described his frustration with Windows CE this way: “Windows isn't open source. Microsoft won't let you make modifications to the OS. Consequently, we're all dependent on Microsoft to provide feature enhancements and bug fixes. But given the diversity of the Embedded Market, it's impossible for one company (even Microsoft) to offer every feature that every possible embedded system requires. By contrast, if you need an unsupported feature in a Linux-based embedded system, you can simply add it. The Embedded Market doesn't need forced 'standardization' on a single feature set. It needs diversity and the ability to innovate for a particular system's unique requirements.”

The beauty of Linux, is that you can have your cake and eat it too. Linux offers the benefits of a ready-made OS plus the flexibility of a roll-your-own approach. That's control to the max!

Reason #2: Support

“Embedded Linux has better support” contends Red Hat CTO, Michael Tiemann. “The availability of source code means there are more experts to understand the problem, propose alternatives, and create solutions. The lack of a cooperative development model is going to leave Windows CE developers behind.”

Although Microsoft has recently expressed a willingness to give developers access to their source code, that source is only made available for READING purposes and may not be used to alter the OS in any manner whatsoever — including fixing bugs. Microsoft's attitude is one of “we know best how to develop and modify operating systems, so you should leave that job to the experts (us).”

Reason #3: Rapid Innovation

Bob Waldie, CEO of Moreton Bay Ventures (recently acquired by Lineo Inc.) points out that “the nature of the open source model is that Embedded Linux will evolve rapidly to meet the needs of the embedded community.” A tremendous vibrancy results from tens of thousands of programmers throughout the world continually contributing to the open source Linux technology pool. This translates into an unequalled capability to embrace new technologies, protocols, and trends as rapidly as they emerge, along with the ability to easily adapt to the diverse needs of embedded systems.

Red Hat's Tiemann adds: “Embedded Linux offers greater diversity — thus more opportunity — than Windows CE. The fact that there are hundreds of approaches to embedded Linux is a great way to ensure that at least ONE of them works. With an off-the-shelf commercial operating system such as Windows CE, if the one approach doesn't work, nothing works.”

Reason #4: Linux is cool

Jim Ready, CEO of MontaVista Software, a startup devoted to supporting Linux in the Embedded Market, points out another reason Linux growth will outpace that of Microsoft in the embedded market: “It's cool to work with Linux!” “Besides,” continues Ready, “Linux has Tux. What mascot does Microsoft have to offer?”

Lineo's Phil Wilshire adds the fact that “Linux is reaching a whole generation of new programmers, since Linux based school projects are free from license fees.” This situation is reminiscent of Apple's penetration of the educational system through generous hardware and software donations in the late 70s and early 80s.

If you've tried to hire embedded system programmers recently, you're no doubt aware of the potential benefit of a strong “magnet” like Linux in attracting talent.

Reason #5: The price is right

“Embedded Linux pricing is infinitely flexible,” observes Red Hat's Tiemann. “You can pay as much or as little as you want for Embedded Linux. You can get as much or as little commercial support as you want. By contrast, with a Microsoft OS like Windows CE, you're stuck with a structured pricing model that offers much less freedom to match your embedded system's precise requirements.”

And what Tiemann says about the cost benefit of Linux doesn't only apply to per-unit license fees. It's also true of the development tools used by engineers to create the system. “There are no special tools or expensive systems needed to create innovative and useful prototypes” says Richard Pitt, president of FirePlug Computers, a company that specializes in tailoring Linux to the specialized requirements of embedded systems. You can find a broad spectrum of high quality, readily available development tools, ranging from cost-free, open-source tools — to commercially licensed products from a wide range of specialists eager to assist with Embedded Linux system development, deployment, and support.

Reason #6: It's about choice

Whenever embedded system developers select technologies and components, a paramount concern is the availability of alternate suppliers. Alternate source mean reduced risk. As systems become more complex and challenging to support, it becomes harder to justify using sole-sourced components — whether hardware or software. In the past, there were no alternate sourced operating systems. Now, Linux has changed the rules. Because Linux is open source, it offers an unlimited set of alternatives.

In effect, OPEN source is the ultimate ALTERNATE source. If you don't like your Linux distributor or development partner, you're free to pick another one. Or do it yourself. With Linux you aren't locked into a single supplier — a situation that invariably results in increased costs to both you and your end customers.

Reason #7: The Internet

Linux is truly a child of the Internet. Open communications, made possible by the Internet, is a key factor driving the open source revolution. Linux might never have achieved the critical mass needed to achieve its current status as a mainstream operating system, had it not been for the ease and flexibility of communications made possible by the Internet.

Conversely, the Internet has benefited greatly from Linux. Because Linux is a child of the Internet, the protocols and communications requirements needed to support the Internet are woven into the very fabric of Linux like genetic material passed to a child by its parent. Red Hat's Tiemann puts it succinctly: “Linux was built from the Internet up.”

In short — Linux is connected. Internet will certainly be a major factor propelling Linux into an increasing number of tomorrow's “intelligent interconnected embedded devices.” Imagine the enormous variety of possibilities for such products, and you'll start to see the huge market opportunity for Linux — child of the Internet!

Reason #8: Reliability

We all expect embedded systems to keep on running, without operator intervention, like the “Energizer Bunny.”

FirePlug's Pitt observes “Microsoft doesn't grasp the concept of reliability — offering '3 nines' [99.9% up-time] on their Windows2000 enterprise system to an industry accustomed to '5 nines' [99.999%].” “Embedded is even pickier,” continues Pitt, “Windows CE is a reliability joke.” Motorola Computer Group recently cast its lot with Linux, announcing a High Availability Linux (HA Linux), a product they will target to the telephony and Internet equipment industries. Motorola says their HA Linux (on suitable hardware) will meet or exceed the 99.999% up-time requirements of these reliability-intensive applications — which, incidentally, amounts to less than 5 minutes of down-time per year!

While it isn't hard to locate Linux-based servers that proudly proclaim how much time has transpired since their last reboot, the same situation doesn't appear to be the case with Windows-based systems. How long has it been since your Windows system needed rebooting?

Reason #9: Flexibility

Unlike Windows, Linux is inherently modular and scalable. Linux can readily be scaled down into compact configurations barely larger than DOS, that fit on a single floppy. Conversely, Linux is well known as THE server platform of choice, and is being designed into numerous Internet and telephony infrastructure programs. A growing number of projects even use Linux as the OS platform for multi-processor supercomputers.

In general, since Linux source code is freely available, it's totally practical to customize the OS according to the specific requirements of your unique embedded system. Best of all, the enhancements and extensions to Linux that occur from these activities are generally returned to the open source code base pool, for others to benefit from and evolve further.

Reason #10: It's not from Microsoft

Perhaps one of the main reasons Linux will be selected over Microsoft products is the strong undercurrent of anti-Microsoft sentiment among embedded system developers themselves. Dr. Peter Wurmsdobler, of the Centre de Transfert des Microtechniques, offers a historical perspective on Microsoft's evolution from software enabler of the IBM PC, to where they are today: “Microsoft democratized the computer market and served as a catalyst in making computers available to everybody. Later, however, they did as many revolutionaries do — they became dictators. History has taught us the inevitable fate of dictators.”

Conclusion . . .

OK, so let's be realistic. Microsoft is the most powerful software company in the world. They obviously are very proficient at a lot of what they do. Looking at where they've been extremely successful — the personal and corporate computing space — it's evident that Microsoft gains an advantage when they can focus their immense resources on what is essentially a single, very-high-volume system architecture. Consider the market where Microsoft has been most successful: the desktop PC market. That market consists of some quarter of a billion PC-compatible computers (of various shapes and sizes) throughout the world, which share a common system architecture, common hardware components, and common software components.

That sort of scenario is attractive to Microsoft. On the other hand, the support-intensive embedded market, with its extreme diversity and fragmentation, represents a support headache for Microsoft and, by extension, for Microsoft's customers. This is probably why Microsoft has been unsuccessful in multiple attempts to penetrate the embedded market in the past. Who remembers Microsoft At Work, or Microsoft Modular Windows? And those aren't the only stillborn efforts by Microsoft to establish a presence in the embedded market. A similar fate may well be lurking just around the corner for Microsoft's latest embedded offerings, Windows CE and Windows NT Embedded.

Rest assured, however, that Microsoft will aggressively pursue a handful of cherry picked embedded opportunities that share characteristics such as these: user-interface intensive; serving as platforms for a multiplicity of application software; relaxed resource constraints; moderate (not high) performance requirements; quantities in the 10+ million units per year. What sorts of embedded devices fit these criteria? A few obvious ones are set-top boxes, home entertainment systems, and the automobile-PC. Embedded device “killer apps” like these will surely be the basis for some high profile, hotly contested battles between Windows and Linux in the months to come.

On the other hand, in the extremely diverse Embedded Market consisting of tens of thousands of unique and highly specialized embedded device applications — home to more than 90% of the world's annual production of microcomputer chips — Linux shows every indication of becoming the operating system “platform of choice.”

Talkback! Want to make a comment on this article? Post it here



For the latest news, information, and buzz on Embedded Linux, stop by the Embedded Linux Portal, at http://www.linuxdevices.com . Linux is a trademark of Linus Torvalds. All other marks are the property of their respective owners. This column, written by Rick Lehrbaum, is copyright © 2000 ZDNet and may not be reproduced without permission.

 
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.



Comments are closed.