Principles of Computer System Design: An Introduction

·
· Morgan Kaufmann
2.5
4 reviews
Ebook
560
Pages
Eligible

About this ebook

Principles of Computer System Design is the first textbook to take a principles-based approach to the computer system design. It identifies, examines, and illustrates fundamental concepts in computer system design that are common across operating systems, networks, database systems, distributed systems, programming languages, software engineering, security, fault tolerance, and architecture.

Through carefully analyzed case studies from each of these disciplines, it demonstrates how to apply these concepts to tackle practical system design problems. To support the focus on design, the text identifies and explains abstractions that have proven successful in practice such as remote procedure call, client/service organization, file systems, data integrity, consistency, and authenticated messages. Most computer systems are built using a handful of such abstractions. The text describes how these abstractions are implemented, demonstrates how they are used in different systems, and prepares the reader to apply them in future designs.

The book is recommended for junior and senior undergraduate students in Operating Systems, Distributed Systems, Distributed Operating Systems and/or Computer Systems Design courses; and professional computer systems designers.
  • Concepts of computer system design guided by fundamental principles
  • Cross-cutting approach that identifies abstractions common to networking, operating systems, transaction systems, distributed systems, architecture, and software engineering
  • Case studies that make the abstractions real: naming (DNS and the URL); file systems (the UNIX file system); clients and services (NFS); virtualization (virtual machines); scheduling (disk arms); security (TLS)
  • Numerous pseudocode fragments that provide concrete examples of abstract concepts
  • Extensive support. The authors and MIT OpenCourseWare provide on-line, free of charge, open educational resources, including additional chapters, course syllabi, board layouts and slides, lecture videos, and an archive of lecture schedules, class assignments, and design projects

Ratings and reviews

2.5
4 reviews
A Google user
October 5, 2009
I am going into my fifth and final year as an undergraduate computer engineering student. I can say, in all honesty, and without hesitation: this is the worst textbook that I have ever used. It's hard to understand, and for all of the effort that you will put into trying to get what the author's saying, you will learn very little. There are two main problems with the book. First, it spends too much time making analogies to non-technical systems (the pyramids in Egypt, juries in a trial, etc) without tying them into how these analogies apply to anything. There was a large section in the book that was about context: the book explained what context was with at least four different analogies, but never explained how it directly applies to computers. The second problem is this: when the authors do speak about technology, you cannot follow what they are saying. They are either talking very far above the average person's level, or they cannot decide on one idea to stick with per sentence: I haven't decided which of these two the writing suffers from. Either way though, the result is the same: large sections are nearly incomprehensible. As an example, here is a sentence from the book: "Programming languages that use static scope and closures provide a much more systematic scheme for modular sharing of named objects within the different parts of a large application program, but comparable mechanisms are rarely found in file systems or in merging applications such as the word processing and spell-checking systems..." Even after reading the book and knowing what the author means by "static scope", "closures", "systematic scheme", and the rest of the technical vocabulary that litters the sentence, it's still nearly impossible to follow. All in all, if there is any other option, I would wholeheartedly recommend that you take it. Stay away from this book.
Did you find this helpful?
A Google user
January 15, 2012
I totally agree with the original review is 100% accurate. I have tried to come to terms with why a University would assign this text for an Operating and Networking class. It is one of the most difficult textbooks I've ever had to use for a course, it uses too many anologies that have nothing to do with the course title or the books subject matter. It has no clarity! If possible it should be give a -star rating; I can't believe it took two people to author this!
Did you find this helpful?

Rate this ebook

Tell us what you think.

Reading information

Smartphones and tablets
Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.
Laptops and computers
You can listen to audiobooks purchased on Google Play using your computer's web browser.
eReaders and other devices
To read on e-ink devices like Kobo eReaders, you'll need to download a file and transfer it to your device. Follow the detailed Help Center instructions to transfer the files to supported eReaders.