可按Ctrl+D收藏 蚂蚁资源网

蚂蚁资源网

深入理解计算机系统(码农翻身电子版)

  • 全部评论(3)
  • 知了科技
  • 极其有用!这是一本经典的描述计算机系统级编程的入门书。初学者最重要的一件事,是知道计算机学科的世界有多大及学科整体图像;经典在于它帮助我们远离我们的现实,学习本身的日常没有短期兑现。 学习任何一门学科最终的目标都是建立这个学科的整体视域,本书最大价值所在;如何在对学科整体图像下分析得到具体概念和细节的应该是学习时的难点。  现象,抽象,结构,系统,审美意识,学科整体图像,这就是理论的全部。  本书主要内容:CPU设计,实现简单指令集结构;编译器设计,C语言看做高级数据类型的列表;存储器设计,局部化原理和层次结构;网络服务器实现。  大多数学习系统级编程书籍和人习惯自顶向下看《自己制造操作系统,计算机》,其实对于学习操作系统更大的意义是将操作系统看做学习系统性编程的技术与知识基石,是自底向上构造建立网络编程,数据库,大数据系统架构的基石。  本书的第二第三部分是建立在《Uinx 环境高级编程》之上的,甚至,如果不读apue,《深入理解计算机系统》的重点实验网络编程很难理解与完成:需要增加进程关系,守护进程,进程间通信,终端与伪终端。
  • 2021-03-06 14:01:17
  • Lu珊Han
  • 首先要先学习过计算机操作系统,还要对计算机电路有一定了解,以及计算机组成原理。学完之后可以继续学这个,可以学的很深入。
  • 2021-03-06 13:59:37
  • 111
  • 《深入理解计算机系统》,[《深入理解计算机系统》-读后感]介绍:本书从程序员的视角详细阐述计算机系统的本质概念,并展示这些概念如何实实在在地影响应用程序的正确性、性能和实用性,《深入理解计算机系统》-读后感。全书共12章,主要内容包括信息的表示和处理、程序的机器级表示、处理器体系结构、优化程序性能、存储器层次结构、链接、异常控制流、虚拟存储器、系统级I/O、网络编程、并发编程等。书中提供大量的例子和练习,并给出部分答案,有助于读者加深对正文所述概念和知识的理解。本书的最大优点是为程序员描述计算机系统的实现细节,帮助其在大脑中构造一个层次型的计算机系统,从最底层的数据在内存中的表示到流水线指令的构成,到虚拟存储器,到编译系统,到动态加载库,到最后的用户态应用。通过掌握程序是如何映射到系统上,以及程序是如何执行的,读者能够更好地理解程序的行为为什么是这样的,以及效率低下是如何造成的。全书将软硬件串在一起帮助我们描述了程序是怎么在系统中工作的,书中的链接加载程序布局等我在《程序员的自我修养》中读到过,其余很多知识和计算机原理、操作系统、系统编程也有很多重叠,总体说来内容并不是很陌生,但仍然有不少收获。第三部分io网络并发三章尚未阅读写下之下的这些文字是为了帮助自己更好的复习全书的内容,尤其是自己以前掌握不深刻的部分书的第一部分是全书的精华,主要讲程序与硬件,第四章除外,我没有看第二章,重点是数的表示方法移位运算  算术右移和逻辑右移的区别字节顺序  大端和小端数的格式转换  先改变大小,再改变有无符号,无符号有符号隐式转换带来的灾难整数的运算  主要是各种溢出问题浮点数  乘法不具备可结合性,转换为整数时可溢出第三章,重点是汇编程序,个人认为收获最大的一章各种指令,mov,leal,移位,运算,控制,条件传送指令*,各种逆向工程,结合习题很有意思函数调用时帧栈结构联合、结构数据分布和对齐的问题内存越界和缓冲区溢出64位(没有太仔细看,寄存器多了大了,函数调用有很多不同,很多函数不需要栈帧,参数通过寄存器传送)第五章,程序优化,全章由一个例子贯穿始末,量化了不同方法带来的性能改进编译器优化的局限性,限制这种能力的原因有:存储器别名的情况,函数调用(静态变量,可重入)循环优化,不变的变量只算一次减少函数调用(性能和可读性的折衷)不必要的内存引用(尽量用临时变量在寄存器中,避免不必要的内存读写)从处理器的角度考虑(流水、预测分支、关键路径),循环展开,考虑流水(充分利用处理器的多个加法器等,超标量)程序剖析的工具 gprof第六章,存储器层次结构各种存储技术,寄存器,SRAM(高速缓存),DRAM(内存),硬盘(传统硬盘、固态硬盘),网络各种缓存,高速缓存L1L2是内存的缓存,内存是硬盘的缓存,各种缓存的管理机制(这里只讲了高速缓存的,后面会将内存管理)程序的局部性,时间和空间的第二部分,主要将程序在系统的中的运行,这一部分和前一部分差距较大,原因是这一部分我比较熟?第七章,链接可以参见《程序员的自我修养》这本书,主要是目标文件格式阿,符号解析阿,重定位阿的,内容比较简略静态库的链接顺序,经常会出错的一个问题一些工具的使用,readelf,objdump,ldd感觉从这一章开始,翻译就很不给力了第八章,名字很奇特,叫异常控制流,讲了各个层面的异常,其实我觉得这一章还不如叫进程四类异常:中断(IO设备),陷阱(trap,咋这么翻译呢,系统陷入多好听,主要是系统调用),故障(缺页),终止进程相关,fork,execve,wait,waitpid信号,读后感《《深入理解计算机系统》-读后感》。signal非本地跳转,软异常?setjmp,longjmp,据说是try\\catch实现的基础一些工具(pmap,strace,ps,top)第九章,虚拟存储器,重点应该是内存管理,地址翻译的机制,我讨厌有些地方该叫内存却叫做存储器内存管理,主要做了两件事,从虚拟地址到物理地址的翻译,提供了内存读写的保护(只读的内存不能写,只读写的不能运行)动态内存的分配,给出了几种分配器的数据结构,这一部分没有仔细看垃圾回收各种内存的错误,总结的很好,基本我都犯过回头再看第一章,人家总结的真好,整个一个计算机系统就是一个大抽象,把各种硬件系统抽象为一些简单的概念,这些概念让我们这些程序员能够轻松的处理程序而不用再管硬件了,伟大啊三个基本抽象:文件--负责抽象IO设备虚拟存储器--负责抽象IO设备、内存进程--负责抽象IO设备、内存、处理器整本书就是负责介绍怎么抽象的  〔《深入理解计算机系统》-读后感〕随文赠言:【这世上的一切都借希望而完成,农夫不会剥下一粒玉米,如果他不曾希望它长成种粒;单身汉不会娶妻,如果他不曾希望有孩子;商人也不会去工作,如果他不曾希望因此而有收益。】
  • 2021-03-06 13:59:37
  • 商品推荐