Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesThe State of Linux


January 1997 / Core Technologies / The State of Linux

The latest version of this free Unix spans multiple platforms and offers many sophisticated features.

Jim Mohr

Imagine a Unix server supporting a dozen users connected via serial terminals. Now add a few more users connected across the network using X Window. Finally, let's add a handful of Windows PCs that use the Unix machine as a file and print server. If you think that the machine can't handle this many operations, just add another processor and let the OS perform symmetrical multiprocessing (SMP) to distribute the load. If I were to say that all this is available for free, including the source code, you might think I was joking. If I were to add C and C++ compilers, a text processing system, a spreadsheet, and a Web server to the deal, you might begin to question my sanity. If I were to tell you that most of this software smorgasbord has been available for years, you might begin to question your own sanity and wonder why you haven't checked it out yet.

It's called Linux, and it's a Unix-like 32-bit OS that supports all the utilities, tools, and other features found in commercial Unix products. The latest kernel (version 2.0) provides enhancements such as Java and SMP support, making it better than some commercial Unix offerings. The best thing about Linux is that it's essentially free. However, for this same reason, many people question its legitimacy. Added to the fact that Linux started as a college project by Linus Torvalds, it seems only natural that it would not be something you'd want to run your business on. But as we'll see, the most logical question Linux poses is: "Why not?"

Running Linux

Linux runs on most major processors, such as various species of the x86, t he PowerPC family, the Alpha series, and MIPS chips. It supports most major hardware peripherals, with some caveats. Typically, the developers of Linux hardware drivers are Linux users themselves. If someone wants to get a peripheral to work, he or she either writes the driver or waits for someone else to write one. The positive side of this situation is that since the developer uses the device and ends up with the same bugs as you, problems are quickly fixed, usually in a matter of days or weeks. Another advantage to this arrangement is that the person who actually uses the particular peripheral -- again, typically the developer -- writes the documentation. The negative side of this arrangement is that older peripherals won't garner such devoted support, so finding a reliable driver for vintage hardware, such as an old CD-ROM drive or network card, can be problematic. Furthermore, the person best-suited to write device drivers may be ill-equipped to write clear and user-friendly documentation.

The docume ntation of all commercial Linux distributions appears in the form of HOWTO files. As its name implies, a HOWTO describes how to do something. This can be software related, such as the Firewall HOWTO that describes how to configure an Internet firewall, or hardware-related, such as the CD-Writer HOWTO that describes how to get certain CD-R devices running on your system.

It is important to check if there is a HOWTO for a specific piece of hardware in case it describes problems someone has already dealt with. A good example is the CD-Writer HOWTO. Although there exists a program (cdwrite) that operates CD-R drives, not all CD-R drives work with it. The HOWTO describes how to get the standard SCSI driver to work with specific CD-R drives. Computer-controlled uninterruptible power supplies (UPSes) are another example. Without any direct support from the manufacturers, users have gotten UPSes to work with Linux; their experiences are documented in the UPS HOWTO.

Many of the Linux hardware problems are due to the peripheral being simply too new to the Linux scene, so no driver exists. Other times, changes to the kernel may cause problems to specific drivers. For help, a glance at the Yahoo Web page is a good place to start. For example, when checking the driver status for 3Com EtherLink III Vortex Ethernet cards, I was able to quickly locate patches for the 2.0 kernel, as well as for several other, older releases. The table "Selected Linux Sites of Interest" shows other useful Web sites. There are also sites that provide information in German, Swedish, Czech, French, Italian, Russian, and Spanish.

Perhaps the single most important HOWTO is the Hardware HOWTO. This is the Linux hardware "compatibility list." It describes not only the hardware that is supported but provides tips and URLs for hardware that isn't. "Supported" means only that the standard distribution has drivers for that particular set of hardware. It's always a good idea to check the Hardware HOWTO for a specific periphera l before attempting a Linux installation.

