当前位置:首页 > 范文 > 《深入理解计算机系统(原书第3版)》读后感1000字

《深入理解计算机系统(原书第3版)》读后感1000字

格式:DOC 上传日期:2024-10-10 09:05:41
《深入理解计算机系统(原书第3版)》读后感1000字
时间:2024-10-10 09:05:41   小编:

《深入理解计算机系统(原书第3版)》读后感(篇一)

好书一本,第三部分篇幅有些少,希望第四版的时候能增加内容。如何评价?浓缩5个字:程序员必读!

这些年陆陆续续读了一些计算机相关书籍,遗憾优秀的计算机书籍都是国外作者,期待未来20年,国内大佬们能出版大量的经典著作,也希望自己在未来能写一本某一领域入门书籍。

岁月如歌,吾辈亦须奋勇向前!

《深入理解计算机系统(原书第3版)》读后感(篇二)

力荐好书!自己经验,做习题的时间比看书的时间长,有时还要回头反复翻阅其中的几章,寻求解题思路。往往面对习题没有头绪是因为对书中某部分的内容没有理解透彻。解决习题,嶓然醒悟,一片明亮。 附 习题解整理 csapp-3e-solutions

另 寻求第三版最新的lab code,好心人可以分享下?感激不尽 :)

《深入理解计算机系统(原书第3版)》读后感(篇三)

这本书名头极大,全书读完也很有收获,但不得不说还是有一些缺憾。最大的问题是后几章内容太单薄,感觉像蜻蜓点水一样一带而过,尤其是并发编程那章,主要就介绍了一个信号量,如果按照前面章节的写法应该讲清楚CPU层面和操作系统层面对并发编程的支持和约束,举一个简单例子把底层的实际过程描述一下,这样整体上就清楚多了,毕竟并发的概念在这个时代是如此重要,不发篇幅讲清楚实在可惜。还有IO章节就是几个函数介绍,CPU层面实际过程是怎样的没写。缓存的章节最大的疑惑是没讲缓存一致性的问题,这和并发编程密切相关。如果说是篇幅的原因,那第四章设计的Y86是不是有点浪费篇幅呢?不是说写的不好,但书名是从程序员角度,相比之下CPU的设计似乎没太大的必要。

说这么多,其实是期望用一本书就搞清楚计算机底层机制的懒人吐槽,爱之深,责之切,毫无疑问这本书还是值得推荐,五星之作。

《深入理解计算机系统(原书第3版)》读后感(篇四)

这本书是当初大三的时候自己买来看的,当时看的是原版。可以说这本书是开启我对计算机的兴趣,在这之前我对计算机一直就是肤浅地认为是敲敲代码,就像印度那些软件外包一样。但在读了这本书之后,我开始了解计算机本身是一个多么精妙的东西,也是为什么很多大神的程序员都把编程当成一门艺术。

这本书从最开始的计算机编码开始讲起,后面一路往上讲,硬件,内存,操作系统,编译优化,异常控制流,网络编程,多线程编程等等。这其中无一不透露着编程要讲究软硬件结合的思想,你不能光有一个逻辑上的思考,更要去考虑底层的硬件是如何执行每条代码的。

通过这本书,给你构建起一个扎实的系统的思维,在你以后编程或其他与计算机相关的工作时,会更加整体地、更加系统地去思考和解决问题

因为原版之前读的,隔了太久,而且当初看最开始的编码部分也理解得不是很透彻,所以打算买本中文版重新温习一遍。这本书的中文版是难得的翻译质量很高的译作

《深入理解计算机系统(原书第3版)》读后感(篇五)

Chapter 1

hello.c 源程序(文本)——>预处理器(cpp)

hello.i 修改了的源程序(文本)——>编译器(ccl)

hello.s 汇编程序(文本)——>汇编器(as)

hello.o 可重定位目标程序(二进制)——>链接器(ld)

hello 可执行目标程序(二进制)

了解编译系统如何工作是大有益处的:

1. 优化程序性能:一个switch语句是否总是比一系列的if-else语句高效得多?一个函数调用的开销有多大?while循环比for循环更有效吗?指针引用比数组索引更有效吗?为什么将循环求和的结果放在一个本地变量中,会比将其放到一个通过引用传递过来的参数中,运行起来快得多呢?为什么我们只是简单地重新排列一下算术表达式中的括号就能让函数运行得更快?

