No two technologies are more popular today than the Internet andLinux, so it's natural that cutting-edge developers are buildingInternet Appliances with Linux, today's hottest operating system.Linux has been around now for nearly a decade, but until recentlyit has not gained acceptance as an Internet Appliance (IA)platform. Traditionally, the open source nature of Linux gavedevelopers much more control over operating system quality andfunctionality than its competitors. The same holds true for IAdevelopment, where Linux offers a more attractive combination offeatures than enterprise and embedded operating systems.
No runtime royalties. Linux distribution vendors chargefor the value they add in putting together a packaged product orfor an annual subscription to their distribution, but so far mostare not charging for runtimes.
Flexibility. Linux provides flexibility through its:
- Open Source
If a developer trying to build IAs with Linux encounters a functionof the operating system that is inadequate or missing, he/she caneither hire someone to extend the operating system, or do ithim/herself. In addition, if developers don't like the way Linuximplements some part of the operating system, they can change it.Hence, developers are not limited to having the manufacturerreconfigure it, moving it to different processors, or changing thefunctionality.
- Portability and APIs
Linux provides source-code compatibility with other processors,such as Pentiums, Power PCs, and Alphas, to name a few.
- Configurable Kernel
With Linux, developers have the ability to configure on the fly byadding or removing services and functions as needed. This requiresless memory and less maintenance, which translates into significanttime and money savings.
Figure 1: Linux provides functionality that stretchesfrom the enterprise level to embedded systems
Scalability. A wide range of tools, utilities, andapplications are available to customize the functionality of aLinux-based system. Embedded Linux vendors offer configurationtools and lightweight utilities suitable for small memoryfootprints.
Networking. The Linux TCP/IP stack is under constantscrutiny for security and optimal speed. Drivers, utilities,clients, and servers are available for just about every networkfunction or protocol.
Robust. Linux has developed a well-deserved reputation asa stable operating system. Since it is open source, developersworldwide are continuously improving and testing the Linux sourcecode and making the enhancements available to the rest of the Linuxcommunity.
Linux has long since established itself as a popular platformfor building enterprise Web servers, but it also offers manyfeatures that are desirable for building embedded systems and IAs.According to Booz-Allen & Hamilton, Linux servers are projectedto represent 24% of appliance server revenue, or $3.8 billion, by2003. And based on a current survey, over 70% of enterprises areusing Linux for Web/Internet Infrastructure applications.
|Source Code Availability||No||$$||$$||Free|
|Supports Standard API||Low||Low||Medium||High|
Table 1: Linux Operating System Advantages for InternetAppliances
It is clear that Linux offers distinct advantages over otherembedded OSs for Internet Appliance developers in the area ofdeployment costs, optimization, and risk reduction. With freelyavailable access to Linux source, developers can quickly change,modify, or extend operating system functionality in order tooptimize their applications. With many commercially supported Linuxdistributions now available, developers don't have to worry abouttaking on the burden of supporting or configuring the standardLinux distribution. In addition, Linux's adherence to standard APIslike POSIX, SVR4, and BSD and its (well-deserved) reputation forrobustness and reliability significantly reduce the implementation,deployment, and support risks that are faced by Internet Appliancevendors.
While some developers see Linux as well-suited for simple Webserving, some believe that Linux does not offer the highavailability and monitoring tools required for the more robustWeb-based applications such as e-commerce and ASP use. Others saythat the key impediment for Linux is that the majority of Linuxapplications are old, existing apps that have only been ported to aLinux platform; and Linux users are not pushing the envelope todevelop new applications and programs. However, Linux's reputationas a software development platform has made it an increasinglypopular choice among programmers for thin servers,telecommunications, and data acquisition and control applications.And while options for Linux service and support may be limitedtoday, the situation is changing rapidly.
In terms of its shortcomings in the IA space, Linux is quicklyimproving its position. As a matter of fact, Linux distributioncompanies have sprung up to specifically address some of theweaknesses of Linux when it is used beyond a basic Web-serverapplication. These Linux distribution companies, such as MontaVistaor Lineo, specifically tailor Linux for embedded systems and IAs.These companies have focused on addressing some of the specificissues of embedded system developers, such as:
- Tools for configuring the Linux (memory) footprint so that acustom, more compact distribution can be created
- Developing driver support for typical embedded devices
- Developing board support for popular embedded computingplatforms
- Optimizing Linux performance.
As Computer I/O begancreating I/O Appliances, we found that there wasn't an effectiveway to remotely administer, configure, or access devices that wereattached to the Linux appliance—especially when a number ofdiverse or heterogeneous devices was involved, so we developed anapplication server, the Easy I/O Streaming Server for Linux-basedIAs, which provides uniform, remote access to Linux devices. More…
At Laurel, MD-based Computer I/O, developers are leveraging theadvantages of Linux in creating IAs for communications and dataacquisition applications. After initially building and supportingLinux distributions, it looked at the three primary embedded Linuxcontenders—MontaVista, Lineo, and Red Hat—for acommercially supported alternative. MontaVista had the mostattractive set of features for Computer I/O's requirements with itsstrict adherence to the “100% pure Linux,” open source, androyalty-free models that were the original basis of the Linuxmovement. Both Lineo and Red Hat have at least some elements oftheir offerings that are proprietary in nature, and Lineo has movedto a (modest) royalty model. MontaVista also offered a moreextensive list of embedded processors and board support, as well asa dedication to improving and measuring the real-time performanceof Linux.
At Computer I/O, developers are leveraging the advantages ofLinux in creating IAs in telecommunications and test/monitoringapplications, such as VoIP. They refer to these specializedstreaming input/output (I/O) data Internet Appliances as I/OAppliances.