For information on the latest drivers and ports, you should check out the Linux Documentation Project (LDP) home page ( http://sunsite.unc.edu/mdw ). Aside from providing a full version of various LDP documents or "books," this Web site is a treasure chest of links to the latest drivers and patches, as well as to companies that provide Linux software and complete systems.

Running with Linux

If you're asking, "What good is all this if there is no software to run on it," the answer to that is: There is. Besides supporting all the programs that come standard with a Unix system, Linux supports all the network protocols that Unix users have grown accustomed to, like TCP/IP, NFS, and HTTP. In addition, there is a wide range of free applications softwar e such as a text processing system, a spreadsheet, and a database. If these are insufficient, a wide range of commercial software is available.

Not every software product runs perfectly on Linux the first time. Most noncommercial Linux software is available as source code that you compile on the host system. This increases the likelihood that it will work correctly. However, check the program's accompanying README file that describes what steps to take for specific platforms.

Like the hardware, many software products have their own HOWTO. The Java HOWTO describes the steps necessary to get Java working on your system. Java requires support for Executable and Linking Format (ELF) binaries, which is not available prior to the 1.2.13 kernel. In addition, there are known problems with Java for specific versions of Linux.

A common issue with Linux is its compatibility with other systems. While its interoperability with other dialects of Unix is taken for granted, its connectivity to Windows-based PCs m ay be a point of concern. Linux works fine as an Internet server, but can it offer the file and printer services that other Unix dialects can? It can if you have Samba running. Samba is a software package that provides the session message block (SMB) functions required to support Windows for Workgroups, Windows 95, Windows NT, and LAN Manager. In fact, any client that supports SMB can access a Linux system running Samba. The great thing about Samba is that it works both ways, so your Linux system can also access other systems such as NT.

One of the biggest arguments against Linux has been that of support. Because Linux was not developed by a single entity, there is no 800 number you can call. However, Linux is bundled and distributed by a number of companies, as shown in the table "Selected Linux Distributors." If you purchase one of these bundles, you are often provided technical support on basic issues such as installation. Many companies do nothing other than Linux support. Some co mpanies, such as WorkGroup Solutions, not only provide complete systems, including their own version of Linux, they offer consulting services as well. Finally, Linux has developed a very large army of followers able to help since they have experienced the same problems you have.

Industrial-Strength OS

The most compelling aspect of Linux is that it typifies the whole Unix mentality. Unix is a system of choice. You choose how to configure the system and what functions the system has. If you want to implement it on a low-end PC or a high-end workstation, you can. If you need real-time processing, that's available as well. Linux takes this one step further: Not only can you change parameters and configuration as you wish, you can change the basic behavior of the operating system if you need to because you have the source code.

Although Linux doesn't yet run on mainframes, it's just a matter of time. Since Linux runs on every major computer architecture, the odds are that there is a Li nux system that fits your needs. Because of the amount of software and support available, Linux has found a place right alongside Unix OSes from even the largest vendors. And you can't argue with the price.


Selected Linux Sites of Interest


URL
                                    
Description



ftp://ftp.crynwr.com/pub/kchanges
                List of kernel changes, including links 
                                                 to sites with this information


http://sunsite.unc.edu/linux-source/
             The Linux Source Navigator. Linux 
                                                 source code in HTML pages. A must for 
                                                 the developer


http://sunsite.unc.edu/mdw
                       The Linux Documentation Project home 
                                                 page; comprehensive set of on-line 
                                                 documents


http://vortex.cc.missouri.edu/~rhys/linux.html
   List of common fixes to Linux
                                                 problems


http://www.10mb.com/linux/
                       Home page of The Linux Advocacy Project;
                                                 encourages commercial Unix application 
                                                 vendors to provide a Linux version


http://www.li.org/linux-int/
                     Linux International home pa
ge


http://www.tu-chemnitz.de/home/linux
             Information, including books, links to 
                                                 other home pages (most in German)


http://www.xnet.com/~blatura/linux.shtml
         Web Wanderer's List of Linux 
                                                 and Unix resources





Selected Linux Distributors


Company


-------


Linux type
               
Web site
                    
E-mail

===============================================================================

WorkGroup Solutions   

LinuxPro                 
http://www.wgs.com
          in
fo@wgs.com


Red Hat

Red Hat                  
http://www.redhat.com
       redhat@redhat.com


Walnut Creek CD-ROM
   
Slackware                
http://www.cdrom.com
        info@cdrom.com


InfoMagic

Slackware                
http://www.infomagic.com
    info@infomagic.com


Debian GNU/Linux

Debian                   
http://www.debian.org
       debian@debian.org


Craftwork Solutions

Craftworks Linux         
http://www.craftwork.com
    info@craftwork.com


Delix Computer GmbH

DLD                      
http://www.delix.de
         delix@delix.de


Yggdrasil Computing

Yggdrasil Linux          
http://www.yggdrasil.com
    info@yggdrasil.com


S.u.S.E. GmbH

S.u.S.E. Linux           
http://www.suse.de
          suse@suse.de

If you need information in languages other than English, there are a
number of places to look. A good start is:


http://www.yahoo.com/Computers_and_Internet/Operating_Systems/Unix/Linux/Foreign_Language_Sites/
.




Jim Mohr is a system and network administrator for Kaeser Compressors in Coburg, Germany. He has spent six years providing technical s upport for SCO Unix and is the author of SCO Companion: The Essential Guide for Users and System Administrators (Prentice-Hall, 1996). He is working on a book on Linux, to be published this year. You can reach him at 100542.2677@compuserve.com .

Up to the Core Technologies section contentsGo to next article: Client/Server MagicSearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network