如何阅读《深入理解计算机系统》

如题所述

结构、操作系统、体系结构、编译原理、计算机网络你全修过我想大概可以分为4个阶段,水平从低到高从安装使用=>linux常用命令=>linux系统编程=>内核开发阅读内核源码其中学习linux常用命令时就要学会自己编译内核,优化系统,调整参数安装和常用命令书太多了,找本稍微详细点的就ok,其间需要学会正则表达式系统编程推荐《高级unix环境编程》,黑话叫APUE还有《unix网络编程》这时候大概还需要看资料理解elf文件格式,连接器和加载器,cmu的一本教材中文名为《深入理解计算机系统》比较好内核开发阅读内核源码阶段,从写驱动入手逐渐深入linux内核开发参考书如下《linux device drivers》,黑话叫ldd《linux kernel development》,黑话叫lkd《understading the linux kernel》,黑话叫utlk《linux源码情景分析》这四本书为搞内核的必读书籍最后,第三阶段和第四阶段最重动手,空言无益,光看书也不罩,不动手那些东西理解不了学习linux/unix编程方法的建议建议学习路径:首先先学学编辑器,vim, emacs什么的都行。然后学make file文件,只要知道一点就行,这样就可以准备编程序了。然后看看《C程序设计语言》K&R,这样呢,基本上就可以进行一般的编程了,顺便找本数据结构的书来看。如果想学习UNIX/LINUX的编程,《APUE》绝对经典的教材,加深一下功底,学习《UNP》的第二卷。这样基本上系统方面的就可以掌握了。然后再看Douglus E. Comer的《用TCP/IP进行网际互连》第一卷,学习一下网络的知识,再看《UNP》的第一卷,不仅学习网络编程,而且对系统编程的一些常用的技巧就很熟悉了,如果继续网络编程,建议看《TCP/IP进行网际互连》的第三卷,里面有很多关于应用协议telnet、ftp等协议的编程。如果想写设备驱动程序,首先您的系统编程的接口比如文件、IPC等必须要熟知了,再学习《LDD》2。对于几本经典教材的评价:《The C Programing Language》K&R 经典的C语言程序设计教材,作者是C语言的发明者,教材内容深入浅出。虽然有点老,但是必备的一本手册,现在有时候我还常翻翻。篇幅比较小,但是每看一遍,就有一遍的收获。另外也可用谭浩强的《C语言程序设计》代替。《Advanced Programing in Unix Envirement》 W.Richard Stevens:也是非常经典的书(废话,Stevens的书哪有不经典的!),虽然初学者就可以看,但是事实上它是《Unix Network Programing》的一本辅助资料。国内的翻译的《UNIX环境高级编程》的水平不怎么样,现在有影印版,直接读英文比读中文来得容易。《Unix Network Programing》W.Richard Stevens:第一卷讲BSD Socket网络编程接口和另外一种网络编程接口的,不过现在一般都用BSD Socket,所以这本书只要看大约一半多就可以了。第二卷没有设计到网络的东西,主要讲进程间通讯和Posix线程。所以看了《APUE》以后,就可以看它了,基本上系统的东西就由《APUE》和《UNP》vol2概括了。看过《UNP》以后,您就会知道系统编程的绝大部分编程技巧,即使卷一是讲网络编程的。国内是清华翻译得《Unix网络编程》,翻译者得功底也比较高,翻译地比较好。所以建议还是看中文版。《TCP/IP祥解》一共三卷,卷一讲协议,卷二讲实现,卷三讲编程应用。我没有怎么看过。,但是据说也很经典的,因为我没有时间看卷二,所以不便评价。《用TCP/IP进行网际互连》Douglus.E.Comer 一共三卷,卷一讲原理,卷二讲实现,卷三讲高级协议。感觉上这一套要比Stevens的那一套要好,就连Stevens也不得不承认它的第一卷非常经典。事实上,第一卷即使你没有一点网络的知识,看完以后也会对网络的来龙去脉了如指掌。第一卷中还有很多习题也设计得经典和实用,因为作者本身就是一位教师,并且卷一是国外研究生的教材。习题并没有答案,留给读者思考,因为问题得答案可以让你成为一个中级的Hacker,这些问题的答案可以象Douglus索取,不过只有他只给教师卷二我没有怎么看,卷三可以作为参考手册,其中地例子也很经典。如果您看过Qterm的源代码,就会知道Qterm的telnet 实现部分大多数就是从这本书的源代码过来的。对于网络原理的书,我推荐它,而不是Stevens的《TCP/IP祥解》。《Operating System - Design and Implement》这个是讲操作系统的书,用Minix做的例子。作者母语不是英文,所以英文看起来比较晦涩。国内翻译的是《操作系统设计与实现》,我没看过中文版,因为翻译者是尤晋元,他翻译的《APUE》已经让我失望头顶了。读了这本书,对操作系统的底层怎么工作的就会有一个清晰的认识。《Linux Device Driver》2e ,为数不多的关于Linux设备驱动程序的好书。不过内容有些杂乱,如果您没有一些写驱动的经验,初次看会有些摸不着南北。国内翻译的是《Linux设备驱动程序》第二版,第一版,第二版的译者我都有很深的接触,不过总体上来说,虽然第二版翻译的有些不尽人意,但是相比第一版来说已经超出了一大截。要读这一本书,至少应该先找一些《计算机原理》《计算机体系结构》的书来马马虎虎读读,至少应该对硬件和计算机的工作过程有一些了解。
温馨提示:内容为网友见解,仅供参考
无其他回答

