|
Softpanorama |
May the source be with you, but remember the KISS principle ;-)
|
Maintained by Dr. Nikolai Bezroukov.
Links and bibliographical information
about the books are prepared in
association with Amazon.com
|
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
Amazon.com Books UNIX Filesystems Evolution, Design, and Implementation
by
Steve D. Pate
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:
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.
Here are some programms that he wrote for ext2f:
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?
- The use of Windows NT, UNIX SVR4, and Solaris 2.x as running case studies through the book motivates the material and enhances understanding.
- Expanded treatment of multithreading and object-oriented design, together with new coverage of microkernels, SMP, and clusters.
- Provides a solid understanding of the key mechanisms of operating systems and the types of design trade-offs and decisions.
- A broad and unified treatment of distributed operating systems thoroughly covers this area of increasing importance, including process and thread migration, distributed file systems, mutual exclusion and deadlock, and clusters.
- Solid treatment of virtual memory, concurrency, scheduling, I/O, and file systems.
- Includes a new appendix on operating systems .
Instructor Support
Web site at http://www.shore.net/~ws/OS3e projects with NACHOS, OSP, BACI that includes:
- PDF transparencies of figures and tables from the book
- a complete set of Powerpoint slides to be used for lecturing or course handout
- several online programming projects, links to relevant web sites, and links to web sites set up by other instructors using the book.
TOC.
I. BACKGROUND.
1. Computer System Overview.
2. Operating System Overview.II. PROCESSES.
3. Process Description and Control.
4. Threads, SMP, and Microkernels.
5. Concurrency,: Mutual Exclusion, and Synchronization.
6. Concurrency: Deadlock and Starvation.III. MEMORY.
7. Memory Management.
8. Virtual Memory.IV. SCHEDULING.
9. Uniprocessor Scheduling.
10. Multiprocessor and Real-Time Scheduling.V. INPUT/OUTPUT AND FILES.
11. I/O Management and Disk Scheduling.
12. File Management.VI. DISTRIBUTED SYSTEMS.
13. Distributed Processing, Client/Server, and Clusters.
14. Distributed Process Management.VII. SECURITY.
15. Security.
Appendix A. Queuing Analysis.
Appendix B. Object-Oriented Design.
Appendix C. Programming and Operating System Projects.
Appendix D. OSP: An Environment for Operating System Projects.
Appendix E. BACI: The Ben-Ari Concurrent Programming System.
Glossary.
References.
Index.
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.
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
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:
Both books below are probably obsolete with the introduction if Unix Universal Driver Model by Intel
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.
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