What is Linux?
   
The following is reprinted with the gracious permission of the 
Linux Journal
and was written by Phil Hughes. 

The short technical explanation is that Linux is a multi-user, multi-tasking operating system that runs on many platforms, including Intel processors, 386 and higher. It implements a superset of the POSIX standard. Linux interoperates well with other operating systems, including those from Apple, Microsoft and Novell.  

While the name Linux, derived from the name of its creator, Linus Torvalds, actually refers to the kernel of the operating system, the name is commonly used to refer to a complete set of software that, with the kernel, makes up a complete operating system.  

This complete operating environment includes:  
 

  •      hundreds of programs including compilers, interpreters, editors and utilities 
  •      tools that support connectivity, including Ethernet, SLIP and PPP, and interoperability 
  •      reliable, production releases of software, as well as cutting-edge development versions 
  •      a development team located around the world working to make Linux portable to new platforms as well as supporting a
  •      user community as diverse in needs and location as the development team itself 
How is Linux Different? 

One thing differentiating Linux from many other operating systems is the price---it's free. That is, it can be copied and redistributed without having to pay a fee or royalty to anyone. However, there is more to the issue of Linux being free than price. Being licensed under the Free Software Foundation's General Public License means the source code for Linux will continue to be available to anyone. The last five years of Linux development has shown the importance of this freedom; it has resulted in an amazing level of involvement for thousands---possibly hundreds of thousands---of people around the world.  

This freedom has made it possible for hardware vendors to develop drivers for their particular devices without having to obtain an expensive source code license or sign restrictive non-disclosure agreements. It has made it possible for people needing a real-time operating system to slide a small real-time kernel under the Linux kernel. And it has made it possible for computer science students around the world to see the insides of a real, commercial-quality operating system.  

What Is a Linux Distribution? 

While Linux itself is freely available on the Internet, various vendors have built what are called distributions, which can be thought of as packaged versions of Linux. They include the Linux kernel, networking support, hundreds of utility programs, development software, a graphical interface and many graphics utilities, and much more. In addition, these distributions include some sort of installation software and may optionally include support.  

Some distribution vendors make their complete distribution, including installation software, available for free on the Internet. Others elect to make their installation software proprietary and sell the package with support for a nominal fee---generally under $100.  

This doesn't mean there is nothing left to buy or wish for, but it does mean if, for example, you are a software developer, there is not likely anything you need to buy in order to turn Linux into a reasonably effective development platform.  

One of the more common things people want to do is connect to the Internet. Everything you need to connect to the Internet is available for Linux for free. In fact, there is even software available for free that will turn Linux into a first class web server.  

How Does Linux Compare to Other Operating Systems? 

Linux is based on the POSIX operating system standard which was derived from Unix back when Unix was a product of Unix Software Laboratories. Today, Unix is a brand available to operating system vendors when their software passes a series of tests and they pay a licensing fee. One Linux vendor, Caldera, is in the process of securing a Unix brand for their Linux 
product.  

Unix is compatible with Linux at the system call level, meaning most programs written for either Unix or Linux can be recompiled to run on the other system with a minimum of work. While what is thought of as traditional Unix runs on more types of hardware than Linux, it pays the price of over 25 years of baggage to make this possible. That generally means Linux will run faster than Unix on the same hardware. And Unix has the disadvantage that it is not free.  

MS-DOS is, in some ways, like Linux. That is, it has a hierarchical file system. But it only runs on x86-based processors, does not support multiple users or multi-tasking, and it is not free. It also has poor interoperatility with other operating systems and 
does not include networking software, development programs, nor many of the utility programs included with Linux.  

Microsoft Windows offers some of the graphics capabilities of Linux and includes some networking capabilities, but it suffers all the other disadvantages of MS-DOS.  

Windows NT is available for the Digital Alpha, as well as x86 processors, but it suffers many of the disadvantages of Windows. It has much less time in the field (meaning less time to work out bugs), and it has a rather large price tag attached to it.  

Apple's operating system for the Macintosh runs only on the Mac. It also suffers from a lack of development tools and less-than-smooth interoperability with other systems. (Note: Apple has made Linux available for NuBus-based PowerMacs and is expected to do the same for PCI bus-based Macs as well.)  

Whence Linux? 

Where did Linux come from? First, and possibly most important, Linux has its roots on the Internet. It was developed by a very diverse group of people. This diversity includes knowledge and experience, but it also includes geography and spans virtually all of the earth's surface. In order for this group to work together they needed a quick and efficient way to communicate. The 
Internet was that tool and as Linux was the system of choice for these people it meant that the necessary tools to use the Internet appeared early on in Linux. Those tools continue to evolve and to be honed as Linux development continues.  

