这两天读CSAPP读的兴起,昨天还发了条动态说读CSAPP比现代操作系统读着爽(哈哈)。
其实也并不是无脑黑现代操作系统,与CSAPP相比各有优缺点。
CSAPP在国内译作深入理解计算机系统,我对这个翻译是不能苟同的,CSAPP全名Computer System:A Programer's Perspective
,很显然译作并没有把APP的含义译出来。况且原名中哪有透露出深入的含义?我觉得翻译成“以一个程序员的视角理解操作系统”或者诸如此能表达出APP
含义的翻译会更贴切一些。
而对比现代操作系统而言,CSAPP也并没有达到译作名深入理解操作系统的地步,倒是践行了全书中我认为最重要的APP
(一个程序员的视角)。
CSAPP对于计算机的基础硬件体系涉及不多,很多硬件以及系统底层实现的细节一笔带过,没有现代操作系统那种大篇幅面面俱到的各种硬件设计/参数/原理的东西(曾经读的要吐),最核心的还是从APP
(一个程序员的视角)来看待操作系统,从如何优化程序的角度来看操作系统。
看过现代操作系统来读CSAPP还是如行云流水的(也可能是我还没看到更深入的部分),读之前我还担心会不会和现代操作系统重叠太多这本书白买了,然而担心是多余的。
在此也为现代操作系统正名,从深入理解操作系统的角度来看,CSAPP还是不如现代操作系统的,CSAPP有的地方写的比较笼统(比如硬件部分或者进程调度部分),而现代操作系统中作者则花费了很大的笔墨来详细地介绍。但是从一个程序员的角度来看,现代操作系统又太过偏执于系统(软硬件)底层的逻辑,不如CSAPP的切入点直白犀利(当然是程序员的视角符合我的口味啦)。
总的来说,CSAPP和现代操作系统这两本书是相益得彰的。从知识的深度和广度上面是互补的,当然这两本也都是计算机系统的基础理论的东西,并不是介绍系统接口的用法。想要学操作系统接口的去读APUE(UNIX环境高级编程)(智商-10)。
另外,听说还有本**计算机的构造与解释(SICP)**不错,有空再买来读读看(智商-90)。
咦,没智商可减了。