手机浏览器扫描二维码访问
这本书的话题覆盖面很广,从计算机的基本组成,二进制数据表示方式,到机器级别的指令,CPU工作方式,存储结构和优化,操作系统的虚拟内存管理,程序运行方式,IO,网络、到(较底层)程序性能优化和并行程序开发等等。所以,它其实覆盖了“计算机组成原理”,“操作系统”等许多课程的内容,其中的许多话题都能再次展开,继续深入,都能再变成一本,甚至N本经典。事实上,在高年级的计算机专业课程设置中,都会有更加纵向的内容出现。
因此,如果有人说它“底层”,章杉同意。
但如果说它“深入”,至少章杉不那么赞同。
“覆盖面广”,其实就是这本书的最大优点。它告诉我们计算机是如何设计和工作的,操作系统有哪些重点,它们的作用又是什么。《ComputerSystems:AProgrammer’sPerspective》的目标其实便是要讲清楚原理,但并不会把某个话题挖掘地过于深入,过于细节。例如书中第4章使用了自己“设计”和“实现”的“Y86”处理器架构,便是为了简化X86指令集,使课本内容在能够说明问题的前提下也不至于太复杂。因此,读完(其实也并不一定要读完,说实话章杉也没有读完)这本书后,我们就可以对计算机系统各组件的工作方式有了理性的认识。
那么,这本书适合什么人阅读呢?对于这个问题章杉也有过犹豫。
章杉对《ComputerSystems:AProgrammer’sPerspective》推崇备至。
无论是本科生还是打算新上手编程实战的程序员都能从这本书有所收获。
即便你是一个前端JavaScript程序员,也可以从《ComputerSystems:AProgrammer’sPerspective》这本书中获益。如果您是.NET程序员,那么您更加适合看这本书了。
说一句“豪情万丈”的话:如果不知道XX,YY或ZZ的话,这如何算是一个优秀的程序员?
这本书和平时的工作可能的确不一样,相比起来“底层”了一些,但是它还是会把“底层内容”控制在一定深度之内,而不会讲某个具体话题挖掘到“事倍功半”的程度。而事实上,虽然在进行.NET开发的时候我们已经在一个较高的抽象上工作了,但是我们的程序还是运行在操作系统上,还是在遵循着某个规律在运行着,了解一些内部的工作机制也有助于我们写出更好的应用程序。
说来也奇怪,虽然各种语言,框架发展地越来越好,按理来说我们写程序也应该越来越容易。但是现在看来,一些基础性的内容反而也变得越来越重要了,例如在并行计算面前,计算系统的一些细节,如内存一致性模型,线程调度,程序的局部性(Locality)又被提上台面,否则我们很难写出高效的应用程序。同样,一些如函数式编程,Monad等在几年前看起来十分科研型,数学化的事物也离我们越来越近了,如LINQ,ReactiveFramework等等,其实它们都已经是我们身边的事物了。
《ComputerSystems:AProgrammer’sPerspective》这本书覆盖面很广,章杉认为并非要一字不漏地读完才行。
根据章杉的个人观点,我们应该着重阅读书的第1章“ATourofComputerSystems”和第一部分“ProgramStructureandExecution”(从第2章开始,大约占据了书中一半篇幅),其中包含了数据的机器级别表示方法,汇编语言和执行方式以及CPU架构方面的内容,我们应该关键性地理解其原理。
如第6章“OptimizingProgramPerformance”提出了许多种机器级别的优化方式,在现在看来,其中的某些方式过于细致,乃至在实际工作过程中已经不再推荐了(如内联一些方法以提高性能),我们要在把握住“为什么”而并不是单纯的吸收“怎么做”。对于书中的第二部分“RunningProgramsonaSystem”主要讲述的是操作系统方面的内容,可以读得略为简单一些,但其中的第10章“VirtualMemory”,它谈论了操作系统中虚拟内存机制的各个方面,非常关键,需要细读。至于书中的第三部分“InteractionandCommunicationBetweenPrograms”便可以更加“选择性”地阅读,章杉只阅读了第13章“ConcurrentProgramming”,而其他两章都只是简单地扫过而已。
作为经典的教材它一定有许多附加资源,例如在它的官方站点给出了一些链接,其中最关键的可能是学习者站点,其中包括这本书所需要的各种工具,参考文档等各种资源。
章杉读书的过程中又想起来之前某大牛提及两本书,一本是国产书精品《链接、装载与库》。
这本书主要讲解了编译过程中的“生成文件”的过程,以及应用程序执行时文件是如何被操作系统加载的,并且同时涉及到Linux和Windows两个平台。
第二本书书是《WindowsInternals5thEdition》,人民邮电出版社已经引进了其影印版。
和章杉现在读的这本“蹭蹭不进去”的书相比,这的确是本“深入”级别的书。
基本上覆盖了Windows内核的方方面面,包括系统架构,内存管理,线程调度,安全机制,文件系统等各种话题,对于我们Windows平台上的程序员,这方面内容可能更有针对性。
章杉前不久刚刚购入这本书,更别提仔细阅读了。
当然所谓购书这个行为,自然是吩咐骆常慧做的~
现在这种小事章杉根本不太关注,虽然章杉每分钟读书都有收入~
根本没办法统计好不好,除了特别大段时间读书收入,章杉根本不太在乎这些钱~
以章杉现在的生活,哪怕是不作任何改变。
每天银行里的钱也会带来大量利息,而哪怕不刻意去花钱,日常流水也高的吓人……
章杉注意到这本书和《C专家编程》有些地方是相通的~
战神入赘成首富齐昆仑谢芝真 枭霸娇妻 鬼谷八荒之开局就是三剑痴 贤者之王 我没想当绿茶,真的(快穿) 尊养小夫郎[种田] 我老婆是天后巨星 缠绵入骨,首席老公别过分 纪初安唐石谦重生文 我开局穿越三国战场造机甲 我是文娱之王陈轩王玲 少帅夫人不准逃顾婠婠霍沉离 我在古代当神医颜循韩嫣 始于心甘情愿纪初安 我,捡破烂成世界首富 我将败掉万亿家产张臻秋淑芬 野蛮匪夫的小娇娇 撼龙风水师 孤岛上的平行世界III 纪初安唐石谦重生文
...
上一辈子我普通惯了,这一辈子投胎,我要找一个最有权有势有钱的人家!我要成为一个败家子!一个有权力有势力有金钱的败家子,嗯,最好还要有点狗腿子!!我要挥霍,我要败家!!我要让世界面临一股狂潮炼金狂潮!!...
我割腕自杀,鲜血流尽成为干尸。尸身被葬进祖传铜棺,在阴历七月14出殡的那天,怪事穷出。半夜我以干尸之身醒来,全身肌体枯竭,只有鲜血才能够维持我肌体的鲜活。我以人的意志驾驭着我的尸体,我穿梭阴阳,我爱过,我恨过,我杀过人,我灭过鬼。。我是尸体,只要进食血液,我将永远不会衰老,我站在这个世界的最高处俯望,只看到了欲望。...
丛林深处,猛兽横行,又到了寒季虎崖堡猎户们储备食物的时节,一个少年在猎手中悄然崛起成为新秀神箭手,一切从阿爷手中的星蟒录开始...
徐青本是一位率性冲动的平凡少年,一次不平凡的际遇让他拥有了一双神奇的透视之眼,从此他的生活发生了不可思议的改变,财富唾手可得,赌坛王者横空出世,艳遇接踵而来...
一场阴谋,苏念轻意外怀孕,惨遭背叛。五年之后,她携萌宝而归,却意外救下冷酷小正太。姐姐,你需要一个暖床的恒温热水袋吗?我把爹地介绍给你!苏念轻看着面前冷酷的小正太,一脸茫然。大叔,你有每天可以亲亲的阿姨吗?我把妈咪介绍给你!秦沐白看着面前可爱的洋娃娃,二脸茫然。当苏念轻和秦沐白在咖啡厅偶遇的时候,才发现两人都已经被安排的明明白白。...