2. 理解链接时出现的错误:链接器报告说它无法解析一个引用,这是什么意思?静态变量和全局变量的区别是什么?如果你在不同的C文件中定义了名字相同的两个全局变量会发生什么?静态库和动态库的区别是什么?我们在命令行上排列库的顺序有什么影响?最严重的是,为什么有些连接错误直到运行时才会出现?

3. 避免安全漏洞。

《深入理解计算机系统(原书第3版)》读后感(篇六)

这里我不会对这书的内容做任何评价,我来讲个故事

当年我面临转行危机。我是搞高电压工程的,从来没正经接触过任何计算机程序。当时那一个月就跟没头苍蝇一样到处乱撞,后来知乎上看了一个贴,我买了这本书。

我按照前言的介绍,跳过了第四章,认真做了2~3章,6章~9章所有的习题。短短一个月就转码成功。而且转码之后,某领导评价我的基础居然比有些科班混子还扎实,简直了。

后来这书太猛以至于我遇到新人就推荐。可惜这么多年这么多人,只有一个小伙真的听我的读完了这书,小伙后来跳去了菊花厂,成功实现大厂梦,至今跟我聊天都说忘不了我推荐他这本书的大恩大德。

这是真事。

看过的都知道,别看这书厚的赛砖头,第4章占一半。你要是想快:1,2,3,5,6,7,8,9章读完加做题差不多1个月,不做题看个囫囵半个月,但效果差的不是一星半点,尤其是2,3章的编码表示和汇编题。

你说我等不及了,我下周就要上班了。那我建议你直接看3章加做题,再花个2小时囫囵看个第7章,放心上岗。

但真的,这书真正的神是第4章。我文化水品低,我不知道怎么赞美,只能说牛逼。

《深入理解计算机系统(原书第3版)》读后感(篇七)

「深入理解计算机系统」(CS: APP)真是本神奇的书,明明只是最基础的入门教材,每次看却都能有新的收获。上次看的时候还只是第二版,基于IA32与x86-64。今年刚再版,已经把体系完全迁移到x86-64了,看着特别舒服。 这一两周强行抽空把第三版简单过了一遍,还是有许多地方看得迷迷茫茫,太惭愧了,有些东西明明学过好几遍还是没记在心里。尤其第四章,在微机原理、嵌入式系统、计算机组成原理三门课上都各学过一遍,现在再看还是觉得有些吃力,我的记性真的不行。 这书的精髓在于 「第四章 处理器体系结构」、「第八章 异常控制流」、「第九章 虚拟内存」,其次 「第三章 程序的机器级表示」的最后几节、「第五章 优化程序性能」、「第六章 存储器层次结构」,这些都是值得反复学习的章节。本书前两章是人尽皆知的小知识,后三章的系统I/O、网络编程、并发编程因篇幅限制连通识介绍都算不上(「第七章 链接」 其实还不错,但太简略,国人的「程序员的自我修养」讲得比他详细多了),唯有中间几章实在让我爱不释手。。。 (有时觉得自己很幸运,生活在这个计算机科学高速发展的时期,仅仅这几年就已经有许多自己当年使用的教材又出新版了,比如Tannenbaum的「Modern Operating System」等等,亲眼见证时代的变迁,真好。像数学就没这么幸运了,上世纪50年代的实复分析教材现在居然还能用,想想就可怕,「三体」里那位休眠一百年的物理学家(叫 丁仪?)真应该转行研究计算机的。)

《深入理解计算机系统(原书第3版)》读后感(篇八)

值得CS专业的学。第一、第二部分很详细,特别第一部分通过C程序与一些汇编程序,讲述怎么表示数据,怎样运算,后面程序中的控制语句在底层的实现过程也讲的很详细。有关硬件与程序联系最为紧密的,书里讲的计算机系统主要是处理器、存储器方面,并不是所有的硬件。书中很多与C语言相关的主题,如指针、内存管理、链接器、编译器等,这些帮助更好地理解C语言的特性和用法。书中给出很多初学C语言的tips,来突出C语言的一些重要特性,在加深C语言学习的基础上,对于计算机底层如何运行C程序的有了更加深刻的认识,编写高效、安全的C程序。平时编程时候不太会考虑的问题,在看了代码优化、异常控制流,加强了这方面的意识,很实用。第三部分内容相对少些,主要是网络编程和并发。

书中代码示例比较清晰、看起来很舒服。习题很充实全面,帮助理解内容,而且后面都给出了答案,像这样的形式是比较好的,因为本来有些内容就复杂,难以理解,很多习题又比较难,有的习题就算自己不会做,有了答案也算给了思路,比较利于学习。一些翻译中的小瑕疵,某些句子有点别扭,有些概念和术语的好像也不太准确,但不影响整体效果。在学C的时候同时看或者学完C看,对于学习编程语言很有帮助。

