Interesting Books (technical)
This page describes some books that I find particularily interesting.
Hopefully, you'll find some of them interesting also.
I've read a lot of books and I've enjoyed most of them.
Consequently, this page will almost certainly never be finished.
I'll try to add to it from time to time.
I've included ISBN numbers where I know them (some of my books are too
old to have ISBN numbers on them).
Please click on the category that you are interested in
Operating Systems
- Lions' Commentary on UNIX® 6th Edition with Source Code by
John Lions; published by Peer-to-Peer Communications; Copyright © 1997
John Lions.;
ISBN 1-57398-013-7.
Originally written in 1977, this book provides an excellent commentary
on how an OS kernel actually works.
Don't be put off by the fact that the version of Unix described is quite
old (eg. no networking support). The Unix 6th Edition kernel provided all
of the key structure needed by essentially any modern operating system.
Unfortunately, licensing and trade secret considerations prevented the
publication of this book until 1996.
Fortunately, a few copies of the original work leaked out and it
didn't take long for copies to proliferate around the world (I got my
first copy back in 1978).
This is a true classic of computing science literature.
It is a must read for any serious student of operating systems.
- The Design and Implementation of the 4.3BSD UNIX®
Operating System by Samuel J. Leffler, Marshall Kirk McKusick,
Michael J. Karels and John S. Quarterman;
published by Addison Wesley; Copyright © 1989 Addison Wesley;
ISBN 0-201-06196-1.
An excellent description of how the 4.3BSD kernel works.
Whereas the Lions book is a commentary on the actual source code, this
book's approach is to talk about the 4.3BSD kernel from a data structures
and algorithms perspective.
I believe that an updated version of this book covering the 4.4BSD kernel
has been published although I don't have a copy.
- The USENIX Association and O'Reilly & Associates, Inc.
have published an excellent set of reference manuals for 4.4BSD.
The manuals are (were?) available as a five volume plus CD-ROM set
(ISBN 1-56592-082-1) or individually.
The manuals in the set are:
- 4.4BSD Programmer's Reference Manual;
ISBN 1-56592-078-3.
- 4.4BSD Programmer's Supplementary Documents;
ISBN 1-56592-079-1.
- 4.4BSD System Manager's Manual; ISBN 1-56592-080-5.
- 4.4BSD User's Reference Manual; ISBN 1-56592-075-9.
- 4.4BSD User's Supplementary Documents; ISBN 1-56592-076-7.
- 4.4BSD-Lite CD-ROM Companion; ISBN 1-56592-092-9.
The Programmer's Supplementary Documents manual
includes the truly excellent An Introductory 4.4BSD Interprocess
Communication Tutorial
and
An Advanced 4.4BSD Interprocess Communication Tutorial chapters.
These are the standard references for Berkeley socket programming.
Have a look here for some on-line links to these
documents.
Programming Languages
- The Snobol4 Programming Language second edition;
by R.E. Griswold, J.F. Poage and I.P. Polonsky;
published by Prentice-Hall;
Copyright © Bell Telephone Laboratories, Incorporated, 1971, 1968.
This book describes Snobol4, one of my all time favourite programm languages.
Unfortunately, the book has been out of print for years.
Look here for a bit more information
on Snobol4.
Writing Portable Software
- Porting Unix Software;
by Greg Lehey;
published by O'Reilly & Associates, Inc.;
Copyright © 1995 O'Reilly & Associates, Inc.;
ISBN 1-56592-126-7.
A good discussion of the issues involved in porting software between
different versions of Unix.
Actually, the real reason that this book appears in this
list could be because my name appears in it on page 191.
In case you're wondering, I didn't buy five copies for my mother although I
did show her page 191!
- POSIX Programmer's Guide Writing Portable Unix Programs;
by Donald Lewine;
published by O'Reilly & Associates, Inc.;
Copyright © 1991 O'Reilly & Associates, Inc.;
ISBN 0-937175-73-0.
A good discussion of how to write portable Unix software by using the
POSIX-defined system calls.
See also Go Solo How to implement and Go Solo with the
Single Unix Specification below.
- Pthreads Programming;
by Bradford Nichols, Dick Buttlar & Jacqueline Proulx Farrell;
published by O'Reilly & Associates, Inc.
Copyright © 1996 O'Reilly & Associates, Inc.;
ISBN 1-56592-115-1.
An excellent book on writing multi-threaded applications using the
POSIX threads (Pthreads) library.
This book came out before the POSIX threads interface was completely
standardized.
As such, the book is a bit dated although the differences between this
book and the actual standard are pretty minor.
- Programming with POSIX® Threads
by David R. Butenhof;
published by Addison-Wesley;
Copyright © 1997 Addison Wesley Longman, Inc.;
ISBN 0-201-63392-2.
This is another excellent book on POSIX® threads programming and it
has the advantage of coming out after the publication of the
POSIX 1003.1c-1995 (Pthreads) standard.
- Go Solo How to implement and Go Solo with the Single
Unix Specification;
by Stephen R Walli, SRW Software, Canada;
Sponsors:
Hewlett-Packard Company,
International Business Machines Corporation,
Novel Inc.,
The Open Software Foundation,
Sun Microsystems Inc.;
published by X/Open Company Ltd., U.K. and PTR Prentice Hall;
Copyright © 1995 X/Open Company Limited.;
ISBN 0-13-439381-3.
This book describes the background surrounding the Single Unix Specification
(also known as Unix 95).
The accompanying CD-ROM contains the documents which make up the specification.
- Go Solo 2 The Authorized Guide to Version 2 of the
Single Unix Specification;
edited by Andrew Josey;
published by The Open Group and PTR Prentice Hall;
Copyright © 1997 The Open Group;
ISBN 0-13-575689-8.
This book describes Version 2 of the Single Unix Specification (also known
as Unix 98).
The accompanying CD-ROM contains the documents which make up the specification
as well as a number of background documents.
Computer Security
- The Cuckoo's Egg;
by Cliff Stoll;
published by Pocket Books, a division of Simon & Schuster, Inc.;
Copyright © 1989, 1990 by Clifford Stoll;
ISBN 0-671-72688-9.
Tells the story of Clifford Stoll's one-man chase of some vandals who
had broken into the computer system that he was responsible for.
A truly amazing story in which Stoll chases the vandals all over the Internet.
During the course of the chase, he tries to involve the F.B.I. who simply
aren't interested.
He also contacts numerous system administrators of sites that the vandals
have broken into, many of which discover that they've been cracked when
Stoll tells them.
This book should be required reading for anyone responsible for the security
of a computer system and/or network.
- @ LARGE The Strange Case of the World's Biggest Internet Invasion;
by David H. Freedman & Charles C. Mann;
published by Simon & Schuster;
Copyright © 1997 David H. Freedman and Charles C. Mann;
ISBN 0-684-82464-7.
Like the title says, the story of a very large scale invasion of the Internet essentially
launched by just one person with some help from a few friends.
The attack is the usual combination of sophisticated techniques and
brute force grunt work.
It included an attack on a number of key routers on the Internet backbone in which
the first few dozen bytes of each telnet session were captured and logged.
The CERT advisory describing this particular attack is the only CERT advisory to date
which caused the hair on the back of my neck to stand up . . .
Time for a bit of lawyer repellant:
this page contains numerous references to names which are trademarks
owned by various parties.
All of these trademarks (including those not marked with a ® symbol)
are hereby acknowledged.
Daniel Boulet
http://www.bouletfermat.com/danny/technical.html