OS,COMPILER,COMPUTER

来源:互联网 发布:伪造实验数据 编辑:程序博客网 时间:2024/05/20 20:05
今天闲来无事,整理了一下我的书籍,发现买的书虽多,但真正完全读过一边的很少,
不尽痛恨自己,暴殄天物,愧对这么多大师不说也对不起我可怜的money呀,:(。
于是乎想起自己在本科时代的那段浑浑噩噩的时光,那时候倒是也想读书,读好书,但
是不知道什么书好,什么书该读,什么不该读。我想现在的不少同学也可能有一样的感
觉,于是我觉得把我这几年来读过的书推荐一下,还是很有必要的,希望学弟学妹们能
够充分利用时间,把自己培养的棒棒的:-)
ok,闲话少说,let's begin………

1)  操作系统方面:
    如果你对操作系统原理很好奇,想一探究竟,推荐你必读的几本书,记住不要在汤子
赢的书上浪费精力,看过以下的书,就知道什么是水平上的差距了:)
    Abraham Silberschatz的两本书:
1. 实用操作系统概念(影印版)高教出版社
2. 操作系统概念(第六版影印版)高教出版社
这个作者的level是顶尖级的,来自贝尔实验室,是目前世界上操作系统方面的领军人物
,我个人认为比坦尼伯姆要强,虽然坦也很强:),这两本书第二本和第一本很多地方
相似,区别在于第二本理论偏重一些,第一本实例讨论的更多一些。这两本书别看很厚
,但是写的非常流畅,属于比较易读的一类。
3.现代操作系统---坦尼伯姆,这本书我没完整看过,只是大略的翻过,是第4本书的升
级版,里面添加了一些新的操作系统方面的讨论,原理部分比第四本稍有增强。个人认
为,是除了前面两本之外的最好的书。
4.操作系统-设计与实现---这个比较有名了,主要是分析minix源代码的书,顺带着讲了
下原理,应该说是偏于实践的,可能当年的linus的教材就是这本,影响较大,可以帮助
你了解一个文件系统或系统调用之类是如何实现的。当然,和目前的操作系统来讲,稍
简单了一些。想做linux kernel hacker的同学此书可以一读。
5.操作系统:现代观点(第二版试验更新版)
Operating Systems: A design-Oriented Approach
这两本一般,但是还是比国内抄袭的教材强很多,可以作为补充阅读的书籍。
6.与特定操作系统相关的书:
    understanding linux kernel:千万别买中文版,那叫一个烂
    linux internal:这两本我都有电子版,是打印出来看的:(
    linux内核情景分析:这三本是最nb的linux内核分析书籍,前两本讲2.2内核,第三本
讲2.4,好是好,就是钱遭罪,赫赫,要100多块吧。
    4.4BSD操作系统设计与实现:不说少了,原来berkeley那帮写bsd的其中几个人写的
,经典就是它了,前几年我恨不得直接花$去amazon买了:(,不过这几年国内出版业发展
真快,原来很多梦寐以求的书,现在都摆上书架了,haha,很有成就感呢~~~
    unix操作系统设计:古老的unix设计方面的书籍,应该说这本书在unix世界里面的影
响是十分巨大的,很多后来的unix分枝,思想都是缘于此书。里面主要讲解unix各个部分
实现时所用的算法,其中一些目前还在使用中。想了解一下unix实现但又没什么时间扣
minix或linux内核的朋友可以看看,在这本书上花费几十个小时,绝对超值:)
2) 计算机系统结构:
    我是搞体系结构的,所以对这方面还是比较了解,不免又要批判一下国内的书籍了,
李学干的书,我怎么看都像是上古作品,讨论的东西基本上是80年代以前的玩意儿,看了
也是白看,它里面介绍的东西,基本上我们是没有可能遇到的。除非你去计算机历史博
物馆。清华的郑伟民有两本书,一厚一薄,都叫计算机体系结构,薄的讲的太浅,反正
我看完了还是不清楚体系结构是干啥的,做什么用处。厚的我没全看完,但是感觉和李
学干的书一样,不少都是copy黄凯的那本高级计算机体系结构,至少我就看见过一张一
莫一样的图。讲道这里,不免要推荐一下唐老师的计算机组成原理,(虽然不能是体系
结构),这本书相当好,我想这和唐老师严谨认真的治学作风十分不开的,计算机组成
原理的书,别的都不用读了,我还没见过比这本更好的。
    国外体系方面的书:
