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

Linux
What is Linux?
Definition
Linux is a Unix clone, 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 in the public domain - 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.
History
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.
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.
Present Status
Linux was officially in Beta testing until the release of version 1.0
on 14th March, 1994. At the time of writing, two quite different
versions of the kernel are available: the "1.2" series, which is
the stable, production release, and the "1.3" series, which is at the cutting
edge of development, a real hacker's kernel still. Linus remains in
charge of kernel development. Linux 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" .
The Kernel
Linus's kernel, though written to conform to POSIX specifications,
and thus to be like Unix, is without the years of accumulated stuff
that other Unices have often to carry about with them. Linus in
1991 started from a clean slate, with nothing but the Unix system
calls as a restriction.
Memory Management
Linux memory management is (or, in the light of the many porting
efforts now in progress, was) heavily based on the capabilities on
the Intel 80386 processor. Paging is supported, of course. Up to
256 megabytes of swap space can be allocated on disk, and when the
system requires more physical memory, it will swap out inactive
pages to disk. The page size is 4K. The Linux kernel supports
demand-paged loaded executables. That is, only those segments of
a program which are actually used are read into memory from disk.
Also, copy-on-write pages are shared among executables, meaning
that if several instances of a program are running at once, they
will share pages in physical memory, reducing overall memory usage.
The kernel also implements a unified memory pool for user programs
and disk cache. Cache size is dynamic: all free memory is used
for caching, and the cache is reduced when running large programs.
Libraries
Linux uses dynamically linked shared libraries, meaning that programs
share common library code in a single library file (similar to Sun's
shared library mechanism). This allows binaries to occupy much
less space on disk. Use of the shared libraries is not mandatory:
there are also statically-linked libraries for those who wish to
use object debugging or who need their application to run even
if shared libraries are not available. Linux shared libraries are
dynamically linked at run-time, allowing the programmer to replace
modules of the libraries with their own routines.
Loadable Modules
These are parts of the kernel wich are not linked directly to it.
They are loaded only when required (typically on system start-up
by an rc script).
Some Other Nice Technical Features
Living With Other OSes
Linux will happily co-exist on its own partition alongside one
or more other OSes. Which one of them is loaded at bootup is
controlled by "lilo", the Linux boot manager. Further, Linux can
actually be installed and run on a DOS partition , using the UMSDOS
file sytstem - the neat little package "mini-linux" works this way.
File Systems
The most common file system in use on Linux systems is the "ext2", or
extended 2" file system. This is a modern, sophisticated file system
offering support for file names up to 254 characters long, variable
disk block size, and crash recovery. File systems up to 4TB in size,
Support for other file systems is extensive: iso9660 (CDROM), MSDOS
(full reading and writing), OS/2 HPFS (read-only), NT HPFS (
read-only), Xenix, Minix, SCO.
ELF Support
Support for UNIX System Laboratory's ELF (Executable Loading and
Linking) format for executable files is now included in the kernel,
and the standard Linux C compiler, GCC, can now product ELF binaries.
this gives Linux developers a much easier time when developing shared
libraries and implementing dynamic loading.
So I Need A Big
Wrong! Linux will run happily on today's entry-level PCs.
supported hardware
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. Work is in progress on a port to the Alpha
chip architecture, to the Power PC, MIPS chip, even the Mac. In
this article, I will concentrate of Linux as it runs on a PC, as
that is the platform am most familiar with.
PC hardware requirements
Minimal
Linux can run on a 386SX sysetm with 2Mb RAM and a single
high-density floppy drive. Such a configuration cannot do much,
but it is a cheap and cheeful way of finding out if Linux likes your
hardware, before commiting yourself to the repartioning of the disk!
Indeed, one of the nice things about Linux is its scalability: it
likes lots and lots of everything, but it will still work with much
less: add a 40Mb hard drive to the above minimal system and you do
have a working system. The laptop I use when I'm out and about has
a 386SL, 4Mb RAM, and an 80Mb HD, and I manage quite nicely on it,
thank you!
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. With less than
16Mb of RAM, a swap partition on the bard drive is well worth while.
Indeed, I always like to have as much swap sapce as physical RAM -
so the machine I am writing this on has 16Mb of SIMMs and another
16Mb in a swap partition.
Practical Applications
You can do anything with Linux that you might contemplate doing with
Unix. That's a broad claim, and I know that there are those who are
sceptical of the stability and security of an OS that's given away.
Lets take a look at some of the things people are actually doing with
Linux.
Linux On The Internet
The use of Linux in all areas of Internet service provision has
exploded over the past year. The maintainer of the best FAQ on
being an ISP (Internet Service Provider, natch) speaks: "My present
system networks a 85mhz Sun clone with my Linux PC; the Linux PC
is connected to the Internet through a 28.8kbps SLIP connection.
Although it wasn't frightfully easy to connect, everything is now
working surprisingly well, with little trouble. Even after over
a year of operation, the system has successfully withstood quite
heavy loads ... the system stayed up for 47 days without crashing".
(David H. Dennis - latest version of his fascinating introduction
to the world of an ISP is at http://www.amazing.com).
Linux In The University
Linux is ideal for academic institutions, offering them a cheap way
of exposing their students to the code of a real operating system.
Who Uses It
Usage Statistics
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." I recommend his web page at
http://domen.uninett.no/~hta/linux/counter.html
In Comparison: Pluses And Minuses
The user more traditional versions of Unix will naturally have
caveats. What about support?, they cry. And security?
Support
Most card manufacturers in the PC Unix market are concentrating on
Linux and SCO. This is one area where the distributed nature of
Linux development is a major plus; as long as someone, somewhere has
the card, a Linux driver is probably being written. This means
that hardware maufacturers' support for Linux, at least on the PC
platform, may well be ahead of their support for other OSs!
Technical assistance is readily available nowadays. The Linux
newsgroups on USENET will usually provide friendly answers with
good information within hours of posting a question. If more help is
needed, then there are more and more companies springing up around the
UK who will be glad to help.
Security
Security one of the primary concerns wiht any operating system.
With Linux, the concern is emphasized - it doesn't spring from the
box ready-configured, the onus is on the system administrator to
make the system secure. That said, given a competent sysadmin,
there is no reason to think that Linux is any less secure than any
other Unix.
Stability
The main issue in Linux stability is the hardware it runs on. Like
any Unix, it is much less tolerant of imperfection than dozy old DOS.
Given due care in the selection of components (there are now
companies that provide readly to run Linux boxes), a production Linux
kernel can be relied on to run for weeks and weeks without rebooting.
According to the Linux "Info Sheet", "One site had a computer running
version 0.97 patchlevel 1 (dating from the summer of 1992) for over
136 days without an error or crash. (It would have been longer if
the backhoe operator hadn't mistaken a main power transformer for
a dumpster...) Others have posted uptimes in excess of a year."
Many of the software tools available with a Linux system have been
developed by the Free Software Foundation as part of its GNU project.
Some of these tools, in particular the GCC compiler, have been
featured in EXE. In a survey of Unix tools, the GNU set were found
to be up to 40% more reliable in use, in terms of not crashing, not
dying on bad input, and son on. EXE readers will probably not share
the DP manager's distrut of anything that doesn't make a substantial
hole in one's budget, but even so the quality of the GNU projgrams
surpasses many commercial products. A (full copy of this report is
at Ftp to grilled.cs.wisc.edu/technical_papers/fuzz-revisited.ps.Z).
Bangs Per Buck
Unix-heads have traditionally poured scorn on the limited hardware
of the PC world. Historically, this attitude had much to commend
it; of late, however, PC hardware has been improving: faster chips
(Pentium), better motherboards (PCI), cheaper and better SCSI,
bigger and cheaper disks. A Unix workstation can be built from
PC components and use Linux as its OS, and compare on favourable
terms with a similarly-priced Sun workstation.
Conclusion
Linux is the most exciting thing to happen in computing since the
invention of the personal computer. It offers the technically-minded
user access to what other sytems keep hidden. Those in the business
of providing computer solutions for business are increasingly
realising the advantages of an OS where everything is out in the
open, since it gives them more scope for providing their customers
with exactly what they want.
Recommended Reading
The primary Linux documentation is on-line. The e-books of the
Linux Documentation Project, a plethora of "how-to" files, and
lots of other stuff. This year has seen a deluge of Linux books
from the publishers.
How To Get It
Linux is distributed by its author only as a kernel. Others have put
packaged the bare kernel with oddles of supporting software to make
distributions. It is in this form that Linux is commonly obtained
on CD or from the 'Net. There are a number of distributions commonly
available; Slackware is reputed to be among the best.
[back to Linux, Unix, /etc]
Copyright © 1995-2007
Paul Dunne,
Sponsored links (requires javascript):