Linux, Unix, /etc

Danger Will Robinson! You are now entering a condescending Unix user zone!
Sponsored links (requires javascript):

What is this thing called Linux?

Introduction

With the growth in available and affordable hardware resources over the last few years, the choice of PC operating system, for long a question whose answer was always "MS-DOS", has become an open one. Now, however, this choice is not restricted to the products from the big software companies. This article is about a free operating system, developed by volunteers, that can compete with the best in the market.

What Is It?

Definition

Linux is a Unix lookalike operating system, originally developed for the 386-based PC but now ported to a variety of hardware platforms. It looks like Unix, it works like Unix, but it is not like other Unices. It is unique in being a free product, developed by the collaboration of a host of programmers worldwide communicating on the Internet, and available from many ftp sites. It is free, but not free of copyright - it is protected by the GNU Public Licence, a legal instrument that requires those who pass on a program to include the rights to use, modify, and redistribute the code.

Origins

Linux is the creation of a Finish computer science undergraduate named Linus Torvalds, who, dissatisfied with his Minix system, wrote the first version, 0.01, in 1991. In those days before its christening, "Linus' Minix" was a bare kernel and not much else.

Development

As interest grew, Linux ceased to be merely Linus' personal hobby, and became more and more the work of a host of volunteer programmers worldwide, who devote time and effort gratis to the extension and improvement of Linux. Linus remains in charge of kernel development.

Current Status

Linux was officially in Beta testing until the release of version 1.0 on 14th March, 1994. At the time of writing, version 1.2 has just been released. It has grown into a modern, stable operating system that used as a for "real life" applications by both commercial and non-profit educational instituitions. It now has even its own magazine, the "Linux Journal".

Features

Multitasking
Linux can run many processes simultaneously. Don't let those awful TV ads for OS/2 put you off: this is a great advantage. It is possible to run a compilation, receive and send mail, download a big file from an ftp site, and print out the latest versions of the Linux documentation - all at the same time. Unlike some environments (did someone say Windows?), you don't stand a good chance of crashing the machine by doing this - Linux was designed for it.
Multiuser
A number of virtual terminals are available, meaning that you can run several login sessions on one machine, switching between them with a simple key combination. For more than one user, dumb terminals or other PCs can be linked up via serial lines, a network, or even dial-in access.
Virtual Memory with paging
4K pages are swapped to disk when RAM runs out. The swap area can be a file, or a dedicated swap partition, or both.
DLLs
Library code does not have to be statically linked in at compile time (although that is an option), but can be provided by Dynamically Loaded Libraries, with obvious savings on binary size and memory use.
387-emulation
A maths-coprocessor in software is provided in the kernel.
Advanced File System
Several file systems are available. The most common, ext2, offers filesystems of up to 4 TB, and names up to 255 characters long.

Hardware Requirements

Minimal
A 386SX-based PC with 2Mb RAM and a single high-density floppy drive is capable of running Linux. While such a configuration cannot do much, it can be used to test if Linux likes your hardware. Add 10Mb of hard disk space and you do have a workable, albeit minimal, system.
Usable
In practice, at least 4Mb of RAM is desirable - and as with any modern operating system, the more the better. How much hard drive you will need depends completely on your requirements; typical Linux set-ups consume between 60 and 200 Mb of space.

Supported Hardware

The most common Linux platform is the IBM PC compatible. Most PCs will run Linux, as it includes support for MFM, RLL, IDE, and many SCSI controllers; ISA, PCI and VESA buses; many common proprietary CD-ROM interfaces; Soundblaster cards and compatibles ... the list goes on. Other platforms for which Linux is available include the Amiga and Atari ST. Work is in progress on a port to the Alpha chip architecture, to the Power PC and to the MIPS chip.

What Can You Do With It?

Remember, this is Unix in all but name. If it runs on Unix, it can run on Linux; so there is a tremendous amount of software available, much of it as free as Linux itself.

The System

Shells
The standard way of talking to Linux is through the most powerful command line interface in existence - (FX: puts on asbestos suit) the Unix shell, or rather shells. Everything from the classic Version 7 "sh" to the GNU "Bourne Again SHell". [stet].
GUI
If the classic Unix command line is not for you, XFree86 is a free and complete implementation of the standard Unix GUI, the X Windows System. It runs, after a little basic configuration, on any Linux system with supported hardware. All standard PC video controllers are supported, and many custom chip sets. As little as 4MB of RAM and 4Mb swap will do, although more is needed for comfort - 16Mb is nice if you've got it!
Programming
The GNU C compiler, so good that further development is part-funded by a computer industry consortium including Intel and Motorola, is included as standard in Linux distributions. If C's not your scene, pick a language - any language! Chances are, there is at least a Beta compiler available (an ugly rumour suggests that even COBOL is catered for!).

Networking

TCP/IP is the name of the game here, which means connectivity to virtually any box you care to name. Any system capable of running a TCP/IP stack can talk to a Linux box using most networking hardware, including Ethernet, Token Ring, a serial line, or a dial-in connection. The kernel supports the two dial-up TCP/IP protocols, PPP and SLIP, for connection to the Internet. Several network packages are available, including Unix-standard NFS.

