Linux: A Worthy OS for Real Applications
Once regarded as a tool for hackers, Linux has found use in mainstream engineering applications. Linux devotees fervently promote their OS, but what is the real "signal-to-noise" ratio?
David Marsh, Contributing Technical Editor -- Test & Measurement World, 10/15/1998 2:00:00 AM
| A version of this article ran in the April-May 1999 edition of Test & Measurement Europe. |
After using Windows 3.1 applications, your company decides to skip Windows 95 and 98 and move to Windows NT. Such a move may make sense, because if you’re going to change to a new operating system (OS) you might just as well choose one that appears to cause the least migration pain. Microsoft asserts that NT is the professional’s choice, and Windows 98 will be the last of its genre. Future Microsoft OS releases will likely be derivatives of NT.
Unfortunately, you may get frustrated with repeated instances of NT’s infamous "blue screen of death" syndrome in which, for some reason, the system just doesn’t work any more. You can’t progress beyond a screen full of messages that demand expert knowledge to decipher. Eventually, you realize that many problems arise from some insignificant change in the local environment—like trying to load new drivers for some "unusual" hardware device, such as a data-acquisition board.
You have an alternative to Windows NT. It’s called Linux, and you can get it for little or no money. Linux is a free Unix distribution that you can download over the Internet. Like Unix, Linux provides a true multiuser, protected-mode, multitasking OS that can run on PCs and on computers based on Alpha and SPARC microprocessors, among others.
Perhaps you remain unconvinced. Is it really practical, you ask, to dismiss the Windows environment and use another OS to control instruments?
First, Look to the Web
You can start investigating Linux by doing a search on the Internet. Linux devotees adhere to a creed of sharing information freely, so you’re certain to find assistance with virtually any Linux-related question.
Many Linux users are Unix-wise scientists and engineers who use Linux-based systems for instrument-control, data-acquisition, and data-analysis tasks. If you fall into this category, look for test-and-measurement-related Linux information at www.llp.fu-berlin.de, the Linux Lab Project at the Free University of Berlin. Here, you’ll find everything from data-analysis software and drivers for IEEE 488 interface cards to kernel patches, all freely available for downloading. The site also provides links to commercial hardware and software suppliers, including familiar companies such as ComputerBoards, Hewlett-Packard, IOtech, Motorola, National Instruments, and Texas Instruments.
Another Web site that provides comprehensive lists of sources and links is Linux Online
(www.linux.org/apps/index.html ). The site lists many commercial and freeware packages, as well as basic information about Linux.
Why Move to Linux?
Why have many engineers moved to Linux? Because of the freedom it provides. Many engineers think that IT departments drive managers to adopt the NT OS because they feel safe under Microsoft’s umbrella. But engineers often dislike Microsoft’s and NT’s "stifling" influence and prefer Linux’s open-systems approach. In more practical terms—after several years of haphazard development—the Linux distributions by Caldera, Debian, Red Hat, and Walnut Creek now offer users a stabilized OS that can justify commercial consideration.
Here are some common reasons that devotees give for moving to Linux:
-
Stability. Linux just runs and runs without system crashes, reboots, or any undue attention, while some engineers perceive Windows NT as being unreliable.
-
Integrity. The open systems approach encourages the best from the programmers and users best placed to contribute to OS development.
-
Versatility. Because Linux source code is freely available, you can customize Linux to suit specific hardware resources. There are a huge number of Unix utilities developed over decades that will run under Linux, and most are free.
-
Support. Informal but matchless support through Web newsgroups and forums and e-mail communication with like-minded engineers.
-
Choice. Linux OS derivatives coexist gracefully to the degree that you can specify another company’s distribution if you don’t like the one you have.
-
Economy. Linux costs little or no money.
Some of the very things engineers perceive as assets, managers see as liabilities; for example, accountability and support. After all, if the software is free, who takes responsibility for it? And then there’s the customizing issue—how can an IT manager track maverick Linux users? Software publishers regard Linux’s openness as its major problem. They need secure licenses to protect their investments.
Most Linux distributions run some form of X-Windows graphical user interface (GUI) on top of a multiplicity of hardware. Software developers worry that they will have to spend time attempting to support a myriad of end-user configurations, especially because users have access to the OS source code. Despite these concerns, there’s growing mainstream commercial interest in Linux. Corel and Informix recently announced they will port some of their commercial software to Linux.
Linux Controls Instruments
Linux finds increasing use in instrument-control applications. Users in the high-energy physics world demonstrate what the OS can achieve in large-scale deployments (see hepwww.ph.qmw.ac.uk/HEPpc/). Scientists at Fermilab (Batavia, IL) use Linux-based PCs to control instruments that range from CAMAC crates to VMEbus-based instruments (www.fnal.gov). Fermilab’s Don Holmgren says, "There has been a good deal of work at Fermilab on Linux-to-VME interfacing, specifically, the implementation of the ‘Vision’ standard in a product called ‘Fision.’ Fision is basically a client-server package. A client can contact a server running a bus-master node over a network. The Fision API lets the client manipulate the cards on the bus as if they were local."
One of the more interesting Linux applications is in clusters of PCs that handle the vast amounts of data that result from experiments for detecting quarks. Holmgren says, "Our main use for Linux is for off-line data analysis. We’ve traditionally operated large clusters of Unix workstations for data reduction. Earlier this year, we had 400 workstations for this purpose.
"So, we got started on Linux because it ran on the most cost-effective hardware for our computations. All of our analysis code is written for Unix, so the fact that Linux is such a ‘pure’ Unix was a great advantage. Nearly all the code ports from our other computer systems have been easy. Because we can examine the source code in detail and make modifications as necessary, Linux offers a great advantage. Also, we’ve instrumented Linux to let us ‘watch’ code execution. This ability helps us understand the performance constraints of hardware so we can deliver the lowest-cost system that still meets our requirements."
If you search the Web, you’ll find other reports of Linux-based data-acquisition and instrumentation systems, such as NASA WFF’s airborne laser system (see aol11.wff.nasa.gov/aol-III.2/datasystem/). The laser system comprises a 166-MHz Pentium PC coupled to two LeCroy Model 9354 DSOs through a National Instruments’ AT-GPIB interface card. A global positioning system receiver and an infrared radiometer communicate with the PC host over RS-232C lines (see Fig 1).
|
|
Figure 1. A computer system based on Linux can control sophisticated measurement systems. In this example, a PC operates two oscilloscopes, a radiometer, and a GPS receiver as a part of a sea-monitoring experiment. |
Try Linux for Yourself
Despite enthusiastic reports, there’s no substitute for trying Linux for yourself. If you’re tempted, first check out whether Linux will run on your hardware and whether it will run with added hardware such as a CD-ROM drive, a display card, and so on. You’ll find a wealth of information at sunsite.unc.edu/pub/Linux/docs/HARDWARE. If you’re starting from scratch, you may have an advantage over people who must use existing computers. You can build a machine using components such as video, Ethernet, and SCSI cards that have Linux drivers. Otherwise, there’s no guarantee that Linux will immediately support the components of your system. In general, you’ll need a Pentium-class processor with at least 32 Mbytes of RAM, a floppy drive, a CD-ROM drive, and up to 1 Gbyte of free hard-disk space.
When you’re through installing and trying Linux, you’ll have a better idea of whether you should pursue Linux for your applications. You’ll feel at home with Linux if you already have a good knowledge of Unix, but there is a generation of users who have never done more than use a mouse to point and click on menus. Unfortunately, Linux isn’t easy to use. It has a steep learning curve for people who aren’t familiar with Unix.
While Linux’s X-Windows environment helps, you still need to know how to use a command line to type in commands and information. Despite criticism, Microsoft has forced consistency into applications. Control keys, buttons, and icons respond fairly consistently throughout the Windows world. Using the command line won’t deter a Linux zealot, but it will scare mainstream PC users.
Get the Drivers
If you plan to develop an instrumentation system under Linux, make sure you can get the drivers and other application software you need to develop and support your applications. You’ll find drivers for National Instruments IEEE 488 cards at the Linux Lab Web site, along with a five-page (2-Mbyte) document that describes the driver architecture and its capabilities.
You’ll also find tools for developing your own drivers, including drivers for CANbus and PCI-bus hardware. And although you won’t find a Linux version of Microsoft Office, you can choose from a host of spreadsheets, data-analysis programs, text processors, and report generators for Linux.
Red Hat Software’s Robert Hart concedes that Linux has a steep learning curve. In the commercial environment, Red Hat Linux is aimed at the server and at engineers’ desktops. The company plans to offer Linux for more general use in 1999, using the GNOME (GNU Network Object Modeling Environment) project as a basis for its GUI. (You can find more information about progress on building a complete, user-friendly Linux desktop at www.gnome.org.)
There’s no doubt that Linux provides a stable networking and application development OS for all classes of technical applications. But you must decide for yourself if Linux’s advantages outweigh its disadvantages. As Jon Powell, senior scientist at ViewLogic Systems says, "The main things that engineers and scientists like about Unix and Linux are that it lets you do what you want, and if something goes wrong, you can dig in and fix it." T&MW
David Marshis a freelance writer and project engineer with more than 20 years of experience in test and measurement and the general electronics industry. He is a contributing technical editor for Test & Measurement Europe and EDN Europe magazines.
|
Linux at a Glance A derivative of Unix, Linux is the brainchild of Linus Torvalds, who decided he wanted a better version of Minix (itself a small Unix implementation). While a student at Finland’s University of Helsinki, Torvalds posted a message on the Internet inviting like-minded programmers to join his project. The group started work in July 1991 and produced the first Linux release (0.02) in October 1991. The current version is 2.0.35. From the outset, Linux has distinguished itself as the product of "enthusiast" programmers who believe that the operating system should be freely available—complete with source code—to anyone who wishes to use it. This freedom has made Linux a favorite with academic users and has led to its widespread adoption in research and scientific establishments. Because Linux implements the same POSIX specification that commercial versions of Unix meet, Linux supports the full range of Unix features, including multiuser, protected-mode, and multitasking operations. Linux also provides an X-Windows GUI and extensive network connectivity. You can obtain Linux implementations for computers based on the DEC Alpha, Intel x86, MIPs, Motorola 68k and PowerPC, and SPARC processors. Porting software from Unix to Linux is straightforward, so you’ll find a full range of commercial and free software from which to choose. But most Linux software is still developed within the Free Software Foundation’s GNU project and is covered by the GNU public license (www.fsf.org). You can download the Linux OS and much of the software that it runs for free, from multiple Internet sites. Torvalds still controls kernel revisions, which enforces a degree of system stability. David Marsh
Red Hat Linux Currently at version 5.1, Red Hat’s Linux distribution is the most popular on the market. If you’re determined to download Linux for free, go ahead, but prepare to tie up a phone line for hours. The Linux OS can exceed 700 Mbytes, so you’re far better off using downloads to keep your installation up-to-date instead of trying to get the entire OS over the phone. So what do you get for $50 or less? Red Hat’s Linux package includes three CD-ROMs that contain the binaries, source code, utilities, various programs, and a selection of commercial "taster" (or, demo) applications. The CD-ROMs also provide comprehensive system documentation. The Red Hat distribution is package-based and includes RPM (Red Hat Package Manager). RPM provides live software update capability from the Web and records which files have changed for improved system security. Install options let you select between program groups and individual program elements. The installation manual is helpful, but you’ll need reference books to use the system’s full set of features. The user interface supports text-based and GUI screens and multiple keyboard mappings. Red Hat’s distribution includes X-Window implementations including X11R6.3 and the popular Xfree86. There’s support for 8-, 16-, and 24-bit color modes, and graphical development libraries accompany the package. You get image and video viewers for files including AVI, GIF, JPEG, MPEG, QuickTime, and TIFF formatted data. Image manipulation and paint programs assist multimedia development, and there’s support for SoundBlaster audio. You also get a choice of text processors and formatting systems, including Adobe PDF and PostScript viewers, and support for common printers. Network connectivity, which is often used to support Web-server duties, is one of Linux’s major strengths. Red Hat’s distribution arrives complete with Ethernet, IPX, NFS, PPP, SLIP, TCP/IP, and print-server support. You can protect your network with an Internet firewall and implement network aliasing and virtual hosting. Internet tools include http and ftp servers, various server and client applications such as POP connectivity, a Netscape browser, comprehensive support for e-mail communication, and terminal emulation for dial-up connections. You also get a copy of the Apache software, which runs thousands of Web servers. Programmers have a treat in store because the package includes an assembler, Basic, C, C++, and FORTRAN-to-C and Pascal-to-C translators. The C environment is especially rich, coming from the GNU project. Then there’s LISP, PERL, Python, Tcl/Tk, and Scheme environments to explore. You also get a full complement of utilities such as file managers. Red Hat provides 90 days of installation support through e-mail. David Marsh
David's Install.log Because I lacked the resources to configure a new PC specifically for Linux, I adapted a PC to get first-hand experience installing the OS (traditionally a bugbear) and a working feel for the system. My PC comprises a Super-micro P5MMS motherboard with an AMD K-6 233-MHz processor, and 128 Mbytes of RAM, a VideoLogic GraphixStar 600 PCI video card, two hard-disk drives, a floppy-disk drive, a mouse, and various peripherals. Robert Hart at Red Hat Software kindly supplied a copy of Red Hat’s Linux V5.1 for Intel PCs. I used PowerQuest’s Partition Magic V3.05 to manage the partitions on my hard disk, although this software isn’t strictly necessary because Linux comes with tools for the purpose. I started by creating four partitions on the 1-Gbyte second drive—100 Mbytes for swap files, 100 Mbytes for the root, 700 Mbytes for the user, and 100 Mbytes for home. I used the Red Hat Install floppy disk and loaded the system from CD-ROM (there are several install methods, including Internet downloads). Installation is straightforward, provided you are careful. Despite the software’s Back buttons, you can’t easily correct a mistake, and mistakes are easy to make because you’re forever tabbing through the screen. Unfortunately, the installation software doesn’t let you use a mouse. After installing the Linux OS, I chose to boot Linux using the "Lilo" loader from a floppy, rather than risk modifying the master boot record on disk 1. This approach is a useful low-risk route for experimenters. As expected, Linux didn’t recognize the PC’s Adaptec-AVA1502P SCSI card or the Wacom graphics tablet connected to the COM1 port. (Always check the hardware compatibility lists before you configure a Linux machine.) But unexpectedly, Linux failed to recognize the CD-ROM drive that I had just used to load the software, despite boot-time messages that correctly identify the drive. Red Hat’s Robert Hart describes this behavior as "weird," which illustrates the support challenges vendors face. Keep in mind that this type of hardware behavior isn’t unknown in the NT world, either. Two e-mail messages and an Internet file download fixed the problem. In contrast, the video card worked perfectly from the start. After I entered timing constraints for the Iiyama MT-9021 display, the X-Window display appeared trouble-free at 1024x768 resolution. I’ve "broken" the system twice, playing around while logged in at root—the equivalent of a superuser. If you install Linux, when you finish your configuration, create and use a user-level account so you can avoid crashing the system by trying to act as a superuser. Using the available programs and utilities reveals one of Linux’s major weaknesses: inconsistency from one user interface to another. Control keys work quite differently in various applications. Even the X-Windows GUI has problems, such as supposedly "standard" icons that don’t close windows. With experience, though, you will become familiar with discrepancies, but there’s a lot to recommend standard controls, especially when you’re trying to learn a new OS. David Marsh Linux Links The following web sites provide information about Linux and Linux applications: Books (published by O’Reilly & Associates), www.oreilly.com Commercial compilers, www.pgroup.com Linux Documentation Project, www.sunsite.unc.edu/LDP/ Linux in EDA, www.linuxeda.com Linux Journal online, www.linuxjournal.com Linux Laboratory Project, www.llp.fu-berlin.de Linux news archive, www.li.org Linux Online, www.linux.org Linux Resources (from the Linux Journal), www.linuxresources.com LinuxHQ project, www.linuxhq.com Multilingual online Linux magazine, www.linuxfocus.org Slashdot: News for Nerds (gets 25,000 Linux hits daily), www.slashdot.org |
Tools ease Linux development
04/01/2001Linux Applications Cruise With New Drivers
04/15/2000Stabilize measurements with Linux
03/01/2003Linux works for test
08/31/2009
-
FLIR offers IR camera for under $3000
-
Don't let the economy compromise quality (Guest commentary)
-
Danaher speeds up restructuring, acquires life-sciences businesses
-
Agilent’s Cover-Extend technology eliminates need for physical test points for in-circuit test
-
So many combinations: Testing a switch-matrix board

























