593 lines
22 KiB
Plaintext
593 lines
22 KiB
Plaintext
|
The Linux Reading List HOWTO
|
|||
|
|
|||
|
Eric Steven Raymond
|
|||
|
|
|||
|
[http://www.catb.org/~esr/] Thyrsus Enterprises
|
|||
|
|
|||
|
|
|||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><esr@thyrsus.com>
|
|||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
Copyright <20> 2000 Eric S. Raymond
|
|||
|
Revision History
|
|||
|
Revision 3.0 2004-02-04 Revised by: esr
|
|||
|
Major update. Removed out-of-date books, added a new one.
|
|||
|
Revision 2.1 2003-10-28 Revised by: esr
|
|||
|
Added TAOUP.
|
|||
|
Revision 2.0 2003-07-31 Revised by: esr
|
|||
|
Major revision, cleaned out obsolete stuff.
|
|||
|
Revision 1.21 2003-02-22 Revised by: esr
|
|||
|
LDP site has moved.
|
|||
|
Revision 1.20 2001-06-14 Revised by: esr
|
|||
|
Removed "Practical Unix Security"; it's five years old and the material is
|
|||
|
now covered better by other books.
|
|||
|
Revision 1.19 2001-06-14 Revised by: esr
|
|||
|
Added Ross Anderson's "Security Engineering". Corrected ISBNs.
|
|||
|
|
|||
|
|
|||
|
This document lists the books I think are most valuable to a person trying
|
|||
|
to learn Unix (especially Linux) top to bottom.
|
|||
|
|
|||
|
Copyright
|
|||
|
|
|||
|
Permission is granted to copy, distribute and/or modify this document under
|
|||
|
the terms of the Open Publication License, version 2.0.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
Table of Contents
|
|||
|
1. Introduction
|
|||
|
1.1. Purpose of this document
|
|||
|
1.2. New versions of this document
|
|||
|
1.3. Feedback and Corrections
|
|||
|
1.4. Related Resources
|
|||
|
1.5. Conventions Used In This Document
|
|||
|
|
|||
|
|
|||
|
Basic Linux and Unix bibliography
|
|||
|
A. Administrivia
|
|||
|
A.1. Terms of Use
|
|||
|
A.2. History
|
|||
|
|
|||
|
|
|||
|
|
|||
|
1. Introduction
|
|||
|
|
|||
|
1.1. Purpose of this document
|
|||
|
|
|||
|
This document lists what I consider to be the essential book-length
|
|||
|
references for learning Unix (especially Linux) and how to program under it.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.2. New versions of this document
|
|||
|
|
|||
|
New versions of the Linux Reading List HOWTO will be periodically posted to
|
|||
|
[news:comp.os.linux.answers] comp.os.linux.answers. They will also be
|
|||
|
uploaded to various Linux WWW and FTP sites, including the LDP home page.
|
|||
|
|
|||
|
You can also view the latest version of this on the World Wide Web via the
|
|||
|
URL [http://sunsite.unc.edu/LDP/HOWTO/Reading-List-HOWTO.html] http://
|
|||
|
sunsite.unc.edu/LDP/HOWTO/Reading-List-HOWTO.html.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.3. Feedback and Corrections
|
|||
|
|
|||
|
If you have questions or comments about this document (or just want to
|
|||
|
suggest a book that you think should be on it), please feel free to mail Eric
|
|||
|
S. Raymond, at <esr@thyrsus.com>. I welcome any suggestions or criticisms.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.4. Related Resources
|
|||
|
|
|||
|
For on-line HOWTOs, magazines, and other non-book material, see the Linux
|
|||
|
Documentation Project home page.
|
|||
|
|
|||
|
Some years ago I wrote a less Linux-focused Unix bibliography that may still
|
|||
|
be of some interest and retains a certain amusement value. You can find the
|
|||
|
Loginataka [http://www.catb.org/~esr/faqs/loginataka.html] here.
|
|||
|
|
|||
|
SAGE, the System Administrator's Guild, maintains an excellent [http://
|
|||
|
www.usenix.org/sage/sysadmins/books/booklist.html] list of relevant books.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.5. Conventions Used In This Document
|
|||
|
|
|||
|
Comments not in quotes below are either mine, or I have seen no reason to
|
|||
|
change them from those of Jim Haynes (previous maintainer of this document).
|
|||
|
Comments sent in by others are in quotes, and have the name of the
|
|||
|
commentator before them (JH is Jim Haynes).
|
|||
|
|
|||
|
"See" URLs attached to publishing information point directly into the
|
|||
|
publisher's web catalog and typically take you to a page containing a cover
|
|||
|
shot, blurbs, and ordering information. Books that don't have these lack them
|
|||
|
because the publisher is using frames and the catalog pages can't be
|
|||
|
bookmarked.
|
|||
|
|
|||
|
Topic listings go roughly from the outside in (culture to user-land
|
|||
|
programming to kernel programming to hardware). Within sections I have tried
|
|||
|
to list the most useful books first insofar as I am familiar with them. It's
|
|||
|
just an embarrassing coincidence that this lists one of my books first,
|
|||
|
honest! (Suggestions for a better organization cheerfully accepted.)
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
Basic Linux and Unix bibliography
|
|||
|
|
|||
|
Books on Culture, History, and Pragmatics
|
|||
|
|
|||
|
The New Hacker's Dictionary, Third Edition, Edited by Eric S. Raymond, 1996,
|
|||
|
ISBN 0-262-68092-0, MIT Press, 547pp..
|
|||
|
|
|||
|
Um, er. A guide to Internet culture. Lots of people like it. HTML at the
|
|||
|
Jargon File Resource Page.
|
|||
|
|
|||
|
[http://www-mitpress.mit.edu/book-home.tcl?isbn=0262680920] Order here.
|
|||
|
|
|||
|
|
|||
|
A Quarter Century of Unix, Edited by Peter H. Salus, 1994, ISBN
|
|||
|
0-201-54777-5, Addison-Wesley, 255pp..
|
|||
|
|
|||
|
Linux is part of the Unix tradition. This book is an oral history of Unix --
|
|||
|
how it originated, how it evolved, how it spread -- by the people who were
|
|||
|
there.
|
|||
|
|
|||
|
[http://www.awprofessional.com/catalog/product.asp?product_id=
|
|||
|
{CE8A5F8A-8E49-4B84-89D4-F518971D8130}] Order here.
|
|||
|
|
|||
|
|
|||
|
The Mythical Man Month, Anniversary Edition, Frederic P. Brooks, 1995, ISBN
|
|||
|
0-201-83595-9, Addison-Wesley.
|
|||
|
|
|||
|
The one book on software engineering everyone should read.
|
|||
|
|
|||
|
Alan Cox: "This I'd recommend not for its technical value but for its
|
|||
|
application of common sense and reality to computing projects." JH: "Ah, yes.
|
|||
|
What if Linus had been given 200 programmers and had been told to produce
|
|||
|
Linux in 3 months!"
|
|||
|
|
|||
|
[http://www.aw-bc.com/catalog/academic/product/0,4096,0201835959,00.html]
|
|||
|
Order here.
|
|||
|
|
|||
|
|
|||
|
The Cathedral and the Bazaar, Second Edition, Edited by Eric S. Raymond,
|
|||
|
1999, ISBN 0-596-00131-2, O'Reilly & Associates, 240pp..
|
|||
|
|
|||
|
How and why the Linux development model works. HTML [http://www.catb.org/~esr
|
|||
|
/writings/cathedral-bazaar] here.
|
|||
|
|
|||
|
Order [http://www.oreilly.com/catalog/cathbaz/] here..
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
Linux basics
|
|||
|
|
|||
|
Linux System Administrator's Guide, Edited by Lars Wirzenius, 1997, Linux
|
|||
|
Documentation Project.
|
|||
|
|
|||
|
Available on the LDP home page, or directly at [http://www.tldp.org/LDP/sag/]
|
|||
|
http://www.tldp.org//sag/.
|
|||
|
|
|||
|
An excellent first book on how to maintain and administer a Linux system.
|
|||
|
|
|||
|
|
|||
|
Linux in a Nutshell, Fourth Edition, Ellen Siever, Stephen Figgins, Aaron
|
|||
|
Weber, 2003, ISBN 0-596-00482-6, O'Reilly & Associates.
|
|||
|
|
|||
|
According to O'Reilly, "The Desktop Reference for Linux". For Linux users
|
|||
|
this obsoletes their "Unix In a Nutshell" which was SVr4/Solaris-oriented.
|
|||
|
|
|||
|
[http://www.oreilly.com/catalog/linuxnut3/] Order here.
|
|||
|
|
|||
|
|
|||
|
Running Linux, Fourth Edition, Matt Welsh, Matthias Dallheimer, Terry Dawson,
|
|||
|
Lar Kaufman, 2002, 0-596-00272-6, O'Reilly & Associates.
|
|||
|
|
|||
|
Everything you need in order to understand, install, and use the Linux
|
|||
|
operating system. Excellent beginner's book.
|
|||
|
|
|||
|
[http://www.ora.com/catalog/runux3/] Order here.
|
|||
|
|
|||
|
|
|||
|
A Practical Guide to Linux, Mark G. Sobell, 1998, ISBN 0-201-89549-8,
|
|||
|
Addison-Wesley, 1072pp..
|
|||
|
|
|||
|
Just what the title says -- practical tutorials in basic Unix, shells,
|
|||
|
editors, mail programs, networking, Web tools, and utilities. Covers some
|
|||
|
system administration fundamentals.
|
|||
|
|
|||
|
|
|||
|
Essential System Administration, 3rd Edition, <20>leen Frisch, 2002, ISBN
|
|||
|
0-596-00343-9, O'Reilly & Associates.
|
|||
|
|
|||
|
More in-depth coverage of normal system-administration tasks. Not
|
|||
|
Linux-specific but contains Linux material.
|
|||
|
|
|||
|
[http://www.ora.com/catalog/esa2/noframes.html] Order here.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
System Security
|
|||
|
|
|||
|
Security Engineering: A Guide to Building Dependable Distributed Systems,
|
|||
|
Ross Anderson, 2001, 0-471-38922-6, Wiley.
|
|||
|
|
|||
|
The best book I've ever seen on technological security measures and general
|
|||
|
computer security. The section on "How to Steal a Painting" and physical
|
|||
|
alarm systems is worth the price of admission by itself.
|
|||
|
|
|||
|
|
|||
|
Real World Linux Security: Intrusion Prevention, Detection, and Recovery, 2nd
|
|||
|
edition, Bob Toxen, 2003, ISBN 0-13-046456-2, Prentice-Hall.
|
|||
|
|
|||
|
This is excellent work, the standard by which future Linux security books
|
|||
|
will be judged. I wrote a foreword for it. Combines step-by-step practical
|
|||
|
instructions on hardining a Linux system with good theory on attack paths,
|
|||
|
rings of protection, and security analysis. Describes many counters for
|
|||
|
specific exploits.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
Books on Shell, Script, and Web Programming
|
|||
|
|
|||
|
Programming Perl, Third Edition, Larry Wall, Tom Christiansen, and Jon Orwant
|
|||
|
, 2000, ISBN 0-596-00027-8, O'Reilly & Associates, 1104pp..
|
|||
|
|
|||
|
Shell (as a programming language for more than trivial scripting) is dead.
|
|||
|
Perl rules in its place (though it is now being strongly challenged by
|
|||
|
Python). This is the third edition of the definitive Perl book.
|
|||
|
|
|||
|
[http://www.oreilly.com/catalog/pperl3/] Order here.
|
|||
|
|
|||
|
Emmanuel Pierre keeps a short list of Perl books.
|
|||
|
|
|||
|
|
|||
|
Programming Python, Second Edition, Mark Lutz, 2001, ISBN 0-596-00085-5,
|
|||
|
O'Reilly & Associates.
|
|||
|
|
|||
|
The next step beyond Perl. Python is beautifully designed, has better
|
|||
|
integration with C, and scales up more gracefully to large projects.
|
|||
|
|
|||
|
[http://www.ora.com/catalog/python/] Order here.
|
|||
|
|
|||
|
|
|||
|
HTML & XHTML: The Definitive Guide, Fifth Edition, Chuck Musciano and Bill
|
|||
|
Kennedy, 2002, ISBN 0-596-00382-X, O'Reilly & Associates, 680pp..
|
|||
|
|
|||
|
The best HTML tutorial/reference I have ever seen, and the only HTML book you
|
|||
|
need unless you also want to do CGI. I don't know of any other book on HTML
|
|||
|
that comes within miles of this one for comprehensiveness, depth, and quality
|
|||
|
of organization.
|
|||
|
|
|||
|
[http://www.ora.com/catalog/html5/] Order here.
|
|||
|
|
|||
|
|
|||
|
The Unix Programming Environment, Brian Kernighan and Rob Pike, 1984, ISBN
|
|||
|
0-13-937681-X, Prentice-Hall.
|
|||
|
|
|||
|
A true classic -- possibly the best single-book exposition of the Unix
|
|||
|
philosophy. Useful for learning shell programming.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
Tex and LaTeX
|
|||
|
|
|||
|
The LaTeX Companion, Michael Goossens, Frank Mittelbach, and Alexander
|
|||
|
Samarin, 1994, ISBN 0-201-54199-8, Addison-Wesley, 530pp..
|
|||
|
|
|||
|
`If you are one of those users who would like to know how LaTeX can be
|
|||
|
extended to create the nicest documents possible without becoming a (La)TeX
|
|||
|
guru, then this book is for you' --- from the Preface. Bruce Thompson adds:
|
|||
|
"A very nice book providing a lot of information about the new extensions to
|
|||
|
LaTeX, provides a large number of examples showing precisely how your
|
|||
|
document's layout can be manipulated"
|
|||
|
|
|||
|
[http://www.awprofessional.com/catalog/product.asp?product_id=
|
|||
|
{2B50D478-D4C6-41F2-BD2F-F65E8A99E1C4}] Order here.
|
|||
|
|
|||
|
|
|||
|
LaTeX: A Document Preparation System, Leslie Lamport, 1994, ISBN
|
|||
|
0-201-52983-1, Addison-Wesley, 256pp..
|
|||
|
|
|||
|
Bruce Thompson: "The ultimate reference on LaTeX 2.09 by its author. A new
|
|||
|
edition covering LaTeX2e (the version included in the current TeX/LaTeX
|
|||
|
distribution) is in preparation. LaTeX 2.09 is fully supported by LaTeX2e. A
|
|||
|
must for anyone wanting to use LaTeX. Provides a gentle introduction to
|
|||
|
document preparation and the various tools that LaTeX provides for producing
|
|||
|
professional quality documents. Lots of examples."
|
|||
|
|
|||
|
[http://www.awprofessional.com/catalog/product.asp?product_id=
|
|||
|
{3DC3049A-068B-4184-B406-C13CBFC93CEB}] Order here.
|
|||
|
|
|||
|
|
|||
|
The TeXbook, Volume A of Computers and Typesetting, Donald Knuth, 1986, ISBN
|
|||
|
0-201-13448-9, Addison-Wesley, 496pp..
|
|||
|
|
|||
|
Bruce Thompson: "The definitive user's guide and complete reference manual
|
|||
|
for TeX. Probably not needed for casual LaTeX use, but a fascinating book
|
|||
|
nonetheless." I'll strengthen that by adding that this book is not for the
|
|||
|
faint of heart.
|
|||
|
|
|||
|
[http://www.awl.com/cp/TeXbook.html] Order here.
|
|||
|
|
|||
|
|
|||
|
The METAFONT Book, Volume C of Computers and Typesetting, Donald Knuth, 1986,
|
|||
|
ISBN 0-201-13444-6, Addison-Wesley, 386pp..
|
|||
|
|
|||
|
Bruce Thompson: "The definitive user's guide and reference manual for
|
|||
|
METAFONT, the companion program to TeX for designing fonts. An excellent work
|
|||
|
if you're planning to design your own fonts for use in TeX and LaTeX.
|
|||
|
METAFONT is included with the normal TeX/LaTeX distribution." This book is
|
|||
|
definitely not for the faint of heart.
|
|||
|
|
|||
|
[http://www.awprofessional.com/catalog/product.asp?product_id=
|
|||
|
{27AADE0A-B3C5-4F6E-B79F-5A53027EA008}] Order here.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
Good Programming Style
|
|||
|
|
|||
|
The Practice of Programming, Brian Kernighan and Rob Pike, 1999, ISBN
|
|||
|
0-201-61586-X, Addison-Wesley.
|
|||
|
|
|||
|
An excellent treatise on writing high-quality programs, surely destined to
|
|||
|
become a classic of the field.
|
|||
|
|
|||
|
[http://cm.bell-labs.com/cm/cs/tpop/] Order here.
|
|||
|
|
|||
|
|
|||
|
Programming Pearls, (Second Edition), Jon Bentley, 2000, ISBN 0-201-65788-0,
|
|||
|
Addison-Wesley.
|
|||
|
|
|||
|
These are selected essays from Bentley's column in the Communications of the
|
|||
|
ACM. He discusses a wide variety of issues in program improvement, often
|
|||
|
focusing on program efficiency.
|
|||
|
|
|||
|
[http://www.awprofessional.com/catalog/product.asp?product_id=
|
|||
|
{8D9EB790-15B3-41C9-AE3D-8149347A52AA}] Order here.
|
|||
|
|
|||
|
|
|||
|
The Art of Unix Programming, Edited by Eric S. Raymond, 2003, ISBN
|
|||
|
0-131-42901-9, Addison-Wesley, 512pp..
|
|||
|
|
|||
|
The book on how to think like a Unix expert. Browseable HTML and ordering
|
|||
|
info live [http://www.catb.org/~esr/writings/taoup/] here.
|
|||
|
|
|||
|
|
|||
|
Code Reading: The Open Source Perspective, Edited by Diomedis Spinellis,
|
|||
|
2003, Addison-Wesley.
|
|||
|
|
|||
|
A good book on an often-neglected skill. Order [http://www.awprofessional.com
|
|||
|
/catalog/product.asp?product_id={DE5EA6BB-1743-406B-A680-D1B335BA7EA2}&
|
|||
|
session_id={D106B2CE-36F1-4EA0-8651-74B623E0CECD}] here.
|
|||
|
|
|||
|
|
|||
|
Writing Efficient Programs, Jon Bentley, 1982, ISBN 0-13-970251-2 or
|
|||
|
0-13-970244-X, Prentice-Hall.
|
|||
|
|
|||
|
This book presents Bentley's methodology and set of rules for improving
|
|||
|
program efficiency, and includes a large number of examples.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
C and C++
|
|||
|
|
|||
|
The C Programming Language, (Second Edition), Brian Kernighan and Dennis
|
|||
|
Ritchie, 1988, ISBN 0-13-110362-8, Addison-Wesley, 272pp..
|
|||
|
|
|||
|
The improved second edition, covering ANSI C, of the original classic C book
|
|||
|
coauthored by C's designer, "K&R". Still the best!
|
|||
|
|
|||
|
|
|||
|
Who's Afraid of C++?, Steve Heller, 1996, ISBN 0-12-339097-4, Academic Press,
|
|||
|
508pp..
|
|||
|
|
|||
|
The best introductory book on C++ I have seen. Now available [http://
|
|||
|
www.steveheller.com/whos] on the Web.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
C System Call Interface
|
|||
|
|
|||
|
POSIX Programmer's Guide: Writing Portable Unix Programs, Donald Lewine,
|
|||
|
1992, ISBN 0-937175-73-0, O'Reilly & Associates, 607pp..
|
|||
|
|
|||
|
Linux hews very close to the letter of the POSIX standard (non-conformance is
|
|||
|
considered a bug and swiftly fixed). This excellent reference for POSIX is
|
|||
|
thus also an excellent reference for the Linux kernel API.
|
|||
|
|
|||
|
[http://www.ora.com/catalog/posix/] Order here.
|
|||
|
|
|||
|
|
|||
|
Advanced Programming in the Unix Environment, W. Richard Stevens, 1993, ISBN
|
|||
|
0-201-56317-7, Addison-Wesley.
|
|||
|
|
|||
|
A book on general Unix programming that is every bit as good as Stevens's
|
|||
|
classic on network programming.
|
|||
|
|
|||
|
|
|||
|
Linux Application Development, Michael K. Johnson and Erik W. Troan, 1998,
|
|||
|
ISBN 0-201-308215, Addison-Wesley.
|
|||
|
|
|||
|
The best single reference to the Linux API. Covers the features that aren't
|
|||
|
generic Unix or Posix.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
Books on Networking
|
|||
|
|
|||
|
Unix Network Programming, volume 1 -- Networking APIs: Sockets and XTI, W.
|
|||
|
Richard Stevens, 1998, ISBN 0-13-490012-X, Prentice-Hall.
|
|||
|
|
|||
|
Everything you might want to know about the subject. Generally regarded as
|
|||
|
definitive on the basics.
|
|||
|
|
|||
|
|
|||
|
Unix Network Programming, volume 2 -- Interprocess Communication, Richard
|
|||
|
Stevens, 1998, ISBN 0-13-081081-9, Prentice-Hall.
|
|||
|
|
|||
|
Ditto...
|
|||
|
|
|||
|
|
|||
|
Linux Network Administrator's Guide, Olaf Kirch, 1995, ISBN 1-56592-087-2,
|
|||
|
O'Reilly & Associates.
|
|||
|
|
|||
|
Available on the LDP home page, or directly at [http://www.tldp.org/nag/
|
|||
|
nag.html] http://www.tldp.org/nag.html.
|
|||
|
|
|||
|
An excellent first book on how to maintain and administer a networked Linux
|
|||
|
system.
|
|||
|
|
|||
|
|
|||
|
TCP/IP Network Administration, Craig Hunt, 1992, ISBN 0-937175-82-X, O'Reilly
|
|||
|
& Associates, 472pp..
|
|||
|
|
|||
|
Less Linux-specific than the Kirch book. Features deeper coverage of the TCP/
|
|||
|
IP core, including routing and BGP.
|
|||
|
|
|||
|
[http://www.ora.com/catalog/tcp2/noframes.html] Order here.
|
|||
|
|
|||
|
|
|||
|
DNS and BIND, Second Edition, Paul Albiz and Cricket Liu, 1998, ISBN
|
|||
|
1-56592-512-2, 502pp., O'Reilly & Associates.
|
|||
|
|
|||
|
In-depth coverage of DNS, useful for people running complicated
|
|||
|
multiple-subnet installations. Covers BIND library programming.
|
|||
|
|
|||
|
[http://www.ora.com/catalog/dns2/noframes.html] Order here.
|
|||
|
|
|||
|
|
|||
|
Sendmail, Third Edition, Bryan Costales and Eric Allman, 2002, ISBN
|
|||
|
1-56592-839-3, 1232pp., O'Reilly & Associates.
|
|||
|
|
|||
|
An exhaustive (and exhausting) guide to Linux's and Unix's default
|
|||
|
mail-transfer agent.
|
|||
|
|
|||
|
[http://www.ora.com/catalog/sendmail2/noframes.html] Order here.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
Ancestors of Linux
|
|||
|
|
|||
|
The Design of the Unix Operating System, Maurice J. Bach, 1996, ISBN
|
|||
|
0-13-201799-7, 470pp., Prentice-Hall.
|
|||
|
|
|||
|
The book that got Linus started.
|
|||
|
|
|||
|
[http://www.prenhall.com/books/ptr_0132017997.html] Order here.
|
|||
|
|
|||
|
|
|||
|
Operating Systems, Design and Implementation, Andrew S. Tanenbaum, 1987, ISBN
|
|||
|
0-13-638677-6, 940pp., Prentice-Hall.
|
|||
|
|
|||
|
Alan Cox likes this book. Tanenbaum designed Minix, which is the system Linus
|
|||
|
bootstrapped Linux up from.
|
|||
|
|
|||
|
[http://www.prenhall.com/books/esm_0136386776.html] Order here.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
The Linux kernel
|
|||
|
|
|||
|
The Linux Kernel book, R<>my Card, <20>ric Dumas, and Frank M<>vel, 1998, ISBN
|
|||
|
0-471-98141-9, John Wiley & Sons.
|
|||
|
|
|||
|
(Translated from the French language edition of "Programmation Linux 2.0";
|
|||
|
same authors; 1997; <20>ditions Eyrolles; Paris, France.)
|
|||
|
|
|||
|
A very interesting and informative examination of the operation of the kernel
|
|||
|
that fills in the gap between the POSIX interface and "The Design of the Unix
|
|||
|
Operating System" and the Linux source code. A good understanding of the
|
|||
|
design and operation of a Unix OS is a pre-requisite, but this book is an
|
|||
|
excellent help to going beyond that general understanding into actual work.
|
|||
|
|
|||
|
The primary author is one of the core developers for the ext2 filesystem, and
|
|||
|
the Linux Kernel book shows a firm grasp of the matter and clear explanations
|
|||
|
and structure. It's surprisingly readable for something working at such a low
|
|||
|
level. The book does seem to have suffered a little in the translation to
|
|||
|
English -- there are a few typos and grammatical mistakes, but it's quite
|
|||
|
readable. (The code example files are charmingly still named in French.)
|
|||
|
|
|||
|
The book is current to Linux 2.0.35 and foreshadows 2.1 and 2.2. Network
|
|||
|
protocol implementations are not covered.
|
|||
|
|
|||
|
|
|||
|
LINUX Kernel Programming, (Third Edition), Michael Beck, Harold Bohme, Mirko
|
|||
|
Dziadka, Robert Magnus, Claus Schroter, and Dirk Verworner, 2002, ISBN
|
|||
|
0-201-719754, Addison-Wesley, 480pp..
|
|||
|
|
|||
|
A guide to Linux kernel programming; covers 2.4. Covers the architecture of
|
|||
|
the Linux core and network layer as well as driver construction.
|
|||
|
|
|||
|
[http://www.awprofessional.com/catalog/product.asp?product_id=
|
|||
|
{8D651984-15AF-4C2D-B17C-C07A7758DF23}] Order here.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
Relatives of Linux
|
|||
|
|
|||
|
The Design and Implementation of the 4.4BSD Unix Operating System, Marshall
|
|||
|
Kirk McKusick, Keith Bostic, Michael J. Karels, and John S. Quarterman, 1996,
|
|||
|
ISBN 0-201-54979-4, Addison-Wesley.
|
|||
|
|
|||
|
The successor to a classic book on the implementation of the 4.3 BSD kernel,
|
|||
|
which influenced Linux's design (especially near sockets and networking).
|
|||
|
This book covers the 4.4BSD base of BSD/OS, FreeBSD, and NetBSD.
|
|||
|
|
|||
|
[http://www.aw-bc.com/catalog/academic/product/0,4096,0201549794,00.html]
|
|||
|
Order here.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
Books on Intel and PC hacking
|
|||
|
|
|||
|
80386 Programmer's Reference Manual, Intel Corporation, 1986, ISBN
|
|||
|
1-55512-022-9.
|
|||
|
|
|||
|
Part I. Applications Programming, data types, memory model, instruction set.
|
|||
|
Part II. Systems Programming, architecture, memory management, protection,
|
|||
|
multitasking, I/O, exceptions and interrupts, initialization, coprocessing
|
|||
|
and multiprocessing. Part III. Compatibility (with earlier x86 machines).
|
|||
|
Part IV. Instruction Set
|
|||
|
|
|||
|
|
|||
|
80386 System Software Writer's Guide, Intel Corporation, 1987, ISBN
|
|||
|
1-55512-023-7.
|
|||
|
|
|||
|
This explains the 386 features for operating system writers. It includes a
|
|||
|
chapter on Unix implementation. A lot of the 80386 architecture seems to have
|
|||
|
been designed with Multics in mind; the features are not used by DOS or by
|
|||
|
Unix.
|
|||
|
|
|||
|
|
|||
|
Programming the 80386, John H. Crawford and Patrick P. Gelsinger, 1987, ISBN
|
|||
|
0-89588-381-3, 774pp..
|
|||
|
|
|||
|
This is the book the Jolitzes used when they ported BSD to the 386
|
|||
|
architecture.
|
|||
|
|
|||
|
|
|||
|
80386 Hardware Reference Manual, Intel Corporation, 1986, ISBN 1-55512-024-5.
|
|||
|
|
|||
|
Pin connections, timing, waveforms, block diagrams, voltages, all that kind
|
|||
|
of stuff.
|
|||
|
|
|||
|
|
|||
|
The Indispensable PC Hardware Book, Hans-Peter Messmer, 1993, ISBN
|
|||
|
0-201-62424-9, 1000pp., Addison-Wesley.
|
|||
|
|
|||
|
JH: "Covers the more recent stuff like EIDE and PCI."
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
A. Administrivia
|
|||
|
|
|||
|
A.1. Terms of Use
|
|||
|
|
|||
|
This document is copyright 1999 by Eric S. Raymond. You may use, disseminate,
|
|||
|
and reproduce it freely, provided you:
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Do not omit or alter this copyright notice.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Do not omit or alter or omit the version number and date.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Do not omit or alter the document's pointer to the current WWW version.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Clearly mark any condensed, altered or versions as such.
|
|||
|
|
|||
|
|
|||
|
These restrictions are intended to protect potential readers from stale or
|
|||
|
mangled versions. If you think you have a good case for an exception, ask me.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
A.2. History
|
|||
|
|
|||
|
This was originally a mini-HOWTO maintained by Jim Haynes. I have changed the
|
|||
|
emphasis somewhat, trying to make it more a standalone document and less
|
|||
|
reliant on the various USENET bibliographic postings. The unattributed
|
|||
|
mini-reviews are mine rather than his.
|