Principles of Computer System Design

Jerome H. Saltzer, M. Frans Kaashoek

出版时间

2009-07-07

ISBN

9780123749574

评分

★★★★★
书籍介绍
这不是一本教你写代码的书,而是一本教你如何像架构师一样思考的系统设计经典。作为MIT 6.033课程的教材,它刻意跳出具体语言与框架,从操作系统、网络、数据库、分布式系统、安全等真实案例中,提炼出少数几类反复出现的抽象——内存、解释器、通信链路,以及客户端/服务、分层、消息传递等组织方式。读者最看重的,正是这种
AI导读
核心看点
  • 提炼跨领域通用设计原则,涵盖OS、网络与分布式系统。
  • 深入解析RPC、分层、一致性等核心抽象概念及其实现。
  • 通过MIT 6.033课程案例,展示如何应对系统复杂性。
读者共识
  • 被誉为系统设计入门最佳书籍,内容硬核且极具启发性。
  • 评价两极分化,有人视其为经典,有人嫌其啰嗦不实用。
  • 习题设计精妙,能有效印证并反思实际项目中的设计问题。
精彩摘录
  • "Incommensurate scaling: as a system increases in size or speed, not all parts of it follow the same scaling rules, so things stop working."
  • "Coping with complexity:Iteration 1.Design for iteration:easy to change 2.Document the assumptions 3.Take small steps 4.Don't rush to implementation 5.Plan for feedback - bugreports,etc 6.Study failures rather than assign blame for them. 7.Constantly be on guard to make overall design clean despite i"
  • "Although the number of potential abstractions for computer system components is unlimited, remarkably the vast majority that actually appear in practice fall into one of three well-defined classes: the memory, the interpreter, and the communication link. These three abstractions are so fundamental t"
  • "One way to limit interactions between software modules is to organize systems as clients and services. In the client/service organization, modules interact only by send- ing messages. his organization has three main benefits: 1.Messages are the only way for a programmer to request that a module prov"
  • "Layered design has proven to be especially effective, and it is used in some form in virtually every network implementation. The primary idea of layers is that each layer hides the operation of the layer below from the layer above, and instead provides its own interpretation of all the important fea"
  • "When techniques for at-least-once delivery (the persistent sender) and at-most-once delivery (duplicate detection) are combined, they produce an assurance that is called exactly-once delivery. This assurance is the one that would probably be wanted in an implementation of the Remote Procedure Call p"
  • "The sliding window appears to eliminate the need to know the network round-trip time, but this appearance is an illusion. The real challenge in flow control design is to develop a single flow control algorithm that works well under all conditions, whether the bottleneck is the sender’s rate of gener"
  • "This chapter has introduced a lot of concepts and techniques for designing and dealing with data communication networks. A natural question arises: “Is all of this stuff really needed?” The answer, of course, is “It depends.” It obviously depends on the application, which may not require all of the "
用户评论
6.033教材 抽象的讲系统工程 羡慕能上这门课的人
- 习题很有意思。尤其是用来印证自己做过的项目的设计问题。值得反复读。- 有机会再读,这个还是兴趣爱好 和 好奇心 还有mental model
只读了一部分。有些啰嗦。收获还是可以的。
看完8 9 10 三章,就算看完了,好累。这本书网络、操作系统、数据库、看多了就是各种实现细节乱炖,对实际上业务开发狗涨薪没有任何意义,纯属爱好。
下面说什么烂的或者是难读的都是扯淡,这是我见过的最好的系统设计或者说架构入门书籍之一。 尽管这书的名字是introduction,但是它涵盖的内容已经远远的超越了现在烂大街的傻逼湾区程序员的水平。
救命为什么都是一堆比喻➕名言警句啊呜呜呜 确实是以生活常见现象来帮助理解but对cs领域介绍度不够深入吧!
6.033
上半部分刚读过一半,内容比较高大上,尤其是下半部分。
下载
收藏