Computer Systems(Second Edition)

Randal E. Bryant, David R. O'Hallaron

出版时间

2010-02-14

ISBN

9780136108047

评分

★★★★★
书籍介绍
For Computer Systems, Computer Organization and Architecture courses in CS, EE, and ECE departments. Few students studying computer science or computer engineering will ever have the opportunity to build a computer system. On the other hand, most students will be required to use and program computers on a near daily basis. Computer Systems: A Programmer's Perspective introduces the important and enduring concepts that underlie computer systems by showing how these ideas affect the correctness, performance, and utility of application programs. The text's hands-on approach (including a comprehensive set of labs) helps students understand the "under-the-hood" operation of a modern computer system and prepares them for future courses in systems topics such as compilers, computer architecture, operating systems, and networking. Visit the CSS:AP web page http://csapp.cs.cmu.edu for more information and resources.
AI导读
核心看点
  • 程序员视角解读系统,打通软硬件壁垒
  • CMU经典教材,配套实验极具挑战性
  • 涵盖数据表示、汇编、性能优化等核心
适合谁读
  • 计算机专业本科生及研究生
  • 希望深入理解底层原理的开发者
  • 准备系统级面试或考研的学生
读前提醒
  • 务必动手完成书中Lab,否则效果减半
  • 内容厚重,建议配合视频课程同步学习
  • 不必死磕所有细节,重在建立宏观视野
读者共识
  • 公认的计算机系统入门神书,必读经典
  • 实验难度极大,被称为劝退或补天书
  • 讲解清晰透彻,适合自学与教学使用

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "We use the term concurrency to refer to the general concept of a system with multiple, simultaneous activities, and the term parallelism to refer to the use of concurrency to make a system run faster."
  • "图5-22展示了做 k 次循环展开和 k 路并行变换的效果,k 最大为 6。我们可以看到,随着 k 值的增加,所有合并情况的 CPE 都增加了。对于整数乘法和浮点数运算,我们看到 CPE 的值为 L/k,这里 L 是操作的延迟,最高可以得到吞吐量界限 1.00。我们还看到使用标准的展开,整数加法也达到了这个界限。"
  • "总结一下,我们考虑无符号与补码表示之间互相转换的结果。对于在$0 \le x \le 2^{w-1}$范围内的值$x$而言,我们得到$T2U_w(x)=x$和$U2T_w(x)=x$。也就是说,在这个范围内的数字有相同的无符号和补码表示。对于这个范围意外的数值,转换需要加上或者减去$2^w$。"
  • "C语言是系统级编程的首选,同时它也非常适用于应用级程序的编写。然而,它也并非适用于所有的程序员和所有的情况。C的指针是造成困惑和程序错误的一个常见原因。同时,C还缺乏对一些有用抽象的显式支持,例如类、对象和异常。"
  • "This book is written for a programmer's perspective, describing how application programmers can use their knowledge of a system to write better programs."
  • "Building high-performance Web servers.Many Web servers generate dynamic content, such as personalized Web pages, account balances, and banner ads. Early Web servers generated dynamic content by using fork and execve to create a child process and run a “CGI program” in the context of the child. Howev"
  • "But if we had a 32-bit address space, 4KB pages, and a 4-byte PTE[page table entry, 杨注], then we would need a 4MB page table resident in memory at all time..."
  • "我个人的经验是,有许多系统设计和概念,看似简单或不理解,可一旦自己动手做同样的试验,才明白当初设计者为什么要如此设计。计算机系统就像自然界的生态环境,对每一个部件的设计都要求它能够与系统其它部件和平相处,我们不能站在一个微观的视角去看待系统部件的设计是否最优,而应该从宏观来观察和思考"
下载
收藏