1. hennessy和patternson的计算机硬软接口和计算机量化研究方法:作者一个是斯坦
福的校长,一个是伯克里的资深教授,体系方面最牛会议的审稿人。这两本书可谓是千
锤百炼,绝世好书,呵呵。我都推荐给进入体系实验室的师弟师妹们。硬软接口里面讲
的是简单的处理器体系结构,最难得地方也只讲到流水线,本科水平阅读应该没有问题
。它与国内的书不同,并不是从理论方面泛泛而谈,而是针对某个问题,深入讨论,不
弄个水落石出决不罢休,这点使得读起来非常过瘾。第二本量化研究方法比较难读,不
仅仅是因为英文写的有点晦涩(相对于硬软接口),而且讨论的东西也是最先进的,新
接触这一领域的读者比较难于理解,这本书基本上涵盖了2000年以前的微处理器体系结
构方面的先进技术,如果你想了解2000年左右微处理器体系结构已经发展到什么程度,
可以从这本书读起,它以前的书可以不用读拉。对了,忘了说明,这两本书都是主要讨
论微处理器体系结构的,呵呵,这也是它们的新颖之处,我个人也觉得现在还大讲特将
什么向量机有点不合时宜。强烈推荐,看完整两本书,你就会知道处理器到底是如何的。另外,千万别买这本书的翻译版,看着闹心,翻译的往往和原意差出好几百里地
,浪费时间不说,也对身心健康不好哦
2. William stalling的计算机体系结构-性能设计:由于看了前两本书,所以这本就不
太起眼了。想比较而言,这本书讨论的问题太过于表面化,缺乏对问题的深入剖析,看
完之后没有那种刺破肉皮见骨头的快感。不过我觉得这也很正常,因为william stalli
ng只是个科技作家(别看china-pub上好像对他的吹捧好像是个神,其实他也是人),他和
前两位世界级的教授根本不在一个数量级上。不过老威倒是也真够狠,什么都写,os阿
,网络阿,体系阿,看着比坦尼伯姆还nb。看过这本书之后,我发誓再也不看他的书了
。这本书当作科普读物可以,了解一下体系结构。
3. 黄凯的高等计算机系统结构:这本书影响非常大,国内的凡是体系结构的书,基本
上很多都是copy这本的。但是,我不得不说,他太老了,老的已经不再适合做体系的教
材了。计算机技术发展多么迅速阿,这个10几年前的东西现在怎么应用啊? 里面讲的机
器估计以后没人能见到,呵呵,说到这里不得不向大牛cray致敬(虽然大师已经挂了)
,他的cray机真是太牛了,不让ibm专美与前啊。Sorry,扯远了,这本书如同鸡肋,弃之
可惜(毕竟是好书),但食之无味。喜欢跳出微处理器的圈子,试图俯瞰一下计算机体
系结构各个领域在1990年以前是什么情况的同志可以look through一下。
4. 坦尼伯母的结构化计算机组成:这本书不是专讲体系结构的,它连从c程序,到编译
,汇编,连接加上硬软接口ISA和处理器内部实现统统讲到。一气贯通,让你了解这个程
序是咋在处理器上刺溜刺溜跑起来的,对大家对于计算机系统的宏观认识非常有帮助。

3)编译原理:
编译这块我了解不多,应该说不怎么了解,我甚至还打算从头学一边编译原理:(,不
过这方面的好书我可是注意好久了:现在隆重推荐:
1) 编译原理:技术与工具:作者之一就是lalala, ullman,我记得是计算机界目前论文
被应用最多的一个活人(fix me),他在编译和数据库方面地位很高,这方面我估计李
建中老师的门下弟子比我知道的多多了,我就不说了。这本书据说是讲解经典编译原理
的宝典,也被称为"龙书"。想学编译?ok,别的书先抛在一边,把这本先读了再说。但是
要提醒一下,目前的编译器基本上和体系结合的很紧密了,有的编译器甚至连程序运行
时功耗都考虑进去了,所以,要想一窥现在编译器内部构造,光看这本就不够了
2) Optimizing Compilers for Modern Architectures: A Dependence-based Approa
ch 这本书能弥补第一本的不足,讲的都是如何让编译器利用体系结构方面的技术。不过,
国内没有出版,不过,别灰心,呵呵,我这里有电子版。如果实在感兴趣,看看编译器
是如何根据体系结构进行优化的,可以打印出来读。

Ok, 累死我了,先推到这里把,对了,希望在别的领域很有研究的同学也推荐些书,让
我们知识共享,经验共享,共同进步,共同提高。
原创粉丝点击