Why Choose Linux for Embedded Development Projects?
By Steve McMillan, Technologist
Art Webb, Engineering Manager
As a supplier of embedded processor boards, SBS Technologies provides Linux support for CompactPCI and VME platforms used in communications, military, aerospace, and industrial automation applications. With more than 200 different vendors offering solutions based on different kernel releases, Linux is somewhat of a moving operating system (OS) target. Nevertheless, SBS has found that many developers are still selecting Linux over other operating system alternatives for embedded development projects, especially as complex network-edge devices increasingly come under the purview of network administrators. But why, you ask?
First, Linux is popular for embedded applications for the same reason it became prevalent for enterprise server platforms: it's free! Linux is an open-source operating system, with source code distributed by the Free Software/Open Source community. Anyone who receives it can make changes and redistribute it. No one company or individual owns Linux, which was developed, and is still being debugged and improved, by thousands of corporate-supported and volunteer programmers. Linux is a good match for commercial grade embedded applications due to its stability and networking ability. It is generally highly stable, is already in use by large numbers of programmers, and allows developers to program hardware "close to the metal."
There are a handful of popular, general-purpose Linux distributions. These include: Red Hat, the best-known Linux distribution in the United States; SuSe, for home and small office Linux users; Linux-Mandrake, the easiest distribution for new users to install and learn; Caldera OpenLinux, produced by a company with many years of Unix experience; Turbolinux, an enterprise-oriented distribution; Slackware Linux, the original Linux distribution; and others. Linux can be downloaded from vendors' Web sites, but the more popular versions can also be purchased from chain computer stores like Best Buy or CompUSA.
SBS has received numerous requests from customers for communications hardware powered by Linux for applications ranging from core communications functions to edge routers and switches to wireless base stations. To meet these requirements, the company has partnered with popular Linux vendors such as Red Hat, to name only one example. Government customers faced with strict security regulations have been less willing to use Linux. But soon LynxOS should release BlueCat RT Linux, a version of Linux designed to comply with government regulations, which should change the mindset of government users toward Linux. It could also become popular in the commercial sector.
SBS has seen Linux become increasingly more popular for commercial embedded applications such as medical imaging and supercomputing and clustering, as well as communications applications. But most often, the customers who are asking for Linux are those who work at the "edge" of the network or who are part of the IT department as opposed to system-level engineers. The main reason for this trend is the simple fact that because Linux is so popular, most network administrators and IT managers know how to use and manage it just as they would any other popular operating system such as Windows, for example. Ergo, most of them would prefer to use embedded products that run Linux than an embedded operating system they don't know how to use.
As a result, SBS has decided that, in addition to supporting specific Linux distributions, it will also offer support for just the basic Linux operating system. This will give customers a taste of what Linux can and cannot do without forcing a commitment to a specific distribution of Linux such as is necessary for niche product development. One such "edge" product is the company's Palomar 1000 SFX and DFX PrPMCs (Processor PCI Mezzanine Cards), which come with VxWorks, Linux, and Linux SMP operating system support. This board, which features two PowerPC 750 FX processors, can be used to increase the raw processing performance of systems at any time.
Linux' advantages for embedded developers include:
- Robust Features -- Linux is a multi-threaded, multi-function operating system that can be used for mission-critical applications. It offers the same kind of robust features found in all Unix-based operating system environments, including communications, graphics, and much more.
- Scalability -- Linux can run on products as small as flash cards and boards to PCs and workstations to larger systems. This flexibility allows for easier upgrades and compatibility between the various cards, boards, and systems in a company.
- Widespread Acceptance -- Linux grew out of the Free Software/Open Source community so millions of programmers and developers are familiar with the operating system. As such, more people are likely to purchase products that run Linux than other operating systems with which they are less familiar. There are also many more applications available for Linux than other operating systems.
- Low Cost -- Linux is much less expensive than other operating systems and no royalties must be paid. In fact, many real-time operating systems are much more expensive and there are usually hefty fees per component, not to mention shipping charges. Vendors will incur some hidden costs, however, when developing with Linux. Because Linux is a moving target with developers changing it by the minute, vendors must "freeze" a release of the operating system and then certify their products for that release. Then they'll have to regression test older products to make sure they work with new releases. They'll also need to provide documentation. Vendors should weigh users' requests for Linux and other advantages of the operating system against these costs.
- Easy Customization -- Linux is easy to customize. Developers can pick and choose the features they want to implement. It's also much easier to add connectivity, I/O and other system-level features, as needed. Developers are free to adapt the operating system to add new technologies.
- Ready Support -- Developers can get ready help with Linux issues at any time of the day or night by taking advantage of free, expert technical support from Linux Users Groups (LUGs), available in almost every country.
Developers are telling us in unambiguous terms that Linux' numerous advantages clearly outweigh its shortcomings. While Linux it is a moving target, with over 200 different Linux vendors offering solutions based on different kernel releases, and vendors must provide their own documentation, certification, and regression testing, it has robust features, scalability, low cost, ready support, and is easy to customize. Furthermore, a huge number of Linux-experienced enterprise professionals are finding that Linux is a familiar entrée into the world of embedded systems. You may agree that its benefits make it a worthwhile investment for your embedded development project.
If you are familiar with RSS feeds, you can also sign up for our free blog feed. Our RSS feed is updated in real-time while our newsletter is updated daily.