Paperback: 471 pages
Publisher: Prentice Hall; 1st edition (June 6, 1986)
Product Dimensions: 6.9 x 1.1 x 8.9 inches
Shipping Weight: 2 pounds (View shipping rates and policies)
Average Customer Review: 4.7 out of 5 stars See all reviews (31 customer reviews)
Best Sellers Rank: #162,232 in Books (See Top 100 in Books) #25 in Books > Computers & Technology > Programming > APIs & Operating Environments > Operating Systems Theory #66 in Books > Computers & Technology > Operating Systems > Unix #183 in Books > Textbooks > Computer Science > Operating Systems
I'm something of an OS freak (not an expert though) and I collect OS books. I've read many of the classics of the field but I think this book is the crowning achievement of OS literature. Here are the arguments to support my claim:a) It does not go into explaining general OS theory, thus all space can be dedicated to explaining the details of one operating system (Unix System V Release 2). This of course makes it unsuitable for begginers as it assumes you have a good understanding of basic concepts like race conditions, mutual exclusion, data structures, etc. If you're a begginer don't buy this book yet; get "Operating Systems - Design and Implementation" by Tanenbaum & Woodhull or "Operating System Concepts" by Silberschatz, Galvin and Baer.b) It details EVERY algorithm with C-like pseudocode and adds verbal explanations exemplifying operations running through the algorithms. This is unlike other OS books which sometimes just give general descriptions of algorithms with no examples.c) Explanations are complemented by many diagrams of data structures in various states of manipulation by the algorithms. This is possibly the most valuable feature of the book as it does wonders to help you understand what the kernel is doing; you get to 'see' how the algorithms work. This sets it apart from practically all other OS books I've read that just mention in passing "... then function 'x' manipulates data structure 'y'" and leave you to find out the implications of these manipulations. Diagrams also make the book superior to mere code listings.d) Each chapter 'uses' the algorithms explained in the previous chapter to explain higher level functionality.
While there may be more detail to be found in "The Magic Garden," or more up-to-date coverage in the likes of Vahalia or Schimmel, Bach's opus is, in the view of this twenty-plus-year UNIX guru, unmatched. I say this because only while reading Bach's book do I experience the sense of philsophic structural perfection, of tool-orientation, of practicality-versus-theoretic-efficiency tradeoff, that characterizes the earliest UNIX monographs (Ritchie, Kernighan, Bourne, Lycklama, Ossana; that sort of thing) that busied me as a freshman. Bach imparts to the reader a glorious--and gloriously holistic--depiction of the structure of the UNIX kernel as a unit. Algorithmic details are provided where appropriate. Exceptionally well thought-out exercises stimulate the reader to extend the textual material where meet. The material is assuredly out of date, but I dare you to critize, say, Lions as being "out of date" (whether or not it describes a 25-year-old, 9K-LOC kernel, it is a scripture of paramount importance, a cornerstone of my computer engineering [n.b.: I didn't say "computer science"] library).For those who are wont to compare Leffler and Bach--if for no other reason than that they are coevals--I heartily endorse Bach over its competitor. It's nice. It's clean. It's precise. You just couldn't ask for more. And, BTW, stay away from "The Magic Garden." I'm not sure that five hundred pages worth of out-of-context code excerpts, inundating the reader with thousands of kernel variables, accomplishes much by way of imparting conceptual understanding.(I'm reminded: a customer of mine--an older gentleman with a Ph.D. in physics--once asked me for a concise description of the workings of UNIX, something that introduced the basic concepts at a scholarly but not overweight level.
Linux: Linux Mastery. The Ultimate Linux Operating System and Command Line Mastery (Operating System, Linux) The Design and Implementation of the 4.4 BSD Operating System (Addison-Wesley UNIX and Open Systems Series) The Design of the UNIX Operating System Create Your Own Operating System: Build, deploy, and test your very own operating systems for the Internet of Things and other devices Multi-Operating System Networking: Living with UNIX, NetWare, and NT Learning the UNIX Operating System, Fifth Edition First Unix: A freshman's guide to Unix/Linux system administration Mastering Unix Shell Scripting: Bash, Bourne, and Korn Shell Scripting for Programmers, System Administrators, and UNIX Gurus Gilbert American Flyer S Gauge Operating & Repair Guide: Volume 2 (Gilbert American Flyer S Gauge Operating and Repair Guide) Greenberg's Repair and Operating Manual for Lionel Trains, 1945-1969: 1945-1969 (Greenberg's Repair and Operating Manuals) Instrumentation for the Operating Room: A Photographic Manual, 6e (Instrumentation for the Operating Room ( Brooks-T)) Integrating UNIX and PC Network Operating Systems Shell Programming in Unix, Linux and OS X: The Fourth Edition of Unix Shell Programming (4th Edition) (Developer's Library) UNIX Shell Scripting Interview Questions, Answers, and Explanations: UNIX Shell Certification Review UNIX in a Nutshell: System V Edition: A Desktop Quick Reference for System V Release 4 and Solaris 2.0 (In a Nutshell (O'Reilly)) USB: The Universal Serial Bus (FYSOS: Operating System Design Book 8) The Design and Implementation of the FreeBSD Operating System (2nd Edition) Operating System, Job Control Language and Utilities: A Comprehensive Treatment The Practice of Cloud System Administration: Designing and Operating Large Distributed Systems, Volume 2 Linux for Beginners: An Introduction to the Linux Operating System and Command Line