Linux, the free Unix-like OS for 386 and 486 computers, is primarily
available at two sites, sunsite.unc.edu and tsx-11.mit.edu.
And of course the first site to receive it is nic.funet.fi this side
of the atlantic.
I reccomend reading the Usenet newsgroup comp.os.linux for more information;
also, I am attacing the Linux info-sheet, which answers many questions.
Linux Information Sheet
0.1 Introduction to Linux
Linux is a completely free clone of the unix operating system
which is available in both source code and binary form. It is
copyrighted by Linus B. Torvalds (torvalds at kruuna.helsinki.fi),
and is freely redistributable under the terms of the Gnu Public
License. Linux runs only on 386/486 machines with an ISA or EISA
bus. MCA (IBM's proprietary bus) is not currently supported
because there is little available documentation. However,
support for MCA is being added at this time. Porting to other
architectures is likely to be difficult, as the kernel makes
extensive use of 386 memory management and task primitives.
However, despite these difficulties, there are people
successfully working on a port to the Amiga.
Linux is still considered to be in beta testing. There are still
bugs in the system, and since Linux develops rapidly (new
versions come out about once every two weeks), new bugs creep
up. However, these bugs are fixed quickly as well. Most versions
are quite stable, and you can keep using those if they do what
you need and you don't want to be on the bleeding edge. One site
has had a computer running version 0.97 patchlevel 1 (dating
from last summer) 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...)
One thing to be aware of is that Linux is developed using an
open and distributed model, instead of a closed and centralized
model like much other software. This means that the current
development version is always public (with up to a week or two's
delay) so that anybody can use it. The result is that whenever a
version with new functionality is released, it almost always
contains bugs, but it also results in a very rapid development
so that the bugs are found and corrected quickly, often in
hours, as many people work to fix them. Furthermore, the bugs
are generally discovered within hours of a kernel release,
especially those which might endanger a user's data, so it is
easy for an end-user to avoid these bugs.
In contrast, the closed and centralized model means that there
is only one person or team working on the project, and they only
release software that they think is working well. Often this
leads to long intervals between releases, long waiting for bug
fixes, and slower development. Of course, the latest release of
such software to the public is often of higher quality, but the
development speed is generally much slower.
As of March 17, 1993, the current version of Linux is 0.99
patchlevel 7.
0.2 Linux Features
* multitasking: several programs running at once.
* multiuser: several users on the same machine at once (and NO
two-user licenses!).
* runs in 386 protected mode.
* has memory protection between processes, so that one program
can't bring the whole system down.
* demand loads executables: Linux only reads from disk those
parts of a program that are actually used.
* shared copy-on-write pages among executables.
* virtual memory using paging (not swapping whole processes) to
disk: to a separate partition or a file in the filesystem, or
both, with the possibility of adding more swapping areas
during runtime (yes, they're still called swapping areas). A
total of 16 of these 16 MB swapping areas can be used at
once, for a total 256 MB of useable swap space.
* a unified memory pool for user programs and disk cache (so
that all free memory can be used for caching, and the cache
can be reduced when running large programs).
* dynamically linked shared libraries (DLL's)(static libraries
too, of course).
* does core dumps for post-mortem analysis (using a debugger on
a program after it has crashed).
* mostly compatible with POSIX, System V, and BSD at the source
level.
* all source code is available, including the whole kernel and
all drivers, the development tools and all user programs;
also, all of it is freely distributable.
* POSIX job control.
* pseudoterminals (pty's).
* 387-emulation in the kernel so that programs don't need to do
their own math emulation. Every computer running Linux
appears to have a math coprocessor.
* support for many national or customized keyboards, and it is
fairly easy to add new ones.
* multiple virtual consoles: several independent login sessions
through the console, you switch by pressing a hot-key
combination (not dependent on video hardware).
* Supports several common filesystems, including minix-1 and
Xenix, and has an advanced filesystem of its own, which
offers filesystems of up to 4 TB, and names up to 255
characters long.
* transparent access to MS-DOS partitions (or OS/2 FAT
partitions) via a special filesystem: you don't need any
special commands to use the MS-DOS partition, it looks just
like a normal Unix filesystem (except for funny restrictions
on filenames, permissions, and so on).
* CD-ROM filesystem which reads all standard formats of
CD-ROMs.
* TCP/IP networking, including ftp, telnet, NFS, etc.
0.3 Hardware Issues
0.3.1 Minimal configuration
The following is probably the smallest possible configuration
that Linux will work on: 386SX/16, 2 MB RAM, 1.44 MB or 1.2 MB
floppy, any supported video card (+ keyboards, monitors, and so
on of course). This should allow you to boot and test whether it
works at all on the machine, but you won't be able to do
anything useful.
In order to do something, you will want some hard disk space as
well, 5 to 10 MB should suffice for a very minimal setup (with
only the most important commands and perhaps one or two small
applications installed, like, say, a terminal program). This is
still very, very limited, and very uncomfortable, as it doesn't
leave enough room to do just about anything, unless your
applications are quite limited. It's generally not recommended
for anything but testing if things work, and of course to be
able to brag about small resource requirements.
0.3.2 Usable configuration
If you are