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
UNIX UNLEASHED
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 Amazon.com:
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:
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:
ISSN0005-8580
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
BLTJ
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
http://www.amazon.com/gp/product/020187721X/sr=1-3/qid=1146485142/ref=pd_bb
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:
http://uw713doc.sco.com/en/HDK_basics/scodb_run2_osr.html
http://osr600doc.sco.com/en/HDK_basics/scodb_run2_osr.html
http://osr507doc.sco.com/en/SCODB/scodb_run2.html
"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
rootprompt.org
, 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.
http://www.amazon.com/gp/product/0830629513/103-780283
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 :
OPERATING SYSTEM:DESIGN AND
IMPLEMENTATION ANDREW S. TANENBAUM Prentice
Hall, Inc. 1984 ISBN/ISSN :
0-13-637331-3
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".
|