时间: 2021-12-21 08:33:13 | 作者:半径圆radcircle | 来源: 喜蛋文章网 | 编辑: admin | 阅读: 88次
一个人如果真的读完了一本好书,会自发地写读后感
这不是老师布置的作业哦 o(* ̄▽ ̄*)o
大概是去年十月末,我受够了《深入理解java虚拟机》的折磨,又想到俺那零碎又不成体系的计算机基础知识,决定整本书看
从同学那里借来的,几乎全新的csapp
虽然听过机械工业出版的黑皮书的名气,但是吧以前觉得这种理论知识,看什么书都一样,还不如把408生啃几遍,不过蛋疼的大学教材逼得我只能换一条路走,借名书看
这一看,才让我明白黑皮书——特别是csapp为什么让人熟知
首先导语部分让俺认识到了作者和他的同事牛逼大大滴
1~6第一部分,主讲机组,从底层剖析
第一章漫游
讲到的处理器,编译系统,操作系统,虚拟内存,并发这些知识,都是以前接触过,但都没有深入了解的部分,心想终于能好好理解一遍了(以为是个缩小版的408)
第二章信息表示处理
进制转换,整数和浮点数的表示,还有一直不太清楚的无符号数有符号数,以及没有接触过的大小端法,逻辑运算,移位运算,讲的浅到深位次分明,再搭配作者每一节布置的练习题,可以说以前没有哪本教材或者博客能带给我的学习体验,我当场下给我同学说,我请你吃晚饭,这本书这学期归我了(●ˇ∀ˇ●)
第三章程序的机器级表示
这一章说实话是前期比较难读的一章,在有汇编基础的情况下,俺还是感觉力不从心,但想到刚破费请吃饭,就继续坚持下去了,回头来看这一章可能劝退了不少人( ╯□╰ )不过收获还是有的,寄存器的种类,操作数操作码,条件控制条件转移,逐步加深的汇编语法,还有初步形成的出入栈概念,这一章100页左右花了大概一个星期
第四章处理器体系结构
带给我没有碗过嘚船新版本,硬件可以讲的这么通俗易懂,这一章只需要基本的数电基础即可学会。处理器架构,SEQ阶段,指令周期执行概念,流水线设计,虽然有些地方还是抽象了一点,但是cpu分支预测那里真是让我惊到,感叹硬件的神奇,以后有空打算看《计算机组成与设计:硬件软件接口》再补补硬件知识
第五章优化程序性能
这一章虽然比较短,但是带来的意义还是很大的。过程调用,渐近低效率,不必要的内存引用都让我认识到以前的代码写的有多屎( ̄▽ ̄)",循环展开,并行,分支预测和处罚,让我也对自己的代码有了规划和优化意识
第六章 存储器层次结构
此章解开了我对缓存困惑已久的难题,难怪访问同一个文件速度也有快慢,感叹计算机的存储结构设计的合理,高速缓存是一个需要关注的要点
7~9第二部分,主讲操作系统
第七章链接
短小精悍,知识层面的转换让我花了一段时间来适应,此章开始我查博客的次数开始快速增加,符号表,重定位,静态动态链接,目标文件,共享库,可以说没有一个容易的
这是我查的博客并收藏的一部分,后面几章比这个更多
第八章异常流
以我个人的角度来说,我认为这一章是最难的,也可能是我个人操作系统知识的欠缺导致的,这一章我一天只能看几页,速度慢得出奇。异常,中断,系统调用,进程,信号。读着觉得我的操作系统似乎白学了,但这一章带给我的收获也是最多的,让我清楚的明白了操作系统的概念绝不只是一个图形用户界面那么简单
第九章虚拟内存
领悟很多的一章,以前对内存只是有一个内存条的概念,觉得进程的运行空间就这么多,现在来看,真是八嘎( ╯□╰ ),虚拟地址到物理地址的翻译,页表概念,页命中,缺页,内存映射,非常精彩的内存分配,垃圾收集,干货满满,这一章看的时候正好也是期末,感觉看书的时间就跟内存块的分配一样细碎,碎片时间导致了俺花了将近快一个月在这里
剩下的是第三部分,io,网络,并发
第十章io
老实说,俺觉得这一张讲的不够精彩,只是调用了几个函数例子,所以学的也不好orz。所以俺可能会在二周目再好好看看重新总结
第十一章网络编程
看完这一章甚至有了去搞服务器开发的想法@_@,经典的客户端——服务器模型,套接字的概念应该是整本书后期最难之一,服务器的种类(迭代,并发),web服务器的内容点醒梦中人,搞了那么多前后端开发,看到这里才明白自己每天在internet访问的都是什么
第十二章并发编程
最后关头高潮迭起,我认为这一章讲的最精彩,以前听到线程两个字就恐怖,现在总算是有了感觉( ̄▽ ̄)",主要是进程并发,io多路复用,线程并发三个部分,最后的共享变量,信号量,线程安全,死锁,这一部分自学时没搞明白,所以读了很久,现在终于明白了线程的主要核心内容,同样的内容,为什么有的书花几页就能讲得比有些书花几章讲的好呢?
总结,csapp真的是计算机领域的圣经,不管你基础如何,我都会推荐你好好看一遍这本书,不知道它启发了多少计算机学子。如果不读这本书,我可能还是只会调参,crud复制粘贴,出了bug查博客的five(当然现在也是five)我会在日后给任何想学计算机的朋友推荐它
感谢csapp,感谢作者Randal Bryant & David Richard O'Hallaron
全站搜索