Product Description
Serving as both a basic reference and an up-to-date survey of the state of the art, this book covers the concepts, structure, and mechanisms of operating systems. Stallings presents the nature and characteristics of modern-day operating systems clearly and completely. Updated treatment of Windows as a case study to cover Windows Vista. Online animations with references incorporated throughout. A new chapter on Embedded Operating Systems. Part Six (Di… More >>
Operating Systems: Internals and Design Principles

I have taught operating systems at the graduate level for the last 5 years. In other areas of computer science, I’ve been spoiled by classic textbooks (e.g. Aho, Sethi and Ullman’s “Compilers: Principles Designs and Tools”, aka “The Dragon Book” for compiler design, Hennessy and Patterson’s “Computer Architecture a Quantitative Approach”, etc.) Computer Operating systems is a mature field, yet no textbook reaches classic stature in Operating Systems. Previous editions of the textbook have had serious errata in the problem sets (it i embarrassing to assign unsolvable problems to students) I no longer use any problems from this book as a result.
However, among Operating Systems textbooks, there are primarily 2 categories, those with example code (e.g. Tannenbaums) and survey books. This is a survey book (sometimes called theoretical, but not in the Automata Theory or Algorithms sense). It has some overview of design principles and some analysis, which makes it better than the others I’ve seen, but still leaves a bit to be desired, I feel it is still a bit too qualitative. I’d like to see more back of the envelope analysis (like say Patterson and Hennessy’s book). The section on scheduling is pretty good, with some nice analysis, and the queueing theory section is useful for first year grads and upper division undergrads. Still, I need to assign quite a bit of additional literature.
Rating: 4 / 5
My Operating Systems course used this book and we were assigned chapters to read every week. It was incredibly painful. This book does not read well at all. The ideas aren’t very well motivated. Many times, Stallings just enumerates a list of alternate strategies for solving a problem without talking AT ALL about how the strategies came or why we should think about all these different strategies in the first place. He just lists and describes them. Very dry.
I eventually stopped reading the book and just used it as a reference when doing our open book online quizzes. This worked well. It’s easy to find specific information (“How does Round Robin Scheduling work?”) and the explanations are reasonably clear and concise. But if you’re trying to actually read it sequentially to get the general idea, you’re in for some pain (and sleepiness).
Rating: 2 / 5
Its is by far the worst written textbook I have ever used. While the book touches on almost every type of OS design, it does so hap-hazardly, and without explaining why those designs were chosen. In short, Dr. Stallings writing style could use some improvement. The book is filled with wordy, redundant sentences, and pointless filler in almost every paragraph. What’s worse, the book misuses list and figures – many lists have over 10 bullets (generally with a few paragraphs of explanation under them), and most of the figures are over annotated, and look too similar. Why bother to make list and figures if they must be explain by paragraph after paragraph of poorly worded pros?
…And it gets worse! Thought-out the whole book, Dr. Stallings fails to provide even one snippet of compliable code. The book rarely mentions how an OS designer would go about implementing his or her ideas, even though OS design is decidedly low-level – details are probably just as important as overall design for OSes.
Finally, the homework has nothing to do with what is covered in the book, and is horribly worded to boot. In one question, Stallings ask readers to “. describe exactly, in general…” How do I describe something exactly while keeping it general? This isn’t the only question that leaves readers scratching their heads, in fact, I would say that no question is to the point, and manages to express what it is really asking.
Rating: 1 / 5
Based on content alone I’d probably have given this book three stars. It contains a lot of outdated (read: mainframe-centric) information which I could probably overlook as an artifact of this being an old back that has been updated through the years to reflect the more PC-centric nature of the industry.
Unfortunately, I have to subtract a star because some of the problems at the ends of the chapters CAN’T BE ANSWERED BY THE INFORMATION CONTAINED WITHIN THE BOOK! Yep, you heard right, it has problems that relate to concepts not covered in the book. For example, in chapter 11 there are questions (11.7, 118) about record formats on magnetic tape that requires knowledge of concepts not covered anywhere in the chapter or elsewhere in the book.
Another interesting example of this is in chapter 1, which includes some problems (1.3, 1.4, 1.5) related to hardware concepts never discussed. What’s particularly interesting about these questions is that they’re IDENTICAL to questions asked in a different book (by a different author, Dr. Nikitas Alexandris) titled “Computer Systems Architecture: Microprocessor-Based Designs.” That book actually COVERS the topics upon which the questions are based. What a concept, huh? Hopefully Dr. Alexandris knows that the questions from his title have been “borrowed” for this one, but in any case the questions are completely out of place in this book since it doesn’t give the reader the information to be able to answer them.
Rating: 2 / 5
This book on operating systems compares a few operating systems, and Windows NT is taken as model. It does not go too much in depth technically, so it is easy to read and understand. The topic of memory management, virtual memory, and scheduling is also covered in this book; topics not easily found elsewhere all in one book.
Rating: 5 / 5