Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://www.cplire.ru/rus/casr/os/3_12/10/12.htm
Дата изменения: Thu Sep 6 19:21:02 2001 Дата индексирования: Sat Dec 22 11:46:21 2007 Кодировка: Windows-1251 Поисковые слова: vallis |
Секция Открытых Систем |
||||||
|
Little Linuxes
Stephen Cass
IEEE Spectrum, March 2001
Linux is poised to storm the once-closed world of embedded applications. The open source operating system made its first big impact as a file and Web server, and is currently making headway in the enterprise market. Its next victory will be not on the desktop, but in devices ranging from vending machines to Internet appliances.
"Short time to market" is the core reason why original-equipment manufacturers (OEMs) are demanding Linux-based solu-tions, explained Chris Gill, vice president of business development and marketing of ZF Linux Devices. Based in Palo Alto, Calif., the company makes an x86 PC system on a chip (SOC) for embedded applications. "Cost is another factor - Linux is free," he continued, "and you can tailor it to your needs. That has historically been extremely difficult to do with Windows [CE]."
ZF Linux Devices was just one of nearly a dozen vendors providing embedded Linux solutions at the recent Linux World Expo in New York City. Many larger com-panies, such as Sun Microsystems Inc., were also present, touting their support for embedded Linux.
Linux allows development time and costs to be reduced. For example, rather than implementing a network protocol from scratch, designers can use publicly available code with little or no modification. Further, the pool of programmers familiar with Linux is broader than those at home with proprietary embedded software. Computing developments used to take several years to "trickle down" to the embedded level. Through Linux, developers "get 3 the cutting edge," said Bill Weinberg, director of marketing for Monta Vista Software, based in Sunnyvale, Calif.
Linux comes from a lineage that was originally created for large multi-user systems. But the rise of affordable SOC technologies and the increasing desire to put products, from industrial equipment hand-held devices, on the network has made the Linux option both practical and desirable.
The need for network connectivity "outstripped what traditional operating systems had to offer," said Weinberg. While embedded software developers once strove to create operating system kernels only 50 kB big, the falling price of memory has meant at an embedded Linux system footprint in the range of 800 K to 1 MB is quite acceptable. The embedded community used to put down just barely enough silicon to meet their needs, but now that "silicon is cheaper, embedded hardware has come up to meet Linux," Weinberg continued.
Smart new kernel
Recent developments in Linux itself also have made it more appealing to embedded-system developers. The new Linux 2.4 kernel [see "A Kernel for Christmas," IEEE Spectrum, January 2001, pp. 37-39] has been hailed for its ability to scale to powerful enterprise plat-forms. But "Linux is expanding in both [the high- and low-end] directions" said Tim Wilkinson, chief executive officer of Transvirtual Technologies, Calif., the makers of Pocket Linux, a development environment for mobile applications.
One of 2.4's selling points is its increased modularity, which makes it more configurable," in that embedded developers need use only what they require. Wilkinson pointed out that Linux' creator, Linus Torvalds, works for Transmeta Corp., a Silicon Valley chip manufacturer in the laptop and embedded marketplace, and that this may have con-tributed to design decisions permitting the same 2.4 kernel to run on a low-powered embedded chip as well as on a multi-processor server.
Such intersystem portability explains why hardware developers are happy to sup-port the open source nature of Linux. By supporting Linux and freely releasing device drivers and development tools to the community (and original-equipment man-ufacturers, or OEMs), they eliminate one of the entry barriers any manufacturer has to face before making end-user products, thus increasing the size of the market for hardware suppliers. Even manufac-turers who have traditionally jeal-ously guarded their intellectual prop-erty benefit in the end because more systems get purchased overall, said Richard Pitt, manager of engineer-ing operations for the Vancouver office of Lineo Salt Lake City, Utah, another embedded Linux company attending the Linux World Expo.
Nonetheless, intellectual property issues do worry some developers. Most open source software is released under the GNU General Pub-lic License (GPL). The GNU free software project created most of the ancillary soft-ware used to make Linux a full-featured operating system, and it implemented the GPL to prevent any attempt to place its code under a proprietary license. Anybody who distributes software even partially derived from GPL'd software must release the source code under the same GPL.
This requirement does not bother hard-ware vendors, who generally do not dis-tribute software, and if they do, do not use the distribution as a significant revenue stream. But it does affect software develop-ers and OEMs, especially those with pro-prietary code with pre-existing licensing requirements that preclude such openness. However, the structure of Linux permits kernel modules to be loaded into the oper-ating system at run time, and these mod-ules are exempt from GPL requirements. In addition, companies like Lineo create appli-cation program interfaces (APIs) that enable proprietary software to interface with Linux and open source software without being "infected" by the GPL's licensing requirements, explained Pitt.
A different approach to dealing with the open source world is being taken by LynuxWorks. While this San Jose, Calif., company does offer an open source embedded Linux, its main strength is its proprietary real-time operating system, LynxOS. The traditional bane of embed-ded development is the need for individual developers to continually "reinvent the wheel," said LynuxWorks' chief executive officer and chair of the Embedded Linux Consortium, Inder Singh. In order to lever-age the large code base of open source soft-ware, without having to open-source LynxOS itself, LynuxWorks developed a set of application binary interfaces (ABIs), "which permit binary compatibility with applications" compiled for Linux. To demonstrate the approach at the recent show, the popular video game Quake was run on a standard Linux platform and then the binary was copied to an SOC-based device running LynxOS. It ran without modification or performance degradation.
Real-time operation
Real-time operation is an issue for embed-ded Linux vendors who want to move into industrial and aerospace markets. As with many general-purpose operating systems, the 2.4 kernel does not provide a real-time operating system, because it is designed to maximize throughput, the heaviest con-tributor to performance in most applica-tions. It is not possible to predict exactly when a task will be completed or a hardware interrupt will be serviced. A millisecond or so either way will not affect an Internet appliance's operation, but will affect a super-sonic plane or missile. Real-time operating systems guarantee a response within a spec-ified amount of time and also provide capa-bilities such as ignoring all but the highest- priority tasks when overloaded.
Beyond the LynxOS approach, two other technologies are employed for coaxing real-time or near real-time performance out of Linux. One is to create a multi-tasking real-time microkernel, which runs Linux as its idle task. When hardware interrupts must be serviced, Linux is suspended briefly. This approach means that real-time perform-ance is layered under applications running in a true Linux environment, but develop-ers must be careful about the interface between real-time and Linux components.
The third approach creates a "soft" real-time system by modifying the Linux kernel in various ways, including exploiting the support used for multiprocessor systems. Soft real-time systems differ from the "hard" real-time systems discussed above in that they perform on average within defined performance constraints, but they break those constraints from time to time. This level of performance is adequate for many applications - for example, the occasional dropped frame will not be noticeable in a game console application rendering 3-D graphics while servicing a game con-troller and an Internet connection.
Embedded Linux has already had a number of design wins. The most visible to date is the TiVo set-top box, which allows viewers to pause live television and auto-matically record programs on any channel. "People are using [embedded Linux for applications] from weather monitoring to controlling vibration damping on the International Space Station," said Pitt. More prosaic applications exhibited at Linux World included vending machines, in-car MP3 music players, personal digital assistants, and Internet appliances. De-mand is growing, said Wilkinson, espe-cially in Asia. Gill agrees, saying he has seen demand "skyrocket." Still, he warns that proprietary vendors are fighting back, and the latest release of Microsoft's embed-ded Windows CE is much unproved. But for now, the best things for the upstart Linux operating system appear to be coming in small packages.