Softpanorama
(slightly skeptical) Open Source Software Educational Society

May the source be with you, but remember the KISS principle ;-)

Google   


Softpanorama Bookshelf:

OS Algorithms and Design Principles

Maintained by Dr. Nikolai Bezroukov.
Links and bibliographical information
about the books are prepared in
association with Amazon.com

News

Recommended Introductory Books

Kernel Internals

Device Drivers

Unix System Calls

Recent books (1995-1998)

Old books (published on or before 1995)

Etc


Search Amazon by keywords:

 You can use Honor System to make a contribution, supporting this site

The real classic in this field is Lions' Commentary on Unix : With Source Code

 


News

Amazon.com Books UNIX Filesystems Evolution, Design, and Implementation
by Steve D. Pate

5 out of 5 stars Finally, a decent book on filesystems!, January 25, 2003

  Reviewer: A reader from Dallas, Tx

Finally, a book that describes all the major UNIX file systems!

In an eloquent writing style, Steve Pate has put together the best book on file systems. It is the first book to describe the internals of one of the most important of the commercial file systems: the Veritas File System (VxFS).

The book starts out with a concise history of UNIX and UNIX variants and some file system basics before diving into programming topics. The middle chapters discuss the UNIX/File System internals in a clear and easy to read manner. My favorite chapter was Chapter 9, a detailed look at VxFS! The later chapters describe kernel locking primitives used by file systems, pseudo file systems, and finally chapters 12 and 13 do a nice job covering file system backups and cluster /distributed file systems. As an added bonus, you actually get to design a file system for gnu/linux! Steve Pate does a creditable job showing what it takes to write a simple file system.

No matter if you are a programmer, system administrator or IT professional, this book as something for you. No other book even comes close to the depth that "UNIX Filesystems" provides.

The only negative points I had with "UNIX Filesystems" was that it was not printed in hardback form and the paper quality is poor. Shame on you, Wiley!

[June 15, 2001] "Operating Systems Handbook" is now available for free as a collection of Acrobat
files. See www.snee.com/bob/opsys.html.

Linux Core Kernel Commentary -- Scott A. Maxwell; Paperback

Our Price: $31.99
You Save: $8.00 (20%)
Availability: Usually ships within 24 hours.

Paperback - 575 pages Bk&Cd Rom edition (October 20, 1999)
The Coriolis Group; ISBN: 1576104699 ; Dimensions (in inches): 1.70 x 8.37 x 11.04
Amazon.com Sales Rank: 19,951
Avg. Customer Review: 3 out of 5 stars
Number of Reviews: 5

ERCB Linux Core Kernel Commentary

The biggest single drawback to Linux Core Kernel Commentary is how little of Linux it covers, out of necessity. (The book is already thick and oversized, even by computer book standards.) As Maxwell points out on page 441, about 39,000 lines of code are presented in the book, chosen from over 1.7M lines in the 2.2.5 kernel. Even taking into account the platform-specific parts of the kernel, which are understandable omissions, this still pushes out some of the most interesting and visible parts of Linux, such as I/O and command shells. Other areas of interest that aren't part of the kernel (such as X and device drivers) aren't covered, but would presumably make good topics for other volumes.

Even though Maxwell does an excellent job with many different concepts and countless details, the book still suffers just slightly from myopia. There's simply so much detail about the trees, even this small subset of them, that there's not much room for a description of the forest.


Recommended Introductory Books

The Linux Kernel Book

William Stallings

Silberschatz and Galvin(SG)

Charles Crowley

Tanenbaum, et al

 
**** The Linux Kernel Book
Remy Card, et al / Paperback / Published 1998
Mini Review
 
Despite its Linux-oriented title this is a very good introductory OS concepts book. It covers almost all necessary for the introductory OS course concepts and provides a lot of insights into the real operating system. I bought the very first printing of the book. This a bad translation from French, so there are a lot of errors that probably were corrected in later printings. Anyway the translation errors probably are more distracting for native English speakers that for me as a foreigner. For me they are sometimes annoying, but do not hamper much this very well organized book that contains a wealth of information about Linux and simultaneously about all Unix-type systems. Highly recommended.
 
Remy Card is a well known Linux personality (he worked with Linus Torvalds on several Minix tools) actively involved with the port of the 4.4BSD dump and restore backup suite and ext2f filesystem. See for example the slides which he prepared for the 3rd International Linux Conference in Berlin ftp://tsx-11.mit.edu:/pub/linux/packages/ext2fs/slides/berlin96 Four sets of slides are available: two-up slides on quotas, one-up slides on quotas, two-up slides on ACL's, and one-up slides on ACL's.

Here are some programms that he wrote for ext2f:

Table of Contents
 
General Overview.
Development with Linux.
Processes.
Signals.
Filesystems.
Input/Output.
Memory Management.
POSIX Terminals.
Communication by Pipes.
IPC System V.
Loadable Modules.
System Administration.
Appendices.
References.
Index.

***** Lions' Commentary on UNIX 6th Edition, with Source Code by John Lions

 