Application Software

Text Editing
A range of editors are available, from the small, powerful but cryptic vi to the huge, powerful and relatively friendly GNU Emacs.
Text Formatting & Printing
Following in the Unix tradition, text is formatted using a mark-up language. These include GNU versions of the original nroff and troff; Knuth's powerful TeX, an sophisticated language for professional-quality typesetting; and Ghostscript, a PD version of Postscript. A print spooler handles printing to a wide range of machines, from the dot matrix line printer to the Postscript laser.
Spreadsheets
Several spreadsheets are available, although they're to be as friendly or as advanced as DOS or Windows products. They include SC (Spreadsheet Calculator), and the GNU spreadsheet Oleo.
Misc
Space precludes even a brief inventory of all the other available software; but I must mention the superb fax software, Flexfax, developed by an individual at Unix workstation specialists SGI. For the rest, most areas are catered for, from graphics and games to mathematics and music.

Working With Other Systems

Moving to Linux does not have to be an all or nothing proposition. Support for other file systems is extensive, and support for running programs compiled for other operating systems is available, though still under development. Linux uses the standard PC partitioning scheme, so it can share your disk with other operating systems.

DOS

A MSDOS emulator is in beta. It works on some kernels, not others (generally, earlier kernel versions are better for this). A lot of standard DOS programs will run, including WordPerfect and Lotus 1-2-3.

Windows

Sun's WABI proved that the effort to produce an MS Windows emulator for Unix was possible. The Linux version of this idea is WINE (WINE Is Not an Emulator, or WINdows Emulator, take your pick) Still under development, this is very much alpha code. Currently, it doesn't run much beyond Solitaire, but it looks promising.

Generic Unix Software

Binaries
An iBCS (Intel Binary Compatible Standard) emulator for ELF and COFF binaries is under development, which will allow Unix System V programs to run under Linux.
Sources
Most Unix sources will compile - or can be made to compile eventually! Increasingly, sources which come with configuration scripts have a Linux option built in - a vivid indication in itself of the increasing popularity of the system.

Access to other file systems

Linux offers full support for the MS-DOS FAT-based file system (but not for DOS data compression). A DOS disk can be mounted like any other, or accesed using "DOS-like" commands by the "MTOOLS" package. Read-only support is offered for OS/2 HPFS. There is full support for System V and BSD Unix file systems, and of course for Linux's ancestor, Minix.

Who Uses It?

Harald T. Alvestrand in Norway compiles statistics on the use of Linux worldwide. In his own words, as of 1st February 1995 "There are 11,398 registered Linux users. I estimate this as being between 0.2 and 5% of the total number of Linux users, giving the total community size something between 227,960 and 5,699,000 members."

How To Get It

Distributions

Linux is released by its author only as a kernel. Other people have put together packages known as "distributions". These distributions pair the kernel with other free software, to make a complete working system. Most releases include application programs as well as system software. Most distributions can be obtained by anonymous ftp over the Internet, or from some BBSs, for the price of a few hours on the phone; or on CD-ROM from a reseller for between twenty and fifty pounds.

The Virtues of Freedom

All source code freely available

In the Unix world, source is usually available from the supplier only for a high price, leaving those users unable to pay for the code at the mercy of "support agreements" and the like. An old hacker's saying is "Use the source, Luke!". There is no substitute when in difficulty for reading the source of a program, making mods where necessary, and re-compiling.

The concept of supported free software

Originally, you down-loaded the source from an ftp site and got on with it. "Tech. Support? I AM Tech. Support!" the hardened Linux kernel hacker might have been heard to cry. Times change; and today Linux "distributions", in which a fully-configured and ready to run Linux system is packaged, are common. Often, companies that distribute such packages will offer a degree of technical support. Linux is moving from the domain of the hacker or hobbyist into serious "real world" use. Plenty of good docuementation is available in electronic form, courtesy of the Linux Documentation Project, and the first books about Linux are now appearing. Of course, much generic Unix knowledge is also applicable to Linux.

No Such Thing As A Free Lunch?

A common objection to Linux is based on its assumed buginess and instability. This is a canard. According to the Linux INFO-SHEET: "One site had a computer running version 0.97 patchlevel 1 ... for over 136 days without an error or crash." (The eventual crash was caused by operator error!). Several Unix experts, including Matt Welsh, author of "Linux Installation and Getting Started", have stated that Linux is at least as stable as any commercial Unix. My personal experience bears this out.

Conclusion

Linux is a real 32-bit operating system. It runs many processes for many users, and does so solidly and without daily rebooting. It is equally suitable for the desktop and the server. It is here, now. I think any person working in computers, whether programmer, tech. support, or management, should find the time to take a look at Linux.

[back to Linux, Unix, /etc]



Copyright © 1995-2007 Paul Dunne,

Sponsored links (requires javascript):