某些内容不是那么容易理解,要花些精力多次学习,B站有CMU的讲解视频,很不错。即使学完之后,也是大概的认识,不求甚解,要通过大量代码实践、或者结合工作实际,来体会感受。

《深入理解计算机系统(原书第3版)》读后感(篇九)

《深入理解计算机系统(原书第3版)》是一本计算机领域的经典之作,由知名计算机科学家Randal Bryant和David O'Hallaron共同撰写。本书以深入浅出的方式介绍了计算机系统的基本原理和核心技术,让读者更好地理解计算机系统的各个组成部分如何协同工作。

在内容方面,本书共分为四个部分。第一部分介绍了计算机系统的基本组成和基础知识,包括计算机硬件、操作系统、汇编语言和高级语言等。第二部分着重讲解了计算机系统的内存管理和程序优化。第三部分则主要涉及了计算机网络的原理和应用,以及网络安全的威胁和防范措施。最后一部分,作者们通过具体的案例分析,帮助读者将理论知识应用于实践中,更好地掌握计算机系统的应用和设计。

本书的情节设置合理,主题明确,具有很高的可读性和易懂性。作者们运用简洁明了的语言,将复杂的计算机原理和技术娓娓道来,让读者在轻松的氛围中学习和掌握知识。同时,本书也具有一定的实践指导意义,通过具体案例的分析,帮助读者更好地理解计算机系统的应用和设计。

从主题的角度来看,本书主要探讨了计算机系统的基本原理、组成结构、运行机制和应用领域。通过对计算机硬件、操作系统、内存管理、程序优化和网络安全等方面的深入剖析,本书不仅帮助读者更好地理解计算机系统的运行机制,同时也为读者在计算机领域的深入学习和研究提供了宝贵的理论基础。

总体来说,《深入理解计算机系统(原书第3版)》是一本非常优秀的计算机系统书籍,具有很高的参考价值和实践指导意义。本书的优点在于内容全面、通俗易懂、实践指导性强,适合于各种层次的读者。

《深入理解计算机系统(原书第3版)》读后感(篇十)

终于开始拜读黑皮书了,我还记得大学时,我导师说,黑皮书系列值得反复研读。经过自己囫囵吞枣的速读一遍,充分感受到这句话的魅力。在日常学习和工作中,总是因为基本功不扎实,从而导致再技术深挖时感到无力感。这时候读些黑皮书系列真的会受益匪浅,读到共鸣时,突感,茅塞顿开。而本书主要内容简单概括如:

首先,书中对计算机体系结构的讲解非常棒。通过对现代计算机体系结构的剖析,书中详细介绍了处理器的工作原理、指令集体系结构等核心概念。这能让我们深入了解计算机是如何执行指令、管理内存和处理数据的。通过对MIPS指令集的介绍,结合学习编写汇编语言程序,从而加深对底层运算过程的理解。其次,书中涉及的存储器层次结构的讲解也非常生动。通过对缓存、虚拟内存等概念的介绍,对于编写高效的程序和理解系统性能优化有着重要的意义。本书中的实例和案例十分符合人的思考习惯,从而使得这些抽象的概念变得具体而有趣。此外,对于操作系统和网络编程的探讨真的是一大亮点。通过对UNIX操作系统的深入研究,我们可以了解到操作系统是如何管理进程、文件系统、网络等方面的。这对于系统编程和理解应用程序与操作系统之间交互的方式非常关键。这对于我们系统的去了解一个计算机系统完整的工作流程非常有意义,也对于一些架构师设计架构时起到参考作用。在本书中,实践性练习的设计贯穿始终。通过编写实际的代码,让理论和实践相结合,更贴切的去理解系统的运行机制。

总的来说,这本书不仅仅是一本介绍计算机系统的教科书,更是一本激发思考、提升实际技能的指南。通过对计算机底层原理的深入剖析,可以建立起对计算机系统整体运作的清晰认识。《深入理解计算机系统》不仅适用于计算机科学专业的学生,也适用于已经进入职场的打工人。这真的是一本深度学习和不断探索的经典之作。因此,我十分推荐对计算机感兴趣、渴望深入了解计算机系统本质的人,一定要好好研读这本经典著作,相信你一定会受益匪浅的。