***+ Operating Systems : Internals and Design Principles
William Stallings / Hardcover / Published 1997  - 3-d edition

Mini Review

Newer and probably somewhat better than Silberschatz and Galvin textbook. Still leave the reader cold and contains a lot of material that currently is not relevant to the topic. Very expensive ($65). Covers more modern concepts that SG book(see below), provides good pseudocode, seems to have good writing, and can serve as a reference when the term is over.  Winner of the 1998 Texty Award for the best Computer Science and Engineering textbook, awarded by the Text and Academic Authors Association, Inc.

Instructors that use the book:

From Prentiss Hall page:

Winner of the 1998 Texty Award for the best Computer Science and Engineering Textbook, which is given by the Text and Academic Authors Association!
Blending up-to-date theory with modern applications, this book offers a comprehensive treatment of operating systems with an emphasis on internals and design issues. A complete instructor's support package is available on-line at: http://www1.shore.net/nws/

Are you interested in an operating systems text that uses windows NT and Solaris as running case studies?

Instructor Support

Web site at http://www.shore.net/~ws/OS3e projects with NACHOS, OSP, BACI that includes:

TOC.

I. BACKGROUND.

II. PROCESSES.

III. MEMORY.

IV. SCHEDULING.

V. INPUT/OUTPUT AND FILES.

VI. DISTRIBUTED SYSTEMS.

VII. SECURITY.


*** Operating System Concepts by
Abraham Silberschatz, Peter Baer Galvin / Hardcover / November 1997/ 888 pages

Mini review

Good exercises. Very uneven, sometimes outdated and poorly organized text. Mainly obsolete bibliography without any html references. Approximately half of chapters are obsolete. A dinosaur mascot at the beginning of each chapter is a relevant warning ;-)

This is the fifth edition. The first one was in 1991 and patches are visible in the text. The age of the book is now evident in each and every chapter. It looks like the text needs complete rewriting, not just new edition patches. Despite all this AFAK this book is probably most popular book for US university courses, although I personally find it dull. I suspect many students will hate the course and all OSes after using it :-).

The content is mainly text with very few programs, so the book can be classified as "theory approach" book (compare with "example approach" ). Book contains useful exercises after each chapter -- important plus for the textbook.   Slides for the the course are  also available, but due to faults in the book organization an instructor probably will be better creating his/her own slides. Sometimes theory is rather uncomplete and it look like none of the authors have first hand experience on the subject. The book does contain an excellent  overview of Linux --  chapter 22 is probably one of the best in the book.  At the same time the book contains superficial and uncritical chapter on NT.

Some comments on chapters.

Chapters 1-3 are not impressive. Most material is outdated. Presentation is dull.

Ch. 4 (Processes) covers the subject but does not cover any important details. General diagram of process states given, but no explanation of differences in real operating systems (Unux, NT) was given. No mention of zomby processes. All biblographic references are more than five years old (pre 93).  Good set of questions thou.

Ch. 5 (CPU scheduling) is decent

Chapters 10-17 are extremely weak. Moreover they are very poorly organized. IMHO only chapters 4-9 and 21-22 can be considered decent, but even for them a dynosource mascot at the beginning of each chapter is a relevant warning ;-)

Coverage of Linux is better in the latest edition  (Chapter 22 is very good, one of the best in the book. It was derived from unpublished manuscript by Stephen Tweedie).  The book also contain one (superficial and uncritical) chapter on NT.

The first author write books mainly about database systems  (see Database System Concepts -- also in many editions). The second author had wrote only one additional book -- Using UNIX With CDROM. At least he is a Unix guy, not database academician :-).

There should be better books on the subject. An interested reader may try Operating Systems: Internals and Design Principles  by William Stallings (more recent -- first published in 1995, third edition was published 1997; used in a dozen of American universities; it won a major prize recently)  or  Operating Systems A Design-Oriented Approach by Charles Crowley  (also published in 1997; used in Florida State University and The University of New Mexico). It contains code for an example operating system written by the author, so the author probably at least partially know what he is writing about ;-). See his Web-page at http://www.cs.unm.edu/~crowley/osbook/begin.html for additional details.  BTW he is a TCL guru and authored one book on TCL. Disclaimer: I am in no way connected with any of the authors of two books mentioned above.


Operating Systems : A Design-Oriented Approach
Charles Crowley / Hardcover / Published 1997

Mini review

There have always been two approaches to teaching Operating Systems concepts:

There are advantages and disadvantages to both approaches. Some people feel the ideal situation is to take both classes, but this is rarely possible in an already crowded computer science curriculum so one is required to make a choice. The author have tried a middle course. This book is basically a concepts oriented book with more code than is usual. Seeing actual code allows the students to understand the concepts more deeply, feel more comfortable about the material, and ask questions they wouldn't have thought to ask in a purely concepts oriented course. The code does not comprise a complete operating system however and it as simple as possible in order to reduce the number of pages devoted to explaining it.

See the author home page: Operating Systems A Design-Oriented Approach by Charles Crowley (University of New Mexico)

Used in Florida State University: COP 4610 - Introduction to Operating Systems


Minux based courses

