From: klode@syslab.csd.uwo.ca (Claude Morin)
Newsgroups: comp.os.linux
Subject: offered for your approval
Keywords: review
Date: 11 Sep 92 01:06:25 GMT
Organization: Department of Computer Science, University of Western Ontario, London

I've written a review of linux for the Micro/Scope column of _Algorithm_
magazine, and am turning it in today.  For various personal reasons, this
turned out to be a last-minute project.  I'm running on very little sleep, and
I'd like to be sure I have *all* of my facts straight.  Fortunately, my editor
(A.K. Dewdney) is a professor here at U.W.O, so I'll be able to forward
last-minute changes to him.

Some key points:
	- have I correctly summarized the history of linux?  If not, where
	  did I go wrong?  If I'm lucky, Linus will answer this one.
	- is the legal status (copyright) of linux as I stated it?  What about
	  the others?
	- have I left out any of the *large* toolsets (like GNU)?  Oh yeah,
	  who distributes LaTeX?
	- are there any *very* key players that people feel should be
	  mentioned?  As stated in the article, I can't list them all, but if
	  there are two or three (hmm, Drew Eckhardt comes to mind) who *can't*
	  be left out, let me know.
	- have I left out any important kernel features?
	- do major BBS sites for linux exist?  I seem to recall a list posted
	  to c.o.l, but the article has expired here.
	- what is the projected price for the linux CDROM and/or the SLS
	  CDROM?
	- is anyone *currently* taking orders for a disk/CDROM distribution?
	- have I left out any trademark acknowledgements or incorrectly stated
	  the ones I've included?
	- if you are a novice, what do you think of my 'explanations'?

You get the idea:  I'd like to make this a solid article.

Before you point out that I've left out about 5,000 different things, please
note that _Algorithm_ is a *recreational* programming magazine.  Our readers
*enjoy* playing with the computer; they're not generally looking for the
a high-powered development workstation, though some are.  Many of them still
program in (shudder) BASIC.  A review of linux strains the level of
understanding of the many beginners who read our magazine, so I've *tried* --
I hope successfully -- to keep the jargon to a minimum, and to explain where
space permits.  In fact, the article may be a bit long.

Please let me know what you think, either privately via email or as a (f)ollowup
in comp.os.linux.  But please, no flames.  The reason I'm asking for a review
of my review :-) is because I'm aware it may be 'weak in some areas'.

