作为12月初的开篇大戏,我将总结一下再次阅读《深入理解计算机系统》的感觉。

《深入理解计算机系统》这本书真不知道用什么修饰来形容它比较好。它是计算机专业的必读之书;它是一本难得的好书;它的价值超越了同等重量的黄金;它将带领你走向程序员“大牛”之道;等等,这些赞美之词都不为过。然而,我更喜欢下面的一个说法:当我毕业搬家时,在众多的书籍中只能带走一本的话,我会毫不犹豫地选择它——《深入理解计算机系统》。

下面将一步一步走向计算机的天堂。
第一章:计算机系统漫游。它仅仅通过最简单的“hello world”程序,就让我们了解一个程序是怎么创建,怎么编译,怎么执行的,它让我们知道了在程序运行的过程中,计算机系统是怎么一个状况。真正应了书名《从程序员的视角看计算机系统》,而且起点很低,往往引入入胜,流连忘返。

第二章:信息的表示与处理。在这一方面,我觉得本书突出的重点非常好:无符号和二进制补码。这两种数据表示对我们程序员的影响比较大,因为他们经常出现,而且经常给我们带来迷惑。在看这一章的时候,我恰好在同步看《java puzzlers》这本书,而这本java解惑里面涉及了很多的关于数据表示的问题,比如各种符号的转换、扩展、截断等等。而本书恰好给出的很多参考。

第三章:程序的机器级表示。这一章几乎是一种教授逆向工程的方法在讲授,剖析编译器产生的汇编代码,以此来加深对具体代码实现的理解。通过学习这一章,我们很容易理解程序在机器上如何表示的。然而,本书主要是针对c程序员的,所以对于学习java的我来说,只能起到一个借鉴的作用了。

第四章:处理器体系结构。这一章主要讲述设计模拟CPU来着,过于偏硬,对于刚开始学的人来说,可以先跳过。不过,我觉得这一章还是要看的,而且是重点看!毕竟,cpu、内存及IO是计算机系统三个最核心的概念了。了解了CPU,才能更加深刻地了解它是如何控制计算机执行程序的。

第五章:优化程序性能;第六章:存储器层次结构;第七章:链接;第十章:虚拟存储器;这四章可以说是本书的精华中的精华!应该一个字一个字把它们啃透。“优化程序性能”是全书最闪光的章节。作者对一个例子不断优化,讲循环效率和过程调用,到讲存储器引用,一直讲到现代处理器的结构,讲到IA32处理器的局限,一路下来,畅快淋漓。“存储器层次结构”实际上可以看作是“优化程序性能”一章的延伸,以及为之后的“虚拟存储器”做铺垫。这章主要详细解释了高速缓存(cache)的工作方式,以及利用局部性使得cache达到最好效果的方法。其实我觉得它在考试或者面试时作用会更加大吧!链接的重要程度就更不用说了。而“虚拟存储器”(Virtual Memory)则上升到了操作系统层面,详细解析了VM的实现以及Linux系统上VM组织方式。说句令不好意思的话,以前一直不知道“虚拟存储器”是啥玩意,有什么用,呵呵!不过,我觉得最受用的是malloc/free实现的动态存储器分配的具体方法以及对进程中具体存储结构的了解,还有GC的策略。记得学操作系统时,我们背了很多内存分配策略,比如首次适配、最佳适配等等,释放内存时的四种合并情况啦,这些概念过了一段时间就忘了。现在,你自己把它们实现了的时候,才知道malloc、free原来是这样子的。这让我想起了一句话:源码面前,了无秘密呀!

而对于第十一章:系统级I/O;第十二章:网络编程;第十三章:并发编程,这三章并非本书的重点,讲述的也不是很多。但我读完这几章后确是这样一种感觉:留下来的都是精华呀!

遨游了一遍,最后谈一下本书的书名吧!《深入理解计算机系统》,一听此名,吓走了不少人。本人在此隆重保证,本书很“简单”!只要有c语言及汇编的经验就可以看了,而且内容覆盖比较广,把程序执行时所涉及到的计算机组成原理、操作系统、编译原理等整合了起来。通篇讲得还是比较基础的,没有“深入”之说。所以,书的名字确实有点不符,《以程序员的视角看计算机系统》更形象吧!但名字不好听,中国人不仅在乎内在美,外在美也很受关注呀!at last,不能认为读完了本书,自己就是“大牛”了。须知,后面的路还很长,还需要一步一步地走。。。

前几天到网上一查,《深入理解计算机系统》第二版出来啦!郁闷!我的才买,就出新书了。看了一下,把修改的部分贴一下
《深入理解计算机系统》从第一版到第二版,已经是七年的时光了。由于计算机技术的飞速发展,第二版相对于第一版做了大量的修改。首先,针对硬件技术和编译器技术的变化,第二版对系统的介绍,特别是实际使用部分,做了增加和修改。例如,既保持了原有的针对 32 位系统的说明,又增加了对 64 位系统的描述。其次,第二版增加了很多关于由算术运算溢出以及缓冲区溢出造成安全漏洞的内容。第三,更详细讲述了处理器对异常的发现和处理,这是计算机系统中的一个重点和难点。第四,对存储器的描述改为了基于 Intel Core i7 处理器的存储器层次结构,还增加了固态硬盘的内容。第五,强调了并发性,并发性既体现在处理器的实现中,也体现在应用程序编程中。