While the Linux kernel was an independent development effort, many of the applications have been culled from the best available software. For example, the C compiler is gcc from the Free Software Foundation's GNU project. This compiler is commonly used by people using Hewlett-Packard's HP/UX and Sun Microsystem's Solaris operating systems.  

What Is Included with Linux? 

When you get Linux, you get "everything''. That is, everything you would expect to be included with an operating system and more. Each Linux distribution includes hundreds of packages offering a full and rich set of utilities, connectivity tools and a development environment.  

Here is a short list to give you the general idea:  
 

  •      development software including compilers,  assemblers and debuggers 
  •      text editors and text formatting programs 
  •      Usenet news readers and e-mail agents 
  •      World Wide Web development tools, web servers and browsers 
  •      graphics creation and manipulation tools 
When told Linux has most everything you need, people tend to try to come up with something obscure or something they don't really want just to test the limits. For example, you might say you needed an Ada compiler for Linux. Well, the answer is yes, there is an Ada compiler included with Linux.  

Let's look at an example of where Linux could be used and what is needed to make it fit. The example I am thinking of is a small Internet service provider. (A small ISP to simplify the example---not because Linux isn't capable of bigger things.) The ISP used by Specialized Systems Consultants, publishers of Linux Journal, has 14 Linux systems and supports hundreds of 
users simultaneously.  

To offer this sort of service you need:  

     Internet connectivity  
     multi-port, dial-up service  
     PPP and possibly SLIP connectivity  
     Usenet news  
     Mail routing  
     Web server  
     On-line backups  

Most of these capabilities are inherent in Linux. The others come with the hardware needed to support the capability.  

For example, multi-port dial-up service is supported with serial communications products from Comtrol, Cyclades, Digi, Equinox, Gtek, Maxpeed and others. Or, if you want to try an external option, terminal servers work fine with Linux. Our ISP uses the Cyclades option and another local ISP uses Livingston PortMasters connected to the Linux hosts over Ethernet.  

PPP and SLIP are integral parts of Linux. Their support and the number of channels supported are configuration options when you build the Linux kernel. Besides regular Unix login/password security, support for PAP and CHAP are available.  

Usenet news and Internet mail are also included. The software to support news includes the standard systems available on Unix platforms. INN seems to be the most popular. Mail is handled by sendmail for most systems. While not as capable, smail is also available and may be a better fit for low-end configurations.  

Various web servers are included with Linux. At SSC we chose to use Apache because it is reliable and efficient. The fact that we handle about 100,000 hits per day on a 486 system with 16MB of RAM tends to support our choice. For those needing a secure web server, they are not free but are available.  

Finally, backups. In order to be a respected ISP you need to offer continuous service and you can't lose your customer's data. After all, that's why they pay you. Linux includes the standard Unix utilities to do backups (tar, cpio and backup/restore). There are also commercial products offering additional capabilities.  

This doesn't mean Linux comes with every application you need to run your office or your entire business. However, while it may not be included, it may be available. For example, databases, word processors, spreadsheets and sophisticated graphics programs are available for Linux. You will see names like Applixware, Corel and Empress in the Linux camp when you look for 
these sorts of applications.  

Who Uses Linux? 

A recent survey conducted by iX, a Unix and networking magazine based in Germany, showed some startling results. Linux is used at work by 45% of the readers. Solaris 1 and 2 taken together come second with 36%, followed by HP-UX with 27%. Of companies with fewer than 50 employees, 56% use Linux; it is used by 38% of firms with more than 1,000 employees. In addition, 60% of the readers use Linux on their computers at home.  

Other places Linux has significant market penetration is in web servers and as the operating system of choice in universities. Also, many individuals who've realized they need to learn about Unix for career advancement have decided to use Linux on their home computer as a training tool.  

Linux is also becoming popular in embedded and turnkey applications, including Internet firewalls, routers and Point of Sale (POS) systems. The Linux Journal was imageset using a raster image processor (RIP) based on a Linux system.  

Give Linux a Try 

If you have read this far, you must have some serious interest. Give Linux a try. You can download a copy from the Internet or purchase an inexpensive CD set to get yourself going. Or, if you are in the market for a new computer system, check out one of the hardware vendors and get yourself a new computer with Linux and "another'' operating system. You'll find Linux is a first rate operating system with capabilities beyond what you expect from more expensive products.