The following is reprinted
with the gracious permission of the
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.
|