首页 > 其他分享 >好书推荐之《深入理解计算机系统》

好书推荐之《深入理解计算机系统》

时间:2022-09-18 08:00:05浏览次数:59  
标签:计算机系统 计算机 课程 如何 程序 程序员 好书 深入

大佬推荐

首先推荐的是翻译版图书《深入理解计算机系统》,原书名为《Computer Systems A Programmer’s Perspective》。不过,这本书叫做《程序员所需要了解的计算机知识》更为合适。

本书的最大优点是为程序员描述计算机系统的实现细节,帮助其在大脑中构造一个层次型的计算机系统。从最底层的数据在内存中的表示到流水线指令的构成,到虚拟存储器,到编译系统,到动态加载库,到最后的用户态应用。通过掌握程序是如何映射到系统上,以及程序是如何执行的,你能够更好地理解程序的行为为什么是这样的,以及效率低下是如何造成的。--左耳朵耗子(阿里资深技术专家P9)

简介

本书从程序员的视角详细阐述计算机系统的本质概念,并展示这些概念如何实实在在地影响应用程序的正确性、性能和实用性。全书共12章,主要内容包括信息的表示和处理、程序的机器级表示、处理器体系结构、优化程序性能、存储器层次结构、链接、异常控制流、虚拟存储器、系统级I/O、网络编程、并发编程等。书中提供大量的例子和练习,并给出部分答案,有助于读者加深对正文所述概念和知识的理解。

本书的最大优点是为程序员描述计算机系统的实现细节,帮助其在大脑中构造一个层次型的计算机系统,从最底层的数据在内存中的表示到流水线指令的构成,到虚拟存储器,到编译系统,到动态加载库,到最后的用户态应用。通过掌握程序是如何映射到系统上,以及程序是如何执行的,读者能够更好地理解程序的行为为什么是这样的,以及效率低下是如何造成的。

本书适合那些想要写出更快、更可靠程序的程序员阅读,也适合作为高等院校计算机及相关专业本科生、研究生的教材。

作者

Randal E.Bryant 1973年于密歇根大学(University of Michigan)获得学士学位,随即就读于麻省理工学院的研究生院,并在1981年获计算机博士学位。他在加州理工学院(California Institute of Technology)做了三年助教,从1984年至今一直是卡内基-梅隆大学的教师。他现在是计算机科学的大学教授和计算机科学学院的院长。他同时还受邀于电子和计算机工程系。

他从事本科生和研究生计算机系统方面课程的教学超过30年。在讲授计算机体系结构课程多年后,他开始把关注点从如何设计计算机转移到程序员如何在更好的了解系统的情况下编写出更有效和更可靠的程序。他和O’Hallaron教授一起在卡内基梅隆大学开设了15-213“计算机系统导论”课程,那便是此书的基础。他还教授一些有关算法、编程、计算机网络和VLSI(超大规模集成电路)设计方面的课程。

Bryant教授的主要研究内容是设计软件工具来帮助软件和硬件设计者验证其系统正确性。其中,包括几种类型的模拟器,以及用数学方法来证明设计正确性的形式化验证工具。他发表了150多篇技术论文。包括Intel、FreeScale、IBM和Fujitsu在内的主要计算机制造商都使用着他的研究成果。他还因他的研究获得过数项大奖。其中包括Semiconductor Research Corporation颁发的两个发明荣誉奖和一个技术成就奖,ACM颁发的Kanellakis理论与实践奖,还有IEEE授予的W.R.G.Baker奖、Emmanuel Piore奖和Phil Kaufman奖。他还是ACM院士、IEEE院士和美国国家工程院院士。

David R.O’Hallaron 现为Intel匹兹堡实验室主任,卡内基-梅隆大学电子和计算机工程系副教授。在弗吉尼亚大学获得计算机科学的博士学位。

他教授本科生和研究生的计算机系统方面的课程,例如计算机体系结构、计算机系统导论、并行处理器设计和Internet服务。他和Bryant教授一起开设了“计算机系统导论”课程,那便是此书的基础。2004年他获得了CMU计算机学院颁发的Herbert Simon杰出教学奖,这个奖项的获得者是基于学生的投票产生的。

O’Hallaron教授从事计算机系统领域的研究,主要兴趣在于科学计算、数据密集型计算和虚拟化方面的软件系统。其中最著名的是Quake项目,一群计算机科学家、土木工程师和地震学家致力于提高对强烈地震中大地运动的预测能力。2003年,他同Quake项目中其他成员一起获得了高性能计算领域中的最高国际奖项—Gordon Bell奖。

 

电子书籍下载

关注作者公众号:陶朱公Boy。回复关键字“计算机系统”进行下载。

标签:计算机系统,计算机,课程,如何,程序,程序员,好书,深入
From: https://www.cnblogs.com/StarbucksBoy/p/16704154.html

相关文章

  • 让我们深入了解 React 中的 useState 和 useRef Hooks
    让我们深入了解React中的useState和useRefHooksPhotoby沙哈达特·拉赫曼on不飞溅如果我问你什么是钩子,那么你会说钩子是类的替代品,可以让你在不编写类的情......
  • Logstash深入收集Nginx日志
    Logstash深入收集Nginx日志安装nginx[root@elkstack03~]#yuminstall-ynginx##主配置文件[root@elkstack03~]#cat/etc/nginx/nginx.confusernginx;worker......
  • Logstash深入收集Java日志
    Logstash深入收集Java日志没有修改Json格式在企业中,我们看到tomcat日志遇到异常(exception)一条日志可能是几行或者十几行甚至几十行,组成的,那么,我们需要将多行日志变成......
  • 深入 setState 机制
    React是通过管理状态来实现对组件的管理,即使用this.state获取state,通过this.setState()来更新state,当使用this.setState()时,React会调用render方法来重新渲染......
  • Collection集合中的 contains 和 remove 使用深入——要重写equals
    参考引用:http://t.csdn.cn/8z6sC 使用Collection集合中的contains,remove,removeall的时候,元素一定要重写equals方法,不然它里面的判断会容易出现“预期错误”。......
  • 深入理解 Linux的 I/O 系统
      传统的SystemCallI/O在Linux系统中,传统的访问方式是通过write()和read()两个系统调用实现的,通过read()函数读取文件到到缓存区中,然后通过write()方法......
  • 深入理解全文搜索引擎 Elasticsearch
    注:本文摘抄自:https://mp.weixin.qq.com/s/Q-QV86XntKniQlMohIaexQ生活中的数据搜索引擎是对数据的检索,所以我们先从生活中的数据说起。我们生活中的数据总体分为两种:结......
  • 干货 | 通用 api 封装实战,带你深入理解 PO
    ⬇️点击“下方链接”,提升测试核心竞争力!>>更多技术文章分享和免费资料领取在普通的接口自动化测试中,如果接口的参数,比如url,headers等传参改变,或者测试用例的逻辑、断言......
  • 如何读一本好书以及找到一本好书
    最近几年新出的书少读,没有经过历史的沉淀,经受不住考验的 1、出版社多次出版2、读书一定要写自己的观点(犀利),读书笔记(通、达、雅) 人物传记《乔布斯传》《穷查理宝典》......
  • Vue学习之--------深入理解Vuex之getters、mapState、mapGetters(2022/9/3)
    这一篇博客的内容是在上一篇博客的基础上进行:深入理解Vuex、原理详解、实战应用@目录1、getters的使用1.1概念1.2用法1.3如何读取数据2、getters在项目中的实际应用3......