《深入理解计算机系统(原书第3版)》读后感(篇十一)

计算系统,可以是简单物理形态的、生物形态的,或者其他还没存在过的形态。

物理形态的计算系统,一定是有物理实体(硬件)的,暂且叫作“计算机”。

计算,是抽象过程。

它需要结构的集合,和结构的对应关系(操作)。操作,也就是两个结构之间的联系——比如,1和2这两个简单的结构,通过“加法”操作联系在一起。

在这个意义上,计算机就是状态机,计算就是状态的序列,每两个相邻的状态,必定有一个定义好的操作来联系起来。

最开始,计算是直接映射到物理实体的。

但是,随着计算的不断复杂化、多样化,“直接映射”的成本过高。于是,开始了“通用计算机”的设计——同样的硬件,来完成不同的计算过程。

“不修改硬件”是不可能的,因为计算总是表达为硬件的状态的。但是,修改电路,和修改内存上的一个字节,显然成本不是一个数量级的。

通用计算机的设计,对硬件线路进行了固化,而把可以低成本修改的状态(IO、内存)暴露给了人,让人可以通过键盘鼠标来精确的修改硬盘/内存的状态,来实现不同的计算过程。

也就是,通过定义可存储于硬盘中的状态序列,来让通用计算机实现不同的计算过程。

可存储的状态序列,也就是程序、软件。

这些可以文本化表达的状态序列,会被通用计算机映射为动态的计算过程。

编程,就变成了一个庞大的产业。

《深入理解计算机系统(原书第3版)》读后感(篇十二)

--- 20220101

目前为止差不多读完了2、3、4章,细读。

原书很伟大。这是一部让读者的认知贯通软硬件的书,而不是单独在某个层面。跟很多优秀教材一样,经常介绍一些历史或者其他相关内容,比如NASA某次火箭发射失败的原因,这种内容本身并没有提供特别有价值的知识点,但它们使得知识本身落地,给读者一种强烈的感受和继续读下去的动力。

原书也有缺点。比如在一些内容被精简/省略的时候,应该告诉读者,由于XXX原因,这里的介绍只达到什么样的程度,这就是边界的明确。

关于翻译,见怪不怪了。评论这类内容的时候,我尽量克制,不超越问题本身所达到的程度。目前的感受(只看了一部分),总体翻译是我读过的计算机类翻译书籍里边比较好的。看过十来本应该是保守的吧。《算法导论》第13章,简直不能看的那种程度,暂时还没遇到。

翻译问题大致分两种(有些情况也不好界定):1、彻底的翻译错误,这种情况不太多,但似乎多出现在原文本就艰深的部分(可能译者也似懂非懂强行渡河),所以一旦出现就很容易是灾难性的。比如jump被翻译为分支。2、翻译歧义,这种情况很多。单句翻译看起来差不多,但跟上下文不匹配,让读者很疑惑。比如陈述一个内容的时候原文带“将”字,但译后没有,让人误以为是前序章节讲了但自己没在意,结果发现是要在后文讲到的。这类问题一般均匀出现在各个角落,也不是很难破解,只是让人感觉到别扭。

2、3章的内容,难度本身不大,所以有些翻译问题还没啥大障碍。但到了第4章,随着难度增加,翻译问题所导致的后果就比较严重了。如果要搞明白每个细节,就必须参考原文;也可以推测一下作者大概想说什么,细节部分跳过即可,但有可能猜错。

特别地,第306页,隶属于4.5.5的那部分内容,光看译文我是看了好几遍也看不通细节的,虽然我知道他大概想说啥,甚至关于此问题我有自己的解决方向。

《深入理解计算机系统(原书第3版)》读后感(篇十三)

原文:

链接器解析符号引用的方法是将每个引用与它输入的可重定位目标文件的符号表中的一个确定的符号定义关联起来。

对那些和引用定义在相同模块中的局部符号的引用,符号解析是非常简单明了的。

这话读起来主谓宾断句感觉异常艰难,甚至有时候觉得是病句,找不到句子主干。

还有下面这个

符号表是由汇编器构造的,使用编译器输出到汇编语言.s文件中的符号。

这个纯纯的感觉是英语的机翻,都不带整理下句子的,有读英文原著经验的人有明显感觉到能“准确还原”到英文原文的画面感,但是要理解其含义还得自己组装组装。

还有这个编译器驱动程序是什么鬼,好像从字面翻译看我竟没法反驳。

《深入理解计算机系统(原书第3版)》读后感(篇十四)

