猪猪小说网

手机浏览器扫描二维码访问

第198章 实验室(第1页)

一秒记住【xiaoyanwenxue.com】精彩无弹窗免费!“读书成神豪(.shg.tw)”!

收回了思绪,章杉很快就将注意力放在了《ComputerSystems:AProgrammersPerspective》

这本书的中译本为《深入理解计算机系统》

本书从程序员的视角详细阐述计算机系统的本质概念,并展示这些概念如何实实在在地影响应用程序的正确性、性能和实用性。

全书共12章,主要内容包括信息的表示和处理、程序的机器级表示、处理器体系结构、优化程序性能、存储器层次结构、链接、异常控制流、虚拟存储器、系统级IO、网络编程、并发编程等。书中提供大量的例子和练习,并给出部分答案,有助于读者加深对正文所述概念和知识的理解。

章杉很快就开始了阅读。

虽然这本书是全英文的,但在章杉面前这点词汇量基本不够看的,完全是小菜一碟。

通过阅读,章杉发现本书的最大优点是为程序员描述计算机系统的实现细节,帮助其在大脑中构造一个层次型的计算机系统,从最底层的数据在内存中的表示到流水线指令的构成,到虚拟存储器,到编译系统,到动态加载库,到最后的用户态应用。

通过掌握程序是如何映射到系统上,以及程序是如何执行的,读者能够更好地理解程序的行为为什么是这样的,以及效率低下是如何造成的。

《ComputerSystems:AProgrammer’sPerspective》这本书强调的便是作为一个程序员的基本知识。SICP来自世界顶级学府MIT(SICP即大名鼎鼎的《StructureandInterpretationofComputerPrograms》,在国内可以买到中译版,即机械工业出版社的《计算机程序的构造与解释》),而《ComputerSystems:AProgrammer’sPerspective》也同样出身名门:CMU(卡耐基梅隆大学)。

虽然没有SICP那么历史悠久,但它被世界几百所大学(幸运的是也包括章杉所就读的复旦大学)用作教材也有好多年了。

这本书的中译名为“深入理解计算机系统”,章杉非常,十分,以及百分之一百二十地不满意。章杉这么说的原因在于这个译法完全扭曲了书的本意。

如果直译原书名,应该是类似于“以程序员的视角理解计算机系统”,何来“深入”二字。可能在国内编辑看来,这是讲系统的,用C和汇编语言的,因此很“深入”,但章杉认为这只能说明国内技术氛围的浅薄。因为事实上,这是一本入门级别的书,这本书其实并不“深入”,它谈论的内容还是相对比较浅的。

但“浅”不代表“浅薄”,写一本面向初学者的好书往往是非常困难的,因此无论是SICP还是《ComputerSystems:AProgrammer’sPerspective》,它的作者都是顶尖学府的教授,结合多年教学经验而写出来的。

CMU把这本书作为“IntroductiontoComputerSystem”课程的教材,是面向计算机专业低年级学生的“计算机系统介绍(导论)”,可能这些学生只是刚刚了解如何使用一门高级语言——如Java进行编程,对于计算机系统的工作方式等话题可谓一点都没有接触过,而《ComputerSystems:AProgrammer’sPerspective》对读者的背景也只要求是“一些编程经验”而已。

这本书的话题覆盖面很广,从计算机的基本组成,二进制数据表示方式,到机器级别的指令,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等等,其实它们都已经是我们身边的事物了。

战神入赘成首富齐昆仑谢芝真  野蛮匪夫的小娇娇  我开局穿越三国战场造机甲  我没想当绿茶,真的(快穿)  少帅夫人不准逃顾婠婠霍沉离  我老婆是天后巨星  尊养小夫郎[种田]  纪初安唐石谦重生文  缠绵入骨,首席老公别过分  鬼谷八荒之开局就是三剑痴  枭霸娇妻  纪初安唐石谦重生文  我,捡破烂成世界首富  我是文娱之王陈轩王玲  孤岛上的平行世界III  贤者之王  撼龙风水师  我在古代当神医颜循韩嫣  始于心甘情愿纪初安  我将败掉万亿家产张臻秋淑芬  

热门小说推荐
爱上病娇秦先生

爱上病娇秦先生

作为一名设计师,叶清逸能设计出梦幻绚丽,却无法勾画出自己的人生,这世上,幸运的人千篇一律,不幸的人各有各的伤悲,直到她嫁给了秦先生,传闻秦先生意外毁容,身残志坚,叶清逸用亲身体验告诉大家,传闻是假的,统统都是假,自从嫁过去,她一年365天,每天都有大惊喜...

桃缘山神

桃缘山神

李振复在回家的途中捡到一只自称是公主的萝莉。意外成为了一片荒山的山神。作为一个山神,首要任务当然是把自己的荒山改造成一个桃源世界,然后再发展宏图大业,把周围的山脉都划分到自己的领地中增强实力才是王道。既然成了神,那就要过些神仙般的悠闲日子,没事种种田,调戏调戏萝莉。李振复小萝莉,走,叔叔带你去种田。该死的人类,我是公主,尊贵的公主。公主怎么了?我还是山神呢。赶紧的,听话,要不然今天不给你喝豆浆了。PS采菊东篱下,悠然见南山。开荒做山神,种田养萝莉。PS桃缘山神第一个群,云岚山村群号3-2-9-6-1-5-9-0-5...

修仙奶爸的妖孽人生

修仙奶爸的妖孽人生

小朋友,千万别惹我,我老爸超凶的!小娜扎。九天之下大境,皆为我界!孟浪淡淡道想要嫁给我,那得看我女儿喜不喜欢你!...

错嫁成孕:顾少,宠妻请节制

错嫁成孕:顾少,宠妻请节制

苏瑶我要你,代替我嫁给顾家那个废物!苏瑶沉默,传说顾家大少是一个残忍暴虐喜怒无常的活阎王。如果让顾少霆知道她婚前失身,他一定会弄死她!可婚后她却被他莫名的宠上天。老公,姐姐后悔了,想要把你抢走。乖,除了你,我谁都看不上!顾总,外面的人都说你惧内跪在搓衣板上男人非常淡定做掉,这种破坏我们夫妻关系和谐的人,没必要留着!...

无上雄兵王策林梦佳

无上雄兵王策林梦佳

战神归来,前女友居然找上门来提出非分要求...

每日热搜小说推荐