📄 ch01.htm
字号:
<P>UNIX and its clones have long been perceived as large, resource-hungry, disk-chomping
systems. Linux is not such a beast. Linux is small, fast, and flexible.</P>
<P>Linux has been publicly available since about November 1991. Version 0.10 went
out at that time, and version 0.11 followed in December 1991. There are very few
small bugs now, and in its current state, Linux is most useful for people who are
willing to port and write new code. When Linux was very close to a reliable/stable
system, Linus decided that version 0.13 would be known as version 0.95. Believe it
or not, the whole story started with two processes that printed <TT>AAAA...</TT>
and <TT>BBBB...</TT> on a dumb terminal. Linus then expanded on this simple task-switching
mechanism and, with the help of many avid supporters, developed and released a stable,
working version of Linux.</P>
<P>So, what are some of the important features of Linux that make it unique? Here
are a few:
<UL>
<LI>Full multitasking and 32-bit support. Linux, like all other versions of UNIX,
is a real multitasking system, enabling multiple users to run many programs on the
same system at once. The performance of a 100 MHz 486 system running Linux is comparable
to many low- to medium-end workstations running proprietary versions of UNIX. Linux
is also a full 32-bit operating system, utilizing the special protected-mode features
of the Intel 80386, 80486, and Pentium processors.
<P>
<LI>The X Window System. The X Window System is the de facto industry standard graphics
system for UNIX machines. A complete version of the X Window System, known as XFree86,
is available for Linux. The X Window System is a very powerful graphics interface,
supporting many applications. For example, you can have multiple login sessions in
different windows on the screen at one time. Other examples of X Window applications
are <TT>xtetris</TT>, <TT>xvier</TT>, <TT>xlander</TT>, and <TT>x11perf</TT>.
<P>
<LI>Binary file support. The Linux kernel and loader works with ELF binaries, the
latest standard in UNIX for relocatable binaries. Linux can also run native Java
code, UNIX System VR4, and BSD binaries.
<P>
<LI>Java support. Linux kernels, when configured correctly, can also run Java applets
as applications.
<P>
<LI>TCP/IP (Transmission Control Protocol/Internet Protocol) support. This is the
set of protocols that links millions of university and business computers into a
worldwide network known as the Internet. With an Ethernet connection, you can have
access to the Internet or to a local area network from your Linux system. Using SLIP
(Serial Line Internet Protocol) or PPP (Point-to-Point Protocol), you can access
the Internet over the phone lines with a modem.
<P>
<LI>Virtual memory. Linux can use a portion of your hard drive as virtual memory,
expanding your total amount of available RAM.
<P>
<LI>ELF support and shared libraries. Linux also implements ELF binaries, as well
as dynamic linking with older shared libraries, allowing programs that use standard
subroutines to find the code for these subroutines in the libraries at runtime.
<P>
<LI>The Linux kernel uses no code from any other proprietary source. So you can actually
look at it!
<P>
<LI>Linux supports (almost) all the features of commercial versions of UNIX. In fact,
some of the features you find in Linux might not be available on other proprietary
UNIX systems.
<P>
<LI>GNU software support. Linux supports a wide range of free software written by
the GNU Project, including utilities such as the GNU C and C++ compiler, <TT>gawk</TT>,
<TT>groff</TT>, and more. Many of the essential system utilities used by Linux are
GNU software.
<P>
<LI>Linux is closely compatible with the IEEE POSIX.1 standard. Linux has been developed
with software portability in mind, thus supporting many important features of other
UNIX standards.
<P>
<LI>The Linux system runs exclusively in 32-bit mode. This is a major step up from
a 16-bit integer limitation in MS-DOS and Windows 3.1x.
<P>
<LI>Linux has built-in support for networking, multitasking, and other features.
You'll see this touted as "New Technology" in systems such as Windows NT.
In fact, UNIX (and now, Linux) has implemented this "New Technology" for
more than 15 years.
<P>
<LI>Linux is in a constant state of development. It's hard to keep up with the revisions
that come up daily on the FTP sites on the Internet.
<P>
<LI>Linux is cheaper to get than most commercially available UNIX systems and UNIX
clones. If you have the patience and access to the Internet, the only price you pay
for Linux is your time. Linux is freely available on the Internet. For a nominal
fee of anywhere from U.S. $30 to U.S. $200, you can save yourself some time and get
CD-ROM or floppy-disk distributions from several commercial vendors. See Chapter
2, "Types of Linux."
</UL>
<P>In my opinion, the most important advantage of using Linux is that you get to
work with a real kernel. All the kernel source code is available for Linux, and you
have the ability to modify it to suit your needs. Looking at the kernel code is an
educational experience in itself.</P>
<P>The development of Linux has been so rapid because of the availability of the
source code. Also, with an ever-expanding group of hackers who want to get their
hands dirty with their own system, Linux has grown steadily into the fully packed
operating system that it is today.
<DL>
<DT></DT>
</DL>
<DL>
<DD>
<HR>
<A NAME="Heading10<FONT COLOR="#000077"><B>NOTE: </B></FONT>Linux uses the
386 chip protected-mode functions extensively and is a true 32-bit operating system.
Linux simply does not run on an 8086, 8088, or 80286 computer.
<HR>
</DL>
<P>So, how reliable is Linux? Surprisingly, Linux is a very stable operating system.
I have used Linux on two commercial products and have found Linux to be a far more
cost-effective solution than a high-priced workstation. The only real bugs are with
alpha drivers (that's why they're alpha). For 99 percent of applications, however,
Linux is very robust.
<H3 ALIGN="CENTER"><A NAME="Heading11<FONT COLOR="#000077">The Downside of
Linux</FONT></H3>
<P>Linux is a hacker's kernel. This hacker attitude can be a daunting experience
for someone not familiar with UNIX.</P>
<P>As I stated earlier, the HOWTO documents in the LDP (in the <TT>docs</TT> directory
of the CD-ROM at the back of the book) have loads of tips and answers to frequently
asked questions (FAQ). If you are stuck, you can always look at the original files
on the CD-ROM. Of course, if booting your machine is a problem, you might have to
borrow some other computer to be able to read the CD-ROM.</P>
<P>So, live, human help is generally not available, nor is it a phone call away as
with a commercial version of UNIX. You can get help from the Internet newsgroups
and other members of the Linux community via e-mail. When it's midnight and your
system just won't boot like the <TT>README</TT> file said it would, however, you
do feel a sense of despair. So when using Linux, remember that it is truly a hacker's
operating system, developed by and for UNIX hackers.</P>
<P>There is a huge distinction between commercial versions of UNIX and Linux: Commercial
versions of UNIX are designed for customers and will work out of the box; Linux is
not guaranteed to work at all on your system. You are indeed on your own. Chances
are that the Linux version at the back of the book will work on your system, but
no one can guarantee this.</P>
<P>If you want a solid guarantee that Linux will work on your system, get a version
of Linux from a vendor who will explicitly spell out what systems they have tried
Linux on. Of course, this purchase of Linux might cost you a little money (anywhere
from U.S. $25 to about U.S. $100). The time spent in trying to debug your hardware
setup will be less, however, if you have someone guaranteeing a known setup. If the
no-name CD-ROM does not work on your system, you might be better off getting a CD-ROM
that does work (by looking at the documentation that comes with Linux or via a vendor).
Too often I get mail from readers of previous editions of this book telling about
their VGA card or CD-ROM not working, only to find that they do not even know the
model and name of the device.</P>
<P>Actually, the only problem for new users is a lack of basic UNIX system administrative
knowledge. Setting up and running your own UNIX system is something that most UNIX
users never get to do, even after years of experience. Yes, you get to do it yourself,
but it isn't that easy. You might actually consider being nice to your local UNIX
system administrator after installing Linux for the first time.</P>
<P>Here are some other aspects of Linux you should be warned about:
<UL>
<LI>Some of the features on your favorite UNIX system might not be available for
your Linux system. Your choice in this matter is to write the application yourself,
convince someone else to write it, or find an alternative process (the easiest way
out, in most cases).
<P>
<LI>You do have to spend some time managing your Linux machine. It takes time and
effort to manage your own Linux system.
</UL>
<P>You develop a knack for fixing problems from experience. Only with experience,
however, can you learn to recognize common problems and find or develop solutions.</P>
<P>Even with standard Linux distributions, sometimes little quirks need to be fixed
by hand for everything to work correctly. If you have previous UNIX experience, it
should be easy to find these problems. If you're new to UNIX, however, it would serve
you well to read up on using and running a UNIX system before you dive in.</P>
<P>To reiterate, Linux isn't for everyone. Many users can get in over their heads
when starting with Linux. To keep your head above water, I strongly encourage you
to read a good book on UNIX system administration, such as UNIX System V, Release
4 Administration, Second Edition (Sams Publishing, 1991).
<H3 ALIGN="CENTER"><A NAME="Heading12<FONT COLOR="#000077">About Linuxs Copyright</FONT></H3>
<P>Ah, yes, that old topic of copyrights. Compared to death and taxes, Linux copyrights
are a mere annoyance. Linux is not public domain software.</P>
<P>Actually, Linux is copyrighted under the GNU General Public License, sometimes
called the GPL or copyleft (instead of right). This copyleft license was developed
by the Free Software Foundation to allow programmers to write "free software,"
with "free" referring to freedom, not just cost. The GPL provides for the
protection of such free software in various ways:
<UL>
<LI>It allows the original author to retain the software's copyright.
<P>
<LI>It allows others to take the software and modify it, or even base other programs
on it.
<P>
<LI>It allows others to redistribute or resell the software, or modified versions
of the software. Note that you can even resell the software for profit. In reselling
or redistributing the software, however, you cannot restrict any of these rights
from the party you're selling it to.
</UL>
<DL>
<DT></DT>
</DL>
<DL>
<DD>
<HR>
<A NAME="Heading13<FONT COLOR="#000077"><B>NOTE:</B> </FONT>If you sell the
software, you have to be able to provide at no cost the full source code so that
others can modify the software and resell it if they so desire. You cannot hold back
the source of your modifications.
<HR>
</DL>
<P>The original authors of the Linux software may never see a dime of these revenues.
This does not prevent authors from getting donations, though, nor does it prevent
anyone from charging a fee for the time and effort to make copies for distribution.
This is allowed by the GNU GPL because the point of free software isn't to make money.
The GNU GPL is simply an understanding between the authors of the software and those
who are using, distributing, or sel- ling it.</P>
<P>Another point is that all free software that is covered by the GNU GPL comes with
absolutely no warranty. But individual vendors, such as Red Hat, can provide support
for the software, which usually includes a warranty. Unless you explicitly purchase
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -