decoration decoration

When you want to know more...
For layout only
Site Map
About Groklaw
Legal Research
ApplevSamsung p.2
Cast: Lawyers
Comes v. MS
Gordon v MS
IV v. Google
Legal Docs
MS Litigations
News Picks
Novell v. MS
Novell-MS Deal
OOXML Appeals
Quote Database
Red Hat v SCO
Salus Book
SCEA v Hotz
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO v Novell
Sean Daly
Software Patents
Switch to Linux
Unix Books
Your contributions keep Groklaw going.
To donate to Groklaw 2.0:

Groklaw Gear

Click here to send an email to the editor of this weblog.

To read comments to this article, go here
Unix Methods and Concepts in the Wild
Wednesday, May 03 2006 @ 04:04 AM EDT

Our list of Unix books, papers, and usenet postings continues to grow, so much so that I thought it best to move it to its own page, so we can organize it and continue to work on it on its own page. With that end in mind, Groklaw member grouch has collected all the comments you've left on the original article, and he's put them all together in one list. We'll now organize and refine. Thank you for all the wonderful information. Feel free to continue to add more, as you remember and/or find them, or to verify/correct the information we already have collected.

Our point is to present evidence that will demonstrate that there couldn't have been a consistent effort by the owners of the Unix operating system to control public access to methods and concepts in Unix and that, in fact, the methods and concepts have been out there for a long, long time.

Which methods and concepts? Of course, we don't fully know, because SCO won't say. But by being inclusive, we're bound to hit the target. At this point, while all such books, papers, and usenet postings on Unix help to demonstrate that point, we are particularly stressing Unix System V version 4 going forward. I think it would be very useful to provide the ISSN/ISBN numbers. If everyone does just a little bit it won't be burdensome on any one of us. Don't forget that the Library of Congress search engine is available. You may be near a research library, perhaps at a university.

I think the next step, if anyone would like to tackle it, would be to arrange the items on the list either by date or alphabetically, or both, so the collected information is easier to read and understand. Or maybe separate out the books from the papers and usenets postings, and then list by date or alphabetically or however you think makes sense. There's plenty of room to be creative and helpful, but make your suggestions as a comment first so everyone knows who is working on what, and we don't duplicate effort.

What would constitute a complete bull's eye? If we found examples of public comments, books or papers on the technology that SCO has on its list of allegedly misused materials prior to any such revealing by IBM or Dynix employees. Because SCOfolk aren't revealing publicly precisely what they mean, we can only scatter shot, but that doesn't mean we won't hit a bull's eye anyway, even if only by being truly thorough. Others will be able to figure out eventually what is most useful. I remain convinced that the court will not forever allow SCO to assert claims it will not specify by line and file.


The Design of the Unix Operating System
Bach, M. J.
1986 Prentice-Hall

The Design and Implementation of the 4.3 BSD Unix Operating System
Leffler, S.J.,McKusick, M.K., Karels,M.J., & Quarterman, J.S.
1989 Addison-Wesley

The Design and Implementation of the 4.4 BSD Unix Operating System
McKusick, M.K., Bostic, K.,Karels,M.J., & Quarterman, J.S.
1996 Addison-Wesley

The Design and Implementation of the FreeBSD Operating System
McKusick, M.K., Neville-Neil, G.V.
2005 Addison-Wesley

Unix Systems for Modern Architectures
Schimmel, C.
1994 Addison-Wesley

Solaris Internals
Mauro, J.,McDougall, R.
2001 Prentice-Hall (NB: 2nd ed in press)

Unix Internals
Vahalia, U.
1996 Prentice-Hall

Unix System Architecture
Andleigh, P.K.
1990 Prentice-Hall

The Magic Garden Explained
Goodheart, B. & Cox, J.
1994 Prentice-Hall

Paperbacks purchased from The Book Cache in Anchorage, 1981 or 1982 by an end user who needed to know more:

