contains no Unix
TM
code, it is a rewrite based on published POSIX standards. Linux
is built with and uses a lot of the GNU (GNU's Not Unix
TM
) software pro duced by
the Free Software Foundation in Cambridge, Massachusetts.
Most p eople use Linux as a simple to ol, often just installing one of the many good
CD ROM-based distributions. A lot of Linux users use it to write applications or
to run applications written by others. Many Linux users read the HOWTOs
1
avidly
and feel both the thrill of success when some part of the system has b een correctly
congured and the frustration of failure when it has not. A minority are b old enough
to write device drivers and oer kernel patches to Linus Torvalds, the creator and
maintainer of the Linux kernel. Linus accepts additions and mo dications to the
kernel sources from anyone, anywhere. This might sound like a recipe for anarchy
but Linus exercises strict quality control and merges all new co de into the kernel
himself. At any one time though, there are only a handful of p eople contributing
sources to the Linux kernel.
The ma jorityofLinux users do not lo ok at how the operating system works, how
it ts together. This is a shame b ecause looking at Linux is a very good way to
learn more about how an operating system functions. Not only is it well written,
all the sources are freely available for you to look at. This is b ecause although the
authors retain the copyrights to their software, they allow the sources to be freely
redistributable under the Free Software Foundation's GNU Public License. At rst
glance though, the sources can b e confusing; you will see directories called
kernel
,
mm
and
net
but what do they contain and how do es that co de work? What is needed
is a broader understanding of the overall structure and aims of Linux. This, in
short, is the aim of this bo ok: to promote a clear understanding of how Linux, the
operating system, works. To provide a mind mo del that allows you to picture what
is happ ening within the system as you copy a le from one place to another or read
electronic mail. Iwell remember the excitement that I felt when I rst realized just
how an operating system actually worked. It is that excitementthatIwant to pass
on to the readers of this b ook.
My involvement with Linux started late in 1994 when I visited Jim Paradis who was
working on a p ort of Linux to the Alpha AXP pro cessor based systems. Ihaveworked
for Digital Equipment Co. Limited since 1984, mostly in networks and communi-
cations and in 1992 I started working for the newly formed Digital Semiconductor
division. This division's goal was to enter fully into the merchantchip vendor market
and sell chips, and in particular the Alpha AXP range of micropro cessors but also
Alpha AXP system boards outside of DIGITAL. When I rst heard ab out Linux I
immediately saw an opp ortunity to sell more Alpha AXP hardware. Jim's enthusi-
asm was catching and I started to help on the port. As Iworked on this, I began
more and more to appreciate not only the operating system but also the community
of engineers that produces it. They are, byany standards, a remarkable set of people
and myinvolvement with them and with the Linux kernel has been perhaps the most
satisfying p eriod of my time in software development. People often ask me ab out
Linux at work and at home and I am only to o happy to oblige. The more that I
use Linux in both my professional and p ersonal life the more that I b ecome a Linux
zealot. You may note that I use the term `zealot' and not `bigot'; I dene a Linux
zealot to be an enthusiast that recognizes that there are other op erating systems
but prefers not to use them. As my wife, Gill, who uses Windows 95 once remarked
1
AHOWTO is just what it sounds like, a document describing how to do something. Manyhave
been written for Linux and all are very useful.