最后,看了一下书的封面,恩,不喜欢!还是我的这本好,呵呵。。。

读《深入理解计算机系统》相关推荐

  1. 读《Android 安全架构深究》

    Android 安全架构深究 安全是一个非常立体而丰富得概念.在不同的场景下,安全有着不同的含义. 比如对于网络传输,安全指的是传输的数据不会被其他人看到.篡改.伪造及仿冒,传输的数据不会遭到破坏,数 ...

  2. 《最强Android书 架构大剖析》读书笔记

    文章目录 第一章 Android 体系结构的变革之路 1.2 Android系统源码目录 与Linux的异同 Android的框架 原生二进制可执行文件 Android 的原生库 核心(core)库 ...

  3. Android Jetpack架构组件之 Room(使用、源码篇)

    2019独角兽企业重金招聘Python工程师标准>>> 1.前言 最近简单看了下google推出的框架Jetpack,感觉此框架的内容可以对平时的开发有很大的帮助,也可以解决很多开发 ...

  4. 抖音、美团等大厂千万级用户的Android客户端架构演进之路—

    在移动开发中,对开发者来说不同的人具有不同的能力.就像读一本书一样,一千个读者,有一千个哈姆雷特.但不管怎样,只要你是个软件开发者你就必须学习windows或Linux等操作系统的运行原理.Andro ...

  5. Android 图形架构之一 ——概述

    前言 本系列的文章,可以让你明白,一个View最终是如何显示到屏幕上的,从应用层到硬件抽象层.对分析app的卡顿,掉帧等 有很大帮助. 由于图形架构的涉及到的代码量很大,所以本篇先来个总体的概述,有个 ...

  6. Android display架构分析-SW架构分析(1-8)

    参考: Android display架构分析二-SW架构分析 Android display架构分析三-Kernel Space Display架构介绍 Android display架构分析四-m ...

  7. 高通Android display架构分析

    目录(?)[-] Kernel Space Display架构介绍 函数和数据结构介绍 函数和数据结构介绍 函数和数据结构介绍 数据流分析 初始化过程分析 User Space display接口 K ...

  8. [Android] Android MVP 架构下 最简单的 代码实现

    Android  MVP 架构下  最简单的 代码实现 首先看图: 上图是MVP,下图是MVC MVP和MVC的区别,在于以前的View层不仅要和model层交互,还要和controller层交互.而 ...

  9. Android系统架构-[Android取经之路]

    摘要:本节主要来讲解Android的系统架构 阅读本文大约需要花费10分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,Android的平台设计,欢迎关注我,谢谢! 欢 ...

  10. Android系统架构图及简单的系统架构介绍

    2019独角兽企业重金招聘Python工程师标准>>> ndroid的系统架构和其操作系统一样,采用了分层的架构.从架构图看,android分为四个层,从高层到低层分别是应用程序层. ...

最新文章

  1. 2019 浙江大学 计算机 科目,2019考研大纲:浙江大学2019年《计算机学科专业基础综合》(单考)(科目代码907)...
  2. 【组队学习】【33期】动手学数据分析
  3. 服务器性能优化的正确姿势
  4. 桐花万里python路-高级篇-并发编程-03-线程
  5. RDC Lent ifm IP Analysis Exercise
  6. 【独家】衣服上的铁锈去除简易方法
  7. python编程入门第一课_python入门前的第一课 python怎样入门
  8. 可怜的 JavaScript,他们说你很怪异,你知道吗?
  9. 用python海龟制图画花瓣_Python教程:使用Turtles画出带有花瓣的花
  10. MDT+ADK网络部署操作系统
  11. 东芝2303am维护清零_东芝复印机维修代码大全
  12. 如何做一场B格满满的技术大会演讲
  13. STM32 DCMI调试
  14. 名师出高徒,我相信努力的我,会是高徒中的一员。
  15. debian 发行代号
  16. SGU 水题集合2 SGU112 SGU113 SGU114 SGU115
  17. Python format 格式化输入字符对不齐解决
  18. css将两张图片叠加(简易方法)
  19. 前端面试技巧和注意事项_前端HR的面试套路,你懂几个?
  20. 思科CCNA第一本教材 第十一章 配置和测试网络 个人总结

热门文章

  1. 博士申请 | 香港中文大学(深圳)濮实老师招收分布式优化与机器学习全奖博士生...
  2. register hotkey
  3. IntelliJ IDEA设置类注释和方法注释模板
  4. 推荐几款画韦恩图的在线工具
  5. 如何批量处理/修改文件的后缀名(使用批处理.bat进行)
  6. htc系统Android 7.1,HTC太强大,被誉为刷机之王,一路升到安卓7
  7. Win11磁盘空间不足怎么清理?Win11清理磁盘空间的方法
  8. Linux系统的atop监控工具
  9. R7-17 程序填空题2
  10. python中 inplace 参数的理解