$14.95 The Elements of Programming Style SECOND EDITION Brian W. Kernighan (Bell Laboratories, Myrray Hill, New Jersey) and P.J.Plauger (Yourdon, Inc.; New York, New York McGraw-Hill Book Company Copyright 1978, 1974 by Bell Telephone Laboratories, Incorporated

QA76.6K47 1978 001.6'42 78-3498 ISBN 0-07-0342207-4

1. Introduction 2. Expression 3. Control Structure 4. Program Structure 5. Input and Output 6. Common Blunders 7. Efficiency and Instrumentation 8. Documentation =========================================

The C Programming Language Brian W. Kernighan Dennis M. Ritchie Copyright 1978 by Bell Telephone Laboratories, Incorporated QA76,73,C15K47 001.6'424 77-28983 ISBN 0-13-110163-3

3. Control Flow 4. Functions and Program Structure 7. Input and Output 8. The UNIX System Interface

PREFACE C was originally designed for and implemented on the UNIX operating system ...

[footnote: UNIX is a Trademark of Bell Labortatories. The UNIX operating system is available under license from Western Electric, Greensboro, N.C.]

The operating system , the C compiler, and essentiallly all UNIX applications programs (including all of the software used to prepare this book) are written in C. Production compilers also exist for several other machines, including the IBM System/370, the Honeywell 6000, and the Interdata 8/32. C is not tied to any particular hardware or system, however, and it is easy to write programs that will run without change on any machine that supports C.

... tutorial introduction ... Most of the treatment is based on ... real examples .... For the most part, the examples are complete, real programs ....

Brian W. Kernighan Dennis M. Ritchie

Not really a correction, but something that perhaps should be added.

UNIX V3, and UNIX Version 7 source code was released by Caldera, about 2000. I have v7.tar.gz and sys3.tar.gz in a directory called ancient. The files are dated 1979, so any method or concept in these systems is public knowledge.

One of the things my spouse has complained about for over 30 years is the fact that I retain so much of the stuff that I acquire. So, about 10 minutes ago, I got my copy of "UNIX (R) System Software Readings" from the shelf. "This volume presents the proceedings of AT&T Unix Pacific Co., Ltd.'s UNIX System Software Technology Seminar for the Asia/Pacific region held in July, 1986," it begins. "This compilation explains new software technologies used in UNIX System V Release 3.0, newly announced by AT&T. The small book contains an Introduction by Larry Crume (then President of AT&T Unix Pacific); the Keynote "Beyond UNIX" by Brian W. Kernighan; "Streams Technology," by Gilbert J. McGrath; "Networking Architecture and Protocol," by Laurence M. Brown; "Distributed UNIX System--Remote File Sharing," by Arthur L. Sabsewitz; "Directions in Internationalization" by Gary L. Lindgren; and "The Shell--Past, Present, and Future" by David G. Korn.

--- Peter H. Salus

AT&T Bell Laboratories UNIX Sytem Readings and Applications Volume 1 Prentice-Hall 1987 0-13-938532-0

AT&T Bell Laboratories UNIX Syatem Readings and Applications Volume 2 Prentice-Hall 1987 0-13-939845-7

AT&T Unix Pacific Co.,Ltd UNIX System Software Readings Prentice-Hall 1988 0-13-938358-1

Streams publications

AT&T Bell Labratories Technical Journal "A Stream Input-Output System" Dennis Ritchie, 1984 Vol. 63, pp. 1577-1593 Oct. 1984

Proceedings of the 1989 Summer USENIX Conference, Baltimore MD "Out-of-Band Communications in STREAMS" S. Ragos, 1989

AT&T "UNIX System V Release 3.2 - STREAMS Primer" Prentice Hall, 1989

AT&T "UNIX Streams Release 3.2 - STREAMS Programmer's Guide" Prentice Hall, 1989

Proceedings of the 1986 Summer USENIX Conference, Alanta, GA "A Framework for Networking in System V" D. Olander, G. McGrath, R. Israel, 1986 note->This is the orginal paper to describe the implmentation of STREAMS and TLI in System V.

"Unix Network Programming" W. Richard Stevens, 1990 Prentice Hall Software Series

note->The Prentice Hall Software Series had Brian W. Kerningham as an advisor for the series.

Unix Network Programming W. Richard Stevens Prentice Hall Software Series ISBM 0-13-949876-1 Copyright 1990

My info matches grandparent post. I added ISBN

This does not go back to the 70s or 80s, but it predates the SCOG suits.

Bookshelf of UNIX References on CD Now Available , January 9, 1999.

UNIX CD Bookshelf, 2nd edition February 24, 2000.

The Unix CD Bookshelf, Third Edition , January, 2003.

A Kernighan/Pike Book

The Unix Programming Environment Brian W Kernighan Rob Pike Prentice-Hall Software Series (C) Bell Laboratories, Inc Prentice-Hall ISBN 0-13-937699-2

It touches on internals in the chapters dealing with system calls and the file system.

Most interesting ... UNIX Papers for Unix Developers & Power Users

UNIX(R) Papers for UNIX Developers and Power Users Edited by Mitchell Waite (C) 1987 ISBN 8126222578

Something I've had sitting around in my office for the past 19 years, and I only just now pulled down, to peruse for this topic. Here's some of the interesting excerpts from the table of contents:

Part I, Introductory Illuminations:

Unix Rights and Wrongs (Dan Franklin)

The UNIX Philosophy UNIX, C, and Portability UNIX: The Portable Operating System BSD and System V: Two Families and their Children UNIX Modularity The Future of UNIX

Part II, Arcana of Programming

Device Drivers Under UNIX (George Pajari)

Remote File Systems, Streams and Transport Level Interface (John Emrich)

Real Time Unix (Geoff Kuenning) Part III, Esoterica if Implementation

A UNIX Port to the 80286 (Anthony D. Andrews)

UNIX Port to the 80386 (David Robboy)

Multiprocessor UNIX (Tom Jermoluk)

The Future of UNIX and Open System Standards (Eric Raymond)

The interesting thing is, the preface of the book says:

UNIX Papers is a compendium of exciting ideas, methods, programs, tips, tutorials and insights into UNIX written for UNIX power users, software developers, and programmers.

Slipping to Part 3, the introduction reads as follows:

One thing was clear when the contributors set out to write UNIX Papers: market conditions were ripe for licensed AT&T UNIX clones to appear on new 32 bit microprocessors such as the Intel 80386 and the Motorola MC68030. As UNIX proliferated on these chips, programmers would find themselves faced with opportunities to write code for these machines. We thus felt that knowing how these UNIX ports were accomplished and what trade-offs had to be made would be of interest to application programers, because any quirk of the microprocessor would also be present for the application program. Also, at the time of this book's publication there was increasing interest in parallel processing, using multiple computers to work on a single program, and the uses of UNIX in real-time environments.

As you can see, the purpose of the book was to provide information on methods and concepts (ideas, insights and tips) for UNIX in general, and specifically on Intel processors, and includes multiprocessing (pre SMP).

It appears to me to be yet another stampede of stallions, form the tSCOg barn.

USENIX conference "Refer"

Link to List of Unix books


On the list above UNIX Unleshed has the listing:

UNIX Unleased Dulaney 39.95 0672304023

have a copy of UNIX UNLEASHED ISBN 0-672-30402-3 dated 1994. Price was $49.99. Dulaney is not listed as the author anywhere in the book. But the list of authors in this book does include a batch of people.

Partial List as of the 1994 First Edition:

Susan Peppard first started working with UNIX in 1985.

Pete Holsberg was Mercer College Sys Admin for their UNIX lab. Wrote books on C and UNIX tools and worked for Macmillian Publishing as tech editor or tech reviewer.

S. Lee Henry wrote sys admin column for SunExpert Magazine and had 12 years experience as a UNIX programer/sys admin in 1994.

Chris Negus worked at AT&T Bell Labs, USL , and Novell. Co-authored Novell's Guide to UNIXWare for Novell Press.

John Valley who wrote UNIX Progammer's Quick Reference in 1990 (ISBN: 0 880 22535 1 ), UNIX Progammer's Reference in 1991 ( ISBN: 0 880 22536 X ), UNIX Desktop Guide to the Korn Shell in 1992 ( ISBN: 0 672 48513 3 )and C Programming for UNIX in 1992 (ISBN: 0 672 48518 4 ).

Sydney S. Weinstein who was a contributing author to UNIX Programmer's Reference. Also was a contributing editor for C Users Journal.

And others but no mention of Dulaney.

AT&T "UNIX System V Release 3.2 - STREAMS Programmer's Guide" Prentice Hall, 1989

The UNIX source code sold on floppy disks?!

I have the second edition, bought second hand, of "The Unix Operating System" by Kaare Christian from 1988, published by John Wiley & sons. 455 pp. (ISBN 0-471-84781-X) It includes descriptions of a lot of methods and concepts surrounding system.

But, notably, the cover says within a star shaped text box: "Includes AT&T's System V Release 2 and Berkeley's version 4.3".

Could that indicate that the the actual source code was included (possibly on floppy disks) when originally sold?!

Here are some other books by Kaare Christian as from

The Unix Operating System (Hardcover, 3rd edition) (Wiley Professional Computing) by Kaare Christian and Susan Richter (Hardcover - 1994)

The Unix Operating System (Wiley Professional Computing) by Kaare Christian and Susan Richter (Paperback - Nov 1993)

* Xenix Command Reference Guide by Kaare Christian and Susan Richter (Paperback - Mar 1989)

* The C and Unix Dictionary: From Absolute Pathname to Zombie by Kaare Christian (Paperback - Sep 1988)

* The UNIX Command Reference Guide: The Top Fifty UNIX Commands by Kaare Christian (Paperback - Jan 11, 1988)

The Unix Text Processing System by Kaare Christian (Paperback - Oct 1987)

Writing a Unix Device Driver Janet I. Egan and Thomas J. Teixeira John Wiley & Sons, Inc. Copyright 1988 ISBN 0-471-62811-5 ISBN 0-471-62859-X (paperback)

This book is based on a MASSCOMP manual "Guide to Writing a Unix Device Driver". It is based on a MASSCOMP implmentation of Unix that was named RTU. It also has appendicies containing information that is specific to BSD 4.2 and Xenix.

Does anyone remember Xenix? I believe it was originally created by Microsoft under license from AT&T, and then later purchased by SCO when Microsoft lost interest in it. I wonder how many methods and concepts escaped into the wild during those days.

Advanced Programming in the Unix(r) Environment W. Richard Stevens Publisher : Addison Wesley Copyright date : 1993 ISBN : 0-201-56317-7

Covers virtually all aspects of the claimed methods and concepts, has extensive signal, pipe and IPC information (amongst other things that can not be minimised).

A Practical Guide to Unix System V by Mark G. Sobell 2nd Ed, 1991 ISBN 0-8053-7560-0 Benjamin/Cummings Publishing Co.

It is about Release 4. Not really about internals, but full of M & C.

Just a cursory scan of some items listed in Exhibit B as being included improperly in Novell's version of SUSE and the contents of Mr Rochkind book shows some matches, such as:

  • 7.8 - On Semaphores;

    4.9 - Steams I/O;

    2.12 - User Buffered I/O

    numerous mentions of locks.

Then again it may be that he didn't know anything about these subjects until he found out about them through Novell's and IBM's release of the information! In which case I am certain such an upstandingly correct person would have obtained Novell's and IBM's permission to mention and use their Methods and Concepts.

The Bell System Technical Journal, July-Aug 1978, Vol 57, No 6, Part2 is all about "Unix Time-Sharing System"

It contains a number of papers describing the design of Unix. ie.

The UNIX Time-sharing System. UNIX Implementation The UNIX shell Portability of C programming language and the UNIX System UNIX on a Microsprocessor. The UNIX Operating system as a base for applications.

A couple of other books that concentrate on Unix programming philosophy...

The UNIX Philosophy by Mike Gancarz ISBN 1-55558-123-4

The Art of UNIX Progamming by Eric S. Raymond ISBN 0-13-142901-9

The Bell System Technical Journal

I had written this one up too, when I noticed your post. Mine has further info, so I'll post it anyway:


This collection of journals is subtitled “UNIX Time-Sharing System” and comprises pages 1897-2312, so presumably the earlier pages belonged to earlier volumes, or earlier parts of the same volume.

The preface starts thus:

“Since 1962, The Bell System Technical Journal has published over 90 articles on computer programming. Although that number is not insignificant, it is only about 6 percent of all the articles published in the B.S.T.J. during that period. Publications of the B.S.T.J. tend to reflect the amount of activity in many areas of technology at Bell Laboratories, but that has certainly not been true for computer programming work. Better indicators of the importance of programming for current Bell Laboratories work are the following:

“(i) 25 percent of the technical staff spent more than 50 percent of their time on programming, or related work, in 1977.

“(ii) 25 percent of the professional staff recruited in 1977 majored in computer science.

“(iii) 40 percent of the employees entering the Bell Laboratories Graduate Study Program in 1977 are majoring in computer science.”

This is the contents list, printed on the front and back covers:

Preface Foreword The UNIX Time-Sharing System UNIX Implementation A Retrospective The UNIX Shell The C Programming Language Portability of C Programs and the UNIX System The MERT Operating System UNIX on a Microprocessor A Minicomputer Satellite Processor System Document Preparation Statistical Text Processing Language Development Tools The Programmer's Workbench The UNIX Operating System as a Base for Applications Microcomputer Control of Apparatus, Machinery, and Experiments Circuit Design Aids A Support Environment for MAC-8 Systems No. 4 ESS Diagnostic Environment RBCS/RCMAS - Converting to the MERT Operating System The Network Operations Center System

Here are the subheadings of selected titles:

The UNIX Time-Sharing System, by D M Ritchie & K Thompson: I. Introduction II. Hardware and Software Environment III. The File System 3.1 Ordinary files 3.2 Directories 3.3 Special files 3.4 Removeable file systems 3.5 Protection 3.6 I/O calls IV. Implementation of the File System V. Processes and Images 5.1 Processes 5.2 Pipes 5.3 Execution of programs 5.4 Process synchronization 5.5 Termination VI. The Shell 6.1 Standard I/O 6.2 Filters 6.3 Command separators; multitasking 6.4 The shell as a command; command files 6.5 Implementation of the shell 6.6 Initialization 6.7 Other programs as shell VII. Traps VIII. Perspective Influences

The “Influences” section seems particularly relevant. It begins:

“The success of UNIX lies not so much in new inventions but rather in the full exploitation of a carefully selected set of fertile ideas, and especially in showing that they can be keys to the implementation of a small yet powerful operating system.

“The fork operation, essentially as we implemented it, was present in the GENIE time-sharing system. On a number of points we were influenced by Multics, which suggested the particular form of the I/O calls and both the name of the shell and its general functions...”

My take: history repeats itself.

UNIX Implementation, by K Thompson: I. Introduction II. Process Control 2.1 Process creation and program execution 2.2 Swapping 2.3 Synchronization and scheduling III. I/O System 3.1 Block I/O system 3.2 Character I/O system 3.2.1 Disk drivers 3.2.2 Character lists 3.2.3 Other character devices IV. The File System 4.1 File system implementation 4.2 Mounted file systems 4.3 Other system functions

Contributing Authors, in no particular sequence: T H Crowley M D McIlroy E N Pinson B A Tague D M Ritchie K Thompson S R Bourne S C Johnson M E Lesk B W Kernighan H Lycklama D L Bayer C Christensen J F Ossanna, Jr L E McMahon L L Cherry R Morris T A Dolotta R C Haight J R Mashey G W R Luderer J F Maranzano B C Wonsiewicz A R Storm J D Sieber A G Fraser H D Rovegno S P Pekarich E R Nagelberg M A Pilla H Cohen J C Kaufield, Jr

The Bell System Technical Journal

(1) The BSTJ contained articles covering everything that the Labs did. There were two special UNIX issues: in 1978 and in 1984 (vol. 63, No. 8 [October]. They were referred to as the "blue" and the "yellow" issues of BSTJ. They were reprinted in maroon covers by Prentice-Hall in 1987.

(2) E.I. Organick's "The Multics System" was published by MIT Press in 1972 (with further printings in 1976, 1980 and 1981). ISBN 0-262-15012-3

(3) For some unknown reason, one of my favorite books has gone unlisted so far: S.R. Bourne, The UNIX System (Addison-Wesley, 1983). ISBN 0-201-13791-7


There were actually two issues of the Technical Journal that consisted primarily of Unix papers. The July-August 1978, Vol. 57, No 6, Part 2 of the Bell System Technical Journal and the October 1984 Vol. 63, No. 8, Part 2 of the AT&T Bell Laboratories Technical Journal (the Bell System breakup was 1 January 1984 -- I'll never forget 1/1/84) both had a lot of excellent information about various pieces of Unix, setting forth the Unix philosophy, many details of Unix (including some internals, and a lot more.

Between the two issues there were 34 papers on Unix and C, and a few others less related.

Unix Papers

I have a book "UNIX Papers" Edited by The Waite Group. First Printing 1987 by Howard W.Sams & Company. isbn 0-672-22578-6

The book opens with: To my Dad, James Waite, who gave me the freedom to explore the unknown and the courage to say what I discovered Mitchell

Interesting book not in your list.

Dear PJ, I own a book which is quite interesting. I think it should be in your list.

"UNIX Internals A practical approach" by Steve D. Pate s_3/1 04-4442512-6932740?%5Fencoding=UTF8&s=books

Published in 1996, it has a foreword by Gary Daniels, then oldSCO's Vice President (Platform Products Division), whose last sentence is: "By providing the means for users to gain practical insight into the UNIX kernel without access to source code, this book presents a new and innovative approach which I am sure will appeal to all UNIX enthusiasts."

The preface introduction starts with: "This book describes the internals of SCO OpenServer Release 5, the version of the UNIX operating system supplied by The Santa Cruz Operation."

And indeed the book is very detailed: never showing source code, the Author swims through the flow of control of OpenServer using debuggers and describing data structures. Methods and concepts. And gems like a detailed description of ELF in chapter 6, too.

Steve Pate's UNIX System Internals: A Practical Approach[1] (Addison-Wesley, 1996) gives a detailed explanation of the SCO OpenServer kernel and is an excellent reference to use when running SCODB."

Well I guess that would be:

"UNIX Power Tools", by Jerry Peek, Tim O'Reilly, and Mike Loukides. O'Reilly, ISBN 1-56592-260-3.

"Introduction to Operating Systems" by Ann McIver McHoes (lots of Lovelace, Djikstra, and Knuth quotes/examples)

SAMS "UNIX System Administration"

SAMS "Teach Yourself C In 21 Days"

SAMS "Teach Yourself TCP/IP In 24 Hours"

SAMS "Linux Programming Unleashed"

"Real World Linux Security" by Bob Toxen (great read!)

These books date from the 1980's or 1990's, esp. the first editions. I consider them to be essential to truly be a *nix/Linux power user in this day and age. Also (just for PJ) the entire contents of the man pages and the entire contents of the Linux Documentation Project (the "HOWTO's" and "Guides" are my favorites, I keep local copies. You too can download them in tar.gz format, or whatever you prefer such as Postscript or html.)....

And let's not forget , the UNIX Guru Universe , USENIX and SAGE , and a great collection of links

My point is this: There is *tonnes* of material out there and available to anyone at little or no cost other than time and bandwidth. Further to the point, one could replicate any sort of halfway decent *nix system with the above-menioned materials, all of which are public knowledge. Not easy, but it *could* be done. Alternatively, you can spend a few dollars and buy or print it all in book format. I did just that. Even the hardware manufac turers [Intel] publish these things.

link The first Unix users' manual (3rd Nov 1971).

Old computer books

I have a copy of "The Encyclopedia of Coumputer Science and Engineering" Second edition (c) 1983 Van Nostrand Reinhold Company Inc. ISBN 0-442-24496-7.

This is a large encyclopedia (bought second hand from a library) and is over 1600 pages. It includes some details on Unix, and in the section on operating systems, "A Model of Multitask Systems" describing how an operating system works. I think there would be sufficient detail to create a full OS based on this description.

I also have a copy of "UNIX The book" (c) 1982 MF Banahan and A Rutter, reprint 1990 ISBN 0 905104 21 8.

This is mainly aimed at the user, but with details for the techie types and programmers. It includes details of the standard library calls, system calls and the error and signal numbers and names (taken from errno.h and signal.h).

Deitel's OS textbook from the early '80s (don't have a copy here at work right now...) had an appendices on: CP/M, VMS, Unix, MVS, and VM/370, including a brief discussion of kernel internals for each OS.

"Unix Internals" Shaw, M. C. and Shaw S. S. 1987, McGraw-Hill, Inc.

It includes system calls and signals. 9-2430248?v=glance&n=2 83155

One of the earlier books is "A commetary on the sixth edition UNIX operating system" from 1977, by John Lions.

This was a textbook from the University of New South Wales, but it was widely illegally copied. It was posted on Usenet in 1994 . Every UNIX hacker worthy of the name at that time had a Nth-generation copy of the Lions book.

It seems that AT&T never bothered very much to halt the spread of this book. It would have been useless anyway, especially after the book got loose on Usenet.

Later Caldera gave permission for it to be distributed, along with some ancient UNIX source code (V1 -V7 & 32V). I have a copy of the book, the 32V source code and a license for the code.

Another Book by W. Richard Stevens

TCP/IP Illustrated, Volume 2: The Implementation Gary R. Wright, W. Richard Stevens Addison-Wesley ISBN 0-201-63354-X second edition, 1995

On more than 1100 pages, it contains the complete source code for the TCP/IP network stack of 4.4BSD-Lite Distribution (heavily commented), together with an excellent index.

from the preface:

A special thanks to the consulting editor, Brian Kernighan, for his rapid, thorough, and helpful reviews throughout the course of the project, and his continued encouragement and support.

Addison-Wesley sells a boxed edition of the whole series that comes with a poster showing the most important data structures and relations between them.

Advanced Programming in the UNIX Environment is another classic by the late Stevens.

I have the version which Rago has updated i.e. the second edition. Addison-Wesley 2005 ISBN 0-201-43307-9.

One pair of things not yet mentioned are: UNIX Review and UNIX World Both were "popular" magazines that discussed Methods and Concepts as well as containing source code. These are "available" on the web, and someone produced CD's of back issues- I think it was the then new owner of Dr.Dobbs' Magazine (IDG?). Even old Byte magazine had M&C and during XENIX popularity, Windows Tech Journal had articles on M&C. There was also a ROOT magazine, I forget what that morphed into.

R. Nigel Horspool, The Berkeley UNIX Environment (2nd Ed., Prentice-Hall Canada, 1992) [first Ed. was called C Programming in the UNIX Environment]. ISBN 0-13-089368-4.

W. F. Jolitz & L. G. Jolitz, The Basic Kernel Source Code Secrets [386BSD] (Peer-to-Peer, 1996). ISBN 1-57398-026-9.

Recall, Kirk McKusick mentions Jolitz' work in the passage cited by PJ at the head of all this.

Don't forget Bill & Lynne Jolitz' 18-part series on 386BSD in DDJ.

By the Jolitz' in (I believe) DDJ around 1988 - 89 with lots of implementing code for various parts of the (then) latest BSD.

I also have a large number of editions of the C Users Jouranl from about 1990 to about 1995. I'll have to see what is in there - I seem to remember a series on the Unix scheduler.

DDJ Search for Jolitz

Porting Unix to the 386: the Basic Kernel

(Original dated 1991 at the link)

"Structured Computer Organization", by Andrew Tanenbaum, (c) 1984, ISBN 0-13-854605. This book talks about a lot of fundamental methods and concepts, it talks about Multics *and* UNIX.

Apparently there is a long list of UNIX book recommendations online.

Some highlights:

Bach, Maurice J. The Design of the UNIX Operating System. Englewood Cliffs, NJ: Prentice-Hall, 1986. A technical discussion of the internals of the UNIX System V operating system, written shortly before System V, Release 3. Somewhat outdated, but still very useful.

Dowd, Kevin. High Performance Computing. Sebastopol, CA: O'Reilly & Associates, 1993. Discusses the basics of modern workstation architecture, understanding and writing performance benchmarks, and methods for improving performance of critical applications.

[my comment - I wonder if this covers profiling?]

And here's another SCO recommendation:

Emphasis added:

There are two approaches to understanding UNIX, besides understanding it as a user. The first approach is the system level approach, which attempts to explain the system in terms of the services it provides to applications, and covers the API (Application Program Interface) of the operating system in some depth. This is most useful to programmers wishing to develop applications that can take full advantage of the UNIX environment.

A useful example of this type of book is Advanced UNIX Programming (Marc Rochkind; Prentice-Hall, 1985). This book presupposes a familiarity with the C programming language. On that basis, it conducts the reader on a guided tour of the intricacy of UNIX system programming, with a chapter by chapter overview of the function calls available to user programs. There are many other books of this type; this one was one of the first detailed explanations of UNIX system programming.

The second approach to understanding the UNIX system is the internals approach, which provides the reader with a detailed explanation of how the internal subsystems of the UNIX operating system were designed, and how they carry out their functions. This course of study almost certainly requires a basic knowledge of operating systems theory and computer science before it can be made use of, but provides the suitably equipped reader with a total understanding of what the UNIX operating system was designed to achieve, and how it succeeds.

The classic text following this approach is The Design of the UNIX Operating System (Maurice J. Bach; Prentice Hall, 1986). Bach provides a detailed exposition of the design elements of the UNIX system kernel, including information on how processes are scheduled, how memory is managed, and how the API is presented to the applications run on the system.

# Paperback: 254 pages # Publisher: Peer-To-Peer Communications; Sixth edition (August 1, 1977) # Language: English # ISBN: 1573980137

Two books I used to help me understand UNIX when my employer dumped two Sun Sparc Workstation 1+'s on my department (with no training):

1. Using UNIX Que Corporation 1990:Que Corporation "Covers AT&T System V, SCO System V/386, IBM AIX, and Berkley Unix Systems"

2. UNIX/System V Release 4/An Introduction/(For New and Experienced Users) Rosen, Henneth H., Rosinski, Richard R., Farber, James M. 1990:American Telephone and Telegraph Company Published by: Osborne McGraw-Hill "A comprehensive guide to the new operating system that unifies UNIX System V, the BSD System, the SunOS, and the Xenix System"

Quick look at the shelf turned up these. The general end-user manuals may have value in that they contain bibliographies that list other books with deeper content.

The Annotated C++ Reference Manual Ellis & Stroustrup, AT&T Bell Labs Addison-Wesley ISBN 0-201-51459-1 (c) 1990 ANSI Base Document Extensive coding samples

Practical C Programming Oualline, Steve O'Reilly & Associates, Inc. ISBN 0-937175-65-X (c) 1991 Extensive coding samples

A Book on C Kelly & Pohl Benjamin Cummings Company, Inc. ISBN 0-8053-6860-4 (c) 1984 Coding samples

C a Reference Manual Harbison & Steele Prentice-Hall ISBN 0-13-1109933-2 (c) 1991 Defines ANSI X3.159.1989

The C Primer Hancock & Krieger McGraw-Hill ISBN 0-07-025981-X (c) 1983 Coding samples

The Kornshell Command and Programming Language Bolksy & Korn Prentice-Hall ISBN 0-13-516792-0 (c) 1989 Might be useful if any scripts are called into question

A User Guide To The Unix System, 2nd ed. Thomas, Rebecca Osborne McGraw-Hill ISBN 0-07-881109-0 (c) 1985 End user guide, but has extensive bibliography

Introducing The Unix System McGilton & Morgan McGraw-Hill ISBN 0-07-045001-3 (c) 1983 End user guide, but has modest bibliography

Crafting C Tools for the IBM PCs Campbell, Joe Prentice-Hall ISBN 0-13-188418-2 (c) 1986 I doubt this contains anything material

Two more books

Operating System Design, the XINU Approach Douglas Comer Prentice Hall, 1984 ISBN: 0-13-637539-1

The UNIX Programming Environment Brian W. Kernighan, Rob Pike Prentice-Hall, 1984 ISBN: 0-13-937681-X

Tanenbaum Books

Here is another tanenbaum book :


I have a book, "The Design of the UNIX Operating System", by Maurice J. Bach.  It is copyright 1986 by Bell Telephone Laboratories, Inc.,  published by Prentice-Hall, ISBN 0-13-201799-7.

It is the classroom textbook used to teach Bell Labs new hires about System V and for a long time was the reference on UNIX internals.

The original Lions' book(let) is available for download as a PDF . As it is linked from the Lucent Technologies Bell Laboratories in Murray Hill , I will presume that this is kosher from a copyright point of view.

Namen: Lepage, Yves [aut] Iarrera, Paul [aut] Titel: Unix : het complete HANDBoek Imprint: Schoonhoven : Academic service, 2002 - 696 p. + CD-rom Series: (Complete HANDBoeken) ISSN/ISBN: 90-395-1939-0

Namen: Zacker, Craig [aut] Titel: Het complete naslagwerk Netwerken Imprint: Schoonhoven : Academic service, 2002 - XVII, 1014 p.: fig. ISSN/ISBN: 90-395-1938-2 Verwante doc.: Oorspr. tit.: Networking: the complete reference

Namen: Davis, William S. [aut] Rajkumar, T. M. [aut] Titel: Operating systems : a systematic view Imprint: 5th ed. - Reading (Mass.): Addison-Wesley, 2001 - XXXI, 605 p.: ill. ISSN/ISBN: 0-201-61257-7

Namen: Peek, Jerry [aut] Todino, Grace [aut] Strang, John [aut] Titel: Learning the UNIX operating system Imprint: 4th ed. - Sebastopol : O'Reilly, 1998 - VI, 92 p. ISSN/ISBN: 1-56592-390-1

Namen: Pate, Steve D. [aut] Titel: Unix internals : a practical approach Imprint: Harlow : Addison-Wesley, 1996 - XXII, 654 p.: fig. ISSN/ISBN: 0-201-87721-X

Namen: Khalifa, Reda [aut] Universität Gesamthochschule Kassel. Fachbereich 17 : Mathematik, Informatik [oth] Titel: Design of a multi-channel operating system based on UNIX / Khalifa,

Reda Imprint: - X, 226 p.: Fig., Graph.

Namen: Quarterman, John S. [aut] Wilhelm, Susanne [aut] Titel: UNIX, POSIX, and open systems : the open standards puzzle Imprint: Reading (Mass.): Addison-Wesley, 1993 - XXIX, 416 p. ISSN/ISBN: 0-201-52772-3

Namen: Varhol, Peter D. [aut] Titel: Implementing UNIX in the 1990's Imprint: 2nd ed. - Charleston (S.C.): Computer technology research corporation, 1993 - IV, 186 p.: ill. ISSN/ISBN: 0-927695-90-1

Namen: Association française des utilisateurs d'unix et des systèmes ouverts [oth] Titel: Convention UNIX 93 : actes des conférences techniques Imprint: Paris : AFUU, 1993 - 210 p. ISSN/ISBN: 2-907902-24-5

Namen: Luyten, Geert [aut] KUL. Faculteit toegepaste wetenschappen. Departement computerwetenschappen [oth] Titel: Interprocescommunicatie in het Unix-BSD besturingssysteem / Luyten, Geert Imprint: - 113 p.: fig.; app.

Namen: Waite, Mitchell [aut] Prata, Stephen [aut] Martin, Donald [aut] Titel: The Waite group's UNIX system V primer Imprint: 2nd ed. - Carmel (Ind.): Sams, 1992 - XXV, 564 p. ISSN/ISBN: 0-672-30194-6

Namen: Computer Technology Research Corporation [oth] Titel: Implementing UNIX in the 1990's Imprint: Charleston (S.C.): Computer technology research corporation, 1992 - IV, 184 p.: ill. ISSN/ISBN: 0-927695-90-1

Namen: Leffler, Samuel J. [aut] MacKusick, Marshall Kirk [aut] Titel: The design and implementation of the 4.3BSD Unix operating system : answer book Imprint: Reading (Mass.): Addison-Wesley, 1991 - IX, 85 p. Series: (Addison-Wesley series in computer science) ISSN/ISBN: 0-201-54629-9

Namen: Andleigh, Prabhat K. [aut] Titel: UNIX system architecture Imprint: Englewood Cliffs (N.J.): Prentice Hall, 1990 - XVI,274 p.: fig. ISSN/ISBN: 0-13-949843-5

Namen: Todino, Grace [aut] Strang, John [aut] O'Reilly, Tim [oth] Titel: Learning the UNIX operating system / Todino, Grace ; Strang, John ;

rev. by Tim O'Reilly Imprint: 2nd ed. minor corrections - Newton (Mass.): O'Reilly and associates, 1989 - 75 p. ISSN/ISBN: 0-937175-16-1

Namen: Coffin, Stephen [aut] Titel: UNIX : the complete reference : system V release 3 Imprint: Berkeley (Calif.): Osborne/MacGraw-Hill, 1988 - 704 p. ISSN/ISBN: 0-07-881299-2

Namen: Egan, Janet I. [aut] Teixeira, Thomas J. [aut] Titel: Writing a UNIX device driver Imprint: New York (N.Y.): Wiley, 1988 - VIII, 357 p.: ill. ISSN/ISBN: 0-471-62859-X

Namen: Wang, Paul S. [aut] Titel: An introduction to Berkeley UNIX Imprint: New York (N.Y.): Van Nostrand Reinhold, 1988 - XV, 512 p. ISSN/ISBN: 0-534-08862-7

Namen: Martens, Francis [aut] KUL. Faculteit toegepaste wetenschappen. Departement computerwetenschappen [oth] Titel: Multiprocessor Unix : meester-slaaf realisatie Imprint: s. n. Leuven : s.n., 1987 - 93 p.

Namen: Waite, Mitchell [edt] Waite group [oth] Titel: UNIX papers / [Ed. by Mitchell Waite] Imprint: Indianapolis (Ind.): Sams, 1987 - XXVI, 518 p.: fig. Series: (Hayden books UNIX system library)

SUNExpert magazine 1989-2000

Apparently, SUNExpert is/was some kind of monthly magazine dealing with UNIX in particular. Here are some titles of articles from that magazine written by Peter Collinson from 1989-2000. Here I show you the titles of the articles from 1990:

December 1990: The kernel, the process and the system call - What's a system call, how processes talk via the kernel to the outside world November 1990: Shell prompts - How to set up nice shell prompts and set labels on X windows October 1990: Program Exit Status - Using results from commands sensibly September 1990: Programming models - What a process sees when it runs in the machine, how a compiled program works August 1990: Pipelines - How to use pipes July 1990: Environment variables - How to set and read environment variables, well known names June 1990: Permissions on files - What file permissions are and how to set them May 1990: Lost files - Really about the dump and restore commands April 1990: The UNIX filesystem - How the file system works March 1990: Loops - Loops in shell programs for, foreach, break, continue and a bit on the find and apply commands February 1990: Signals - What signals are, how they are handled January 1990: Processes - A discussion on how processes work on UNIX

1978 Bell System Technical Journal - covers UNIX "methods and concepts".

I have a copy right here, of the original Vol. 57, #8 of the Bell System Technical Journal, from 1978. The Bell System used to publish BSTJ every two months, with technical papers by Bell employees and, occasionally, a special issue on a single subject. This is one such issue. The key papers are, of course, the classics by Ritchie and Thompson, the most important one being "UNIX Implementation". In there are the basic "methods and concepts" behind UNIX as it came from AT&T. Almost everything beyond that came from elsewhere.

Most good research libraries will have a full set of BSTJ; this was an openly published periodical.

  View Printable Version

Groklaw © Copyright 2003-2013 Pamela Jones.
All trademarks and copyrights on this page are owned by their respective owners.
Comments are owned by the individual posters.

PJ's articles are licensed under a Creative Commons License. ( Details )