Thanks,
---
Claude Morin
(that's "klode", NOT "clod"...French :-)
London, Ontario, Canada
                         O /               O /
-----------------------   x    snip snip    x   -----------------------------
                         O \               O \
This month's column focuses entirely on IBM PC-class machines, presenting a new
operating system and a game.
=====

Those of you cursed with MSDOS machines (PCs) are in in luck; those of you
who are but who don't consider it a curse may change your minds after reading
this.

If you pay attention to such things you may have noticed the growing interest
in UNIX,  which has been used in university computer science departments for
years.  It's now in vogue, and more and more businesses are turning to it in
order to fill their computing requirements.  Hobbyists are discovering that
their machines can do quite a bit more than they ever thought.  For those who
don't follow such things, a brief digression:

	A computer operating system (OS) is a program that makes it possible to 
	use the computer.  It's what allows you to type on the keyboard,
	display characters to the screen, save to the disk and other things.
	Without it, your computer is just an expensive pile of metal, plastic
	and silicon.

	It doesn't stop there, though.  Once you can communicate with the
	machine, you need to be able to *do* things with it.  An OS must have
	tools available for that purpose, ranging from editors to language
	compilers to text-formatting software.

Operating systems are not created equally, however.  Some, such as MSDOS,
provide a bare minimum of services.  While this may have been fine ten years
ago when the IBM PC was first introduced, it does not allow owners of higher-
powered hardware to use the full capabilities of their machines.  This
situation has has led to the creation of TSRs, DOS extenders, *three* kinds of
memory (conventional, expanded, and extended) and other assorted nightmares.

In contrast, UNIX-type operating systems (UNIX) take advantage of the
capabilities of machines far more powerful than the original PC.  UNIX allows
more than one program to run at the same time.  Users of Microsoft Windows
will be familiar with this.  One program can be generating a fractal image while
another program is letting you edit a file.  In addition to this, UNIX allows
more than one *user* to run programs at the same time.

There are currently over a dozen "flavours" (variations) of UNIX for the PC
alone.  As Andrew S. Tannenbaum said, "the nice thing about standards is that
there are so many to choose from."  Some versions cost over a thousand dollars;
some are free.  I'm going to concentrate on one of the free ones -- linux --
for reasons which will quickly become apparent.  At this point some of you are
thinking "great, you get what you pay for".  If you'll bear with me, you may
never use that saying again.

Linux started as a personal project of Linus Benedict Torvalds, a student
doing a combined Computer Science major with a Math and Physics minor at the
University of Helsinki, Finland.  When he started in April of 1991, he didn't
set out to write an OS; he wanted to learn about the Intel 80386 task-
switching capabilities.  Version 0.01 was ready sometime around late August of
1991, followed by 0.02 and 0.03 in October.  By November, he had something he
felt other people could at least play around with, and released 0.10.  January
saw the first public (via the Internet) announcement of 0.12.  Since then, it's
been mostly smooth sailing to reach the current version of 0.97.4.

Linus has not done all the work himself, though.  He is responsible for the
"kernel"; the part of the OS that manages the hardware.  He has written a
kernel that can run any of the hundreds of free software packages available
worldwide, requiring only minimal changes to that software.  In some cases all
that is needed is to compile the source code of the program you want, and it's
available to you.

Some of you may be wondering why all the version numbers are less than 0.  In
the course of writing software, authors will add a new feature, then test it.
This testing, and the testing done by close associates, is known as "alpha"
testing.  Once that is done, the software is released to selected users -- in
the case of linux, that means everyone -- who report any problems they
encounter while using the software.  Version 1.0 is usually released immediately
after the beta-test period is finished.  Note that, at version 0.97.4, linux is
already much more capable (and solid) than many programs are when they hit
version 1.0.

As of version 0.97.4, the kernel has support for the following:

Item:	shared libraries.  Often-used code (such as code to print to the
	screen) is stored in a library, and is only attached to the program
	when it is loaded into memory to run.  This results in greatly reduced
	disk usage.  Furthermore, if more than one program is running, they can
	*share* the code for functions they have in common, which saves
	*memory*.
Item:	virtual memory.  Even if you only have 4 MB of RAM, linux can use
	the disk to "swap" out programs or portions of programs that aren't
	running.  Each process has a 3 GB (that's GigaByte or 2^30) address
	space.
Item:	TCP/IP support (in beta test).  This allows a machine running linux,
	equipped with the appropriate hardware, to connect to Ethernet
	networks.
Item:	kernel math emulation.  The kernel can emulate an 80387 coprocessor
	for those who don't have one.
Item:	the ability to directly access MSDOS disks (in alpha test)
Item:	an extended filesystem with a maximum size of 4 TB (TeraBytes or 2^40),
	a maximum file size of 16 GB and filenames up to 255 characters long (in
	alpha test)
Item:	support for IDE, RLL, MFM, ESDI and SCSI drives
Item:	support for Adaptec 154x and 174x, Seagate, Ultrastor 14f, Future
	Domain 16-bit and Western Digital 7000FASST SCSI controllers
Item:	extended text mode support for most SVGA video boards plus CGA, MDA,
	Hercules, EGA and VGA

The tools of the OS have been contributed by hundreds of people around the
world.  Even a list of only the key players would include dozens of names, so
you'll have to *get* linux to find out who these people are.  Some of the tools
were written before linux ever came into being; they were used on other types
of machines running other flavours of UNIX.  Two rather important examples of
this are X11, the graphical windowing system developed at MIT, and the GNU
suite of tools.  GNU is a project of the free software foundation, whose
mandate is to provide free, *quality* tools for UNIX machines.  They've been
very successful; as of this writing, their tools include:

Item:	gcc, an optimizing ANSI C compiler which runs on 18 different CPUs
	under 21 operating systems 
Item:	gdb, a source-level debugger
Item:	emacs, a editor which is more of a programmer's environment
Item:	ghostscript, a PostScript interpreter
Item:	replacements for all of the standard UNIX tools, some of them better
	than the originals
Item:	dozens of other programs too numerous to list

X11 has been wildly successful as well, to the point that UNIX vendors are now
including versions with their system software.  I realize I'm showing my bias,
but I think it's much better that Microsoft Windows.  X11 can do everything
Windows can do, and is much more configurable.  Currently, support for X11 is
limited to video cards with one of four video chips on them; work is in progress
to increase that number.

Even more amazing than what's been accomplished in 17 short months is that linux
is *free*, although it should be noted that Linus retains copyright on the
kernel, and that most of the tools have copyrights of their own.  With a
little work, it's possible to have a machine rivalling UNIX workstations
costing over $10,000.  Furthermore, you get *all* of the source to *all* of the
programs.  If there's something you don't like or would like to add, you're
free to do so.  Hopefully, you'll forward your changes to everyone else so they
too can benefit from your efforts.  In this manner, linux has become what it is
today.

Linux is well suited to the hobbyist.  While it requires an 80386-based system
(or better), most systems sold today are capable of running it.  Absolute
minimum requirements for a usable system are: an 80386-sx CPU, 2 MB RAM (4 MB
recommended), 20 MB free disk space with one free partition, monochrome text
card & monitor.  The minimum requirements for the hobbyist aren't *quite* so
easy to fill, however.  Since, typically speaking, programmers would rather
program than write documentation,  and since all of the work has been done by
volunteers, the documentation, as Linus puts it, "sucks raw eggs, and people
with no previous unix experience are going to get very confused."  Note that
this is *not* true of the GNU tools and X11; their documentation is excellent.

There is, however, an ongoing effort to make linux easier for the novice to
install and use.  There have been coherent, pre-assembled packages available
since version 0.12.  A distribution known as the Soft Landing System (SLS) is
currently heading towards a complete linux package that will be released on
CDROM for less than $100 US -- which amounts to media costs -- and will include
all of the software I've mentioned and much that I haven't.  The initial
version is promising, and I'm confident that the SLS release of version 1.0
will be no more difficult to install than, oh say, OS/2.

Finally, I'll say that legend has it that UNIX is a play on the name MULTICS.
MULTICS, as you might have guessed, is the name of yet another operating
system.  Since UNIX can be considered -- after a long-winded and probably
boring story -- a "castrated" MULTICS, and a eunuch is a castrated male, the
name UNIX (from eunuchS) is particularly funny.  Trust me.

-----
Where to get it:
	Internet:
		host:		tsx-11.mit.edu
		directory:	/pub/linux
		
		host:		sunsite.unc.edu
		directory:	/pub/Linux

		A list of several other hosts may be obtained by writing to me.
		Details on SLS are also available.


	BBS:	Linux Support (508)793-9568	[2400 baud]

		Several others.  Again, write to me for a list.


=====
PostScript is a trademark of Adobe Systems.
UNIX is a trademark of AT&T
                         O /               O /
-----------------------   x    snip snip    x   -----------------------------
                         O \               O \