如何阅读《深入理解计算机系统》这本书?
首先,这本书适合初学者,无需计算机基础,只需掌握C语言和数据结构。阅读前准备好书后的习题答案,如CMU 15-213课程的Lab,可以从作者的GitHub仓库获取。阅读建议如下:从博客记录中获取每个Lab的学习心得,特别是第一章,作为全书的概览,可能需要略读,后续再回顾会有更深理解。第二章和第三章涉及复杂...

怎样深入理解计算机系统
了解计算机系统,先了解单片机是个好方法,因为单片机就是整个微型的计算机结构,当然不都一样,但是工作原理都差不多,你会高级语言,对与单片机汇编是小意思了,所以你去了解单片机,就会感觉到愈来愈清晰.冯若机型一直没改变过,各个部件的功能的协调配合,就是一台计算机了,如果想深入了解到cpu的构造,还是要...

深入理解计算机系统简介
本书主要介绍了计算机系统的基本概念,包括最底层的内存中的数据表示、流水线指令的`构成、虚拟存储器、编译系统、动态加载库,以及用户应用等。书中提供了大量实际操作,可以帮助读者更好地理解程序执行的方式,改进程序的执行效率。此书以程序员的视角全面讲解了计算机系统,深入浅出地介绍了处理器、编译器...

深入理解计算机系统 读后感
回答:[深入理解计算机系统 读后感] 从程序员的视角,看计算机系统! 本书适用于那些想要写出更快、更可靠程序的程序员,深入理解计算机系统 读后感。通过掌握程序是如何映射到系统上,以及程序是如何执行的,读者能够更好的理解程序的行为为什么是这样的,以及效率低下是如何造成的。粗略来看,计算机系统包括处理器...

深入理解计算机系统(原书第2版)内容简介
读者能够加深对关键概念的理解,并在实践中应用所学知识,提升编程技能。《深入理解计算机系统(原书第2版)》不仅是一本面向程序员的专业书籍,也是高等院校计算机及相关专业学生的重要教材。它以深入浅出的方式,为读者揭示了计算机系统的核心原理与实践应用,是提升编程能力与系统理解的重要资源。

深入理解计算机系统(CSAPP)优化程序性能:arch lab(下)
深入理解计算机系统(CSAPP)中,优化程序性能是关键。本章关注于提升程序性能的手段,尤其是在实际场景中对实时数据处理的需求。尽管现代编译器能对程序进行优化,但为了确保正确性,程序员仍需掌握基本优化技巧,编写易于编译器优化的代码。通过书中的combine程序,作者展示了如何通过CPE指标(每个元素的周期...

如何阅读《深入理解计算机系统》这本书
安装和常用命令书太多了,找本稍微详细点的就ok,其间需要学会正则表达式 系统编程推荐《高级unix环境编程》,黑话叫APUE 还有《unix网络编程》这时候大概还需要看资料理解elf文件格式,连接器和加载器,cmu的一本教材中文名为《深入理解计算机系统》比较好 内核开发阅读内核源码阶段,从写驱动入手逐渐深入...

《深入理解计算机系统》这本书需要什么水平能看懂
以及用户应用等。书中提供了大量实际操作,可以帮助读者更好地理解程序执行的方式,改进程序的执行效率。此书以程序员的视角全面讲解了计算机系统,深入浅出地介绍了处理器、编译器、操作系统和网络环境,是这一领域的权威之作。本书适合作为计算机及相关专业的本科生教材,同时也适用于编程人员参考阅读。

《计算机系统要素》和《深入理解计算机系统》的区别
1、《计算机系统要素》面向程序员,旨在帮助程序员了解计算机系统的底层工作原理,提供对底层概念和技术的深入理解,《深入理解计算机系统》也主要面向程序员,但更加注重系统层面的技术和概念,对操作系统和编译器的工作原理进行了更全面和深入的讲解。2、《深入理解计算机系统》内容相对更为深入,全面介绍了...

CMU15-213\/CS:APP(深入理解计算机系统) | 课程笔记L11:The Memory Hi...
在深入理解计算机系统(CMU15-213\/CS:APP)课程笔记的第十一课中,我们探索了存储技术的发展趋势与复杂性。存储系统并非简单地将数据以一个大数组形式存储,而是由多层设备组成的复杂层次结构。下面将重点讨论从低级存储设备到高级设备的层次结构,以及它们如何优化程序性能。首先,我们接触的是随机存取存储器...

相似回答