从周六晚上开始写大作业,花了整整一天,在经过了24个小时之后终于在周日晚上通完了

随着大作业的完成,这学期的计算机系统课程算是彻底告一段落了,特意过来mark下

这本书应该是大一上的时候就标记想读了,当时是看舍友买了才知道的,但一直都没有沉下心去读(主要这厚度真的吓人,而且随便一翻感觉写得东西都很高深,更加令人望而却步),直到这学期开这门课 ,有的时候真的是需要一些东西去push你一下,才能把某件事真正落实下去

但也没有全读,只是详细读了第一、二、三、五、六、七、八这7章,然后第九章的前半部分粗略地扫了一眼,其中有的章,比如第三章甚至读了不止一遍,而有些小节(尤其是链接、异常两章)来来回回读得次数还要更多,真的是常读常新,每读一遍都会有更深的理解

写得确实好,有些内容虽然初读难以理解,但仔细地多读两遍,用心悟一悟也还是可以搞懂的,而能把这么多的东西,以相对不太多的篇幅深入浅出地写出来写明白已经足够令人拜服了,其实每章只要按照顺序从头跟着作者的思路走下来,会发现那些乍一看很高深的内容似乎也不是那么难懂

这本书配套的实验质量也很不错,尤其是二进制炸弹(简直是神中神)和tiny shell都给我留下了很深的印象,这门课最后的大作业hello的一生选的也很好,虽然我是用一天速通出来的(但洋洋洒洒的一万两千字也不是闹着玩的),但还是有一个机会、有一些时间,去回顾、梳理一下ICS这门课都讲了些什么内容,而神奇的是,这些内容(从编译、汇编、链接到进程、存储器层次结构、虚拟内存)基本上(除了优化没有涉及)都可以通过一个很简单的hello程序串起来,而这也恰恰反应了这门课的主题,即计算机是一个复杂的系统,只有各部分之间互相协作、紧密配合,作为一个整体,才能使程序运行起来,认识到这一点还是蛮重要而又有趣的

我一直认为这本书才是真正意义上的“计算机导论”,即拜入计算机门下要先读这本书,对计算机系统有一个全面性的了解,然后再从中找到重点突击的方向

好书是需要反复读的,是常读常新的,虽然我已经在努力让自己把读过的这几章的内容尽可能地吃透,但还是会有一些地方被遗漏了,这本书真的涉猎甚广而且细节繁多,显然这不是读这本书的终点,何况我还有4、5章的内容没看,只是不知道下一个会push我继续读这本书的东西会在什么时候出现了

最后的最后,在称赞了这本书许多之后,如果说还有什么话想说,我愿意将我能想到的最高的评价献给这本书:

著名的“余氏三连”,也是很久之前我为这本书想到的要写的短评:

“**,写得这么**,**”

《深入理解计算机系统(原书第3版)》读后感(篇十五)

背景

这本书我是几年前听说的,大学并没有学过这一块的内容,看了这本书后,感觉计算机系统很庞大,涉及的内容也非常多,帮助很大。

它是一本经典的计算机系统原理入门书籍,几乎涵盖了计算机系统的所有方面,包括计算机组成原理、操作系统、编译器、网络编程等。可以说,学计算机的必须得看下,非常经典。

我比较喜欢这本书的第三部分。这部分包含了系统级 IO,网络编程,并发编程。

项目中经常有导入导出文件的需求,还有 MySQL 的数据是以文件的形式存储,这些都涉及到 I/O 相关的知识。网络编程接触的比较少,但是里面讲解的网络知识还是很重要的。并发编程的高效性在这一章也有体现。

这本书比较强调程序员的视角,让读者能够理解和掌握计算机系统中的各种概念和机制。

如果你也想成为一名高级程序员,需要来深入学习下,偏重底层原理,所以也不适合小白看。

这本书更适合有一定计算机基础,比如能看懂 C 语言代码。

相信通过本书的不断学习,在计算机这个领域会有深刻的认识。

还剩页未读,是否继续阅读? 继续免费阅读

下载此文档

范文

Powered 2024 版权所有 ICP备666666号

付费下载
付费获得该文章下载权限
限时特价 2.00
原价:¥10.00
在线支付
付费复制
付费后即可复制文档
特价:2.00元 原价:10.00元
微信支付
x
提示:如无需复制,请不要长按屏幕影响阅读体验
付费下载
付费后即可下载文档
特价:2.00元 原价:10.00元
微信支付
x
付费下载
扫一扫微信支付
支付金额:2.00