Operating Systems : Design and Implementation 
Andrew S. Tanenbaum, et al / Hardcover / Published 1997

Mini Review

Book includes Minix that serves as a prototype for Linux. that makes books as close to classic as one can get. Andrew S. Tanenbaum is a well known author of several popular CS books including:


Kernel Internals

***+ Design of the Unix Operating System
Marice J. Bach / Hardcover / Published 1986
 
Mini Review
Classic -- was used by Linus Torvalds for reengineering Unix kernel.
The Design and Implementation of the 4.4BSD Operating System (Unix and Open Systems Series.)
Marshall Kirk McKusick (Editor), et al / Hardcover / Published 1996
Unix Internals : A Practical Approach 
Steve D. Pate /Addison-Wesley Hardcover / Published 1996
SCO oriented
**** The Magic Garden Explained : The Internals of Unix System V Release 4 : An Open Systems Design
Berny Goodheart, James Cox / Paperback / Published 1994
        Complete algorithms (in pseudo code) provide a glimpse into the elegance of the OS.
 
Linux Kernel Internals
Michael Beck (Editor), et al / Paperback / Published 1997
Unix Internals : A Systems Operations Handbook
Myril Clement Shaw, Susan Soltis Shaw / Published 1987

Unix Systems Calls

[Rochkind86] Advanced Unix Programming
Marc J. Rochkind / Paperback / Published 1986
A very good book that really teach Unix system calls. Although published in 1986 is still relevant. Recommended
Unix System Architecture
Prabhat K. Andleigh, Prabhat Andleigh / Paperback / Published 1989
 
Advanced Programming in the Unix Environment
W. Richard Stevens / Hardcover / Published 1992
Read more about this title...
 
Advanced Topics in Unix
Ronald J. Leach / Paperback / Published 1994
Read more about this title...

Device Drivers

Both books below are probably obsolete with the introduction if Unix Universal Driver Model by Intel

Writing Unix Device Drivers
George Pajari / Paperback / Published 1992
Linux Device Drivers
Alessandro Rubini / O'Relly Paparback / Published 1998

Recent Books (published on or after 1995)

Operating Systems : A Modern Perspective
Gary J. Nutt / Hardcover / Published 1997
 
Understanding Operating Systems
Ida M. Flynn, Ann McIver McHoes / Paperback / Published 1997

1995

Operating Systems Programming : The Sr Programming Language
Stephen J. Hartley / Paperback / Published 1995

Old Books (published before 1995)

1994

The Operating Systems Handbook : Unix, Openvms, Os/400, Vm, and MVS  e-text is now available as a collection of Acrobat
files from www.snee.com/bob/opsys.html.
Bob Ducharme / Hardcover / Published 1994

1993

Introduction to Operating Systems
William A. Shay / Hardcover / Published 1993
 
P.S. to Operating Systems
Larry Dowdy, Craig Lowery / Paperback / Published 1993
 
Fundamentals of Operating Systems
A.M. Lister, R.D. Eager / Paperback / Published 1993
 
Operating Systems : Bridging the Gap Between Hardware and User
Joachim Heusler (Editor) / Hardcover / Published 1993
 
Operating Systems : A Practical Approach
Robert Switzer / Paperback / Published 1993

1992

Operating Systems : A Systematic View
William S. Davis / Hardcover / Published 1992
 
Operating Systems : Concepts and Design
Milan Milenkovic / Hardcover / Published 1992

1990

Principles of Operating Systems
Sacha Krakowiak, et al / Paperback / Published 1990
 

1980-1990

An Introduction to Operating Systems
Harvey M. Deitel / Hardcover / Published 1989

D. Comer, Operating System Design: The XINU Approach, Englewood
Cliffs, NJ: Prentice Hall, 1984.

L. Bic & A. C. Shaw, The Logical Design of Operating Systems,
Englewood Cliffs, NJ: Prentice Hall, 1988.

Fundamentals of Operating Systems
Andrew M. Lister / Paperback / Published 1985
 
Operating Systems
Harold Lorin / Hardcover / Published 1980
 
Operating Systems : Advanced Concepts
Mamoru Maekawa, et al / Hardcover / Published 1987
 
Operating Systems : Structures and Mechanisms
Philippe Janson / Hardcover / Published 1985
 
Operating Systems Theory and Practice
Paul Massie / Hardcover / Published 1987
 
Operating Systems Through Unix
Glyn Emery / Paperback / Published 1985
 
A Practical Course on Operating Systems
Colin J. Theaker, Graham R. Brookes / Paperback / Published 1983

Earlier than 1980

Operating Systems
Stuart Madnick, John J. Donovan / Hardcover / Published 1974 -- one of the best book on OS construction I ever read. System 370 oriented.

Etc

Debugging with Gdb The GNU Source-Level Debugger for Version 4.17


Copyright © 1996-2007 by Dr. Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. Submit comments This document is an industrial compilation designed and created exclusively for educational use and is placed under the copyright of the Open Content License(OPL). Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

Standard disclaimer: The statements, views and opinions presented on this web page are those of the author and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.

Last modified:  February 28, 2008