Chinaunix

标题: 推荐大家几本书吧 [打印本页]

作者: gvim    时间: 2006-03-09 20:53
标题: 推荐大家几本书吧
关于BSD系统分析上给大家推荐几本简单的基础书吧,主要集中在体系结构,操作系统理论和C语言及算法上。目的是可以比较轻松的进入*BSD内核分析世界,而不是让大家拿到什么证,所以都是很实用的书,或许不适合考试。
另外这些书只是我个人所涉猎的资料,不敢说就很完全,而且我也正在学习BSD系统代码,所以仅仅说是我个人的意见。老鸟就不用看了(但是欢迎提意见,补充)

由于操作系统是搭建在硬件电路组成的计算机之上,因此

首先推荐的是: <计算机体系结构精髓> 作者Douglas E. Comer 中译版29.0元  
理由:作者是大牛,普渡大学教材,中译翻译的不错,书图文并茂,浅显易懂(我可以很负责的说是十分简单)。这里可以知道操作系统需要处理的底层设施 如内存,虚拟内存,高速缓存等知识。
适合:仅仅为了阅读内核而只对底层做稍许了解的朋友。

接着,<计算机系统>(computer system - a programmer's perspective) 作者Randal E. Bryant 我看得是影印版,价格89(有中译版,听说译的不错,名字好像叫<深入理解计算机系统>  
理由:浅显易懂,甚至显得有点啰嗦:wink:,大量的实例和说明。避免了传统体系书籍的复杂的数字分析,仅仅从软件角度审视计算机。个人觉得比较有用的是对汇编的分析,链接器分析和优化分析 三部分。
适合程序员阅读,同样不适合考试。阅读内核的朋友,该书虚拟内存一节的讲解比较合适。

最后,<计算机体系结构-量化分析> 不多说了,这本书我在坛子里说过很多次了,不过中译本被一帮家伙糟蹋了。不过对于研究内核的朋友来说,似乎就没有上面两本书有用。

说到操作系统,这个应该是我们的目标吧
首先推荐的是: <Freebsd的设计与实现> 现阶段只有E版的,等出来了我就去抢一本。不多说了吧,搞BSD不看这本书,book11

接着是 <操作系统概念 第6版>(有中译本了,而且,美国那边已经是第7版了) 多厚一本书,55块钱,不算贵。
理由: 讲解比较简单,而且是操作系统理论领域的经典之一。很多BSD里面的对象可以在这里找到理论原型,比如进程,线程模型,调度模型,同步等等。虽然算法可能每个系统如Lin BSD Win不一样,但是理论都是差不多的。缺点我觉得就是太理论,使得我大概半年之后就忘的差不多了
适合大部分需要了解操作系统的人阅读,同时也适合考试的人参考。

最后还是那本 <Unix operating system design>吧(有中译本),虽然过时很多,很多地方用不上了,但是它所描述的OS整体框架还是没有怎么变。
适合那些想要快速知道OS是怎么一回事的朋友。

当然OS方面还有很多书籍可以参考,大都是世界上的经典。

程序设计除了C还是C,没办法。
不过在BSD的世界你可以不用去管GCC的那些BT写法,因为FreeBSD的代码是用的-std=c99限定的。
<C程序设计语言> K&R 写的。不要说没有听过,否则我劝你转行了
<数据结构与算法分析>  Weiss写的 20世纪最重要的30本计算机书籍之一,想要彻底搞懂文件系统,想要彻底搞懂存储管理,想要彻底搞懂进程调度 这些的细节。看吧。
这两本书同时适合大部分人,不仅适合考试,更适合学习。


以我的经验看来,熟悉 计算机体系结构精髓  Freebsd的设计与实现  数据结构与算法分析 三本书,理解BSD核心应该问题不多了。
BTW: 我对网络不是十分熟悉,我就不乱点兵了,有疑问可以问问 雨丝风片 版主。


[ 本帖最后由 gvim 于 2006-3-10 10:44 编辑 ]
作者: congli    时间: 2006-03-09 21:00
原帖由 gvim 于 2006-3-9 20:53 发表
BTW: 我对网络不是十分熟悉,我就不乱点兵了,有疑问可以问问 风丝雨片 版主。

兄弟你该打PP啊!
作者: assiss    时间: 2006-03-09 21:03
我知道,他是故意的。
作者: gvim    时间: 2006-03-09 21:06
原帖由 congli 于 2006-3-9 21:00 发表

兄弟你该打PP啊!


我对他的称呼都是风雨。更省略
又记得有个丝 和 片 两个字,刚好夹在里面。等式成立。

[ 本帖最后由 gvim 于 2006-3-9 21:08 编辑 ]
作者: gvim    时间: 2006-03-09 21:07
原帖由 assiss 于 2006-3-9 21:03 发表
我知道,他是故意的。


把本书你下了吗?文件有点大上次没有给你发成功
作者: congli    时间: 2006-03-09 21:12
原帖由 gvim 于 2006-3-9 21:06 发表


我对他的称呼都是风雨。更省略
又记得有个丝 和 片 两个字,刚好夹在里面。等式成立。

弓虽
作者: assiss    时间: 2006-03-09 21:14
原帖由 gvim 于 2006-3-9 21:07 发表


把本书你下了吗?文件有点大上次没有给你发成功

下了下了,正准备出差回来就开始研究了。呵呵。
作者: 剑心通明    时间: 2006-03-09 21:22
有空开始看,收藏先
作者: raysmile    时间: 2006-03-09 21:55
计算机体系结构-量化分析   经典书籍,其中还有一段关于google集群的硬件架构的描述,据说一般人没办法写出来的,因为这是商业机密,不过由于其中一位作者的特殊身份,才有第一手资料的。

呵呵
作者: 雨丝风片    时间: 2006-03-10 08:15
原帖由 gvim 于 2006-3-9 20:53 发表
BTW: 我对网络不是十分熟悉,我就不乱点兵了,有疑问可以问问 风丝雨片 版主。

原帖由 congli 于 2006-3-9 21:00 发表
兄弟你该打PP啊!


他就是一俗人,本来是和风细雨的,被他一弄,咝咝的风,片片的雨,成了狂风暴雨了。。。
作者: 雨丝风片    时间: 2006-03-10 08:43
在学习BSD内核的时候,我经常翻的书是:
1、【The Design and Implementation of the FreeBSD Operating System】
2、【The Design of the UNIX Operating System】
3、【UNIX Internals:The New Frontiers】

第1本目前只出版了4.4BSD版本的中译本和影印本,第2、3本则都有中译本和影印本。

这三本书都不是源代码分析,所以不会有严重的过时问题,我喜欢把它们对比起来一起看,对于同一个问题,每本书都有自己的侧重点,结合起来就能够得到比较完整的知识了。

想了解一个东西,光看是不行,还要去触摸它,把手伸进去才能知道它的内部组成是什么样子的。因此,一些经典的编程书籍也是应该看看的。每次谈到这个话题,都绕不开一个人,Stevens。。。

4、【Advanced Programming in the UNIX Environment】
这本书不能算是一般的“编程”书籍,而应当说是从一个程序员的角度来窥探系统内核的指导书,因此,它在分析BSD内核的时候具有相当大的指导意义。目前已经有2005年6月出版的英文第二版的电子书流传,书中提及的FreeBSD已经到了5.2.1版本,其附带的源代码也专门有FreeBSD的版本,安装使用都十分方便。

Stevens的其它书就主要针对网络子系统了,比如三卷的【TCP/IP Illustrated】和两卷的【UNIX Network Programming】,其中,网络编程的第一卷已经有中文和影印的第三版出版。这几本书中,有的完全就是在讲BSD的内核,比如详解第二卷;有的则是在讲BSD创立的业界标准,比如网络编程第一卷。因此,作为BSD的爱好者来说,在阅读这些经典书籍方面的优势是得天独厚的。
作者: mafa    时间: 2006-03-10 10:44
提示: 作者被禁止或删除 内容自动屏蔽
作者: gvim    时间: 2006-03-10 10:45
原帖由 雨丝风片 于 2006-3-10 08:15 发表




他就是一俗人,本来是和风细雨的,被他一弄,咝咝的风,片片的雨,成了狂风暴雨了。。。


改啦,改啦,嘿嘿,别狂风暴雨了,还是和风细雨的好
作者: diogin    时间: 2006-03-15 19:02
我也说说几本书吧,前面两位说了好几本书了,我就不重复了
只说几本我觉得也非常好的。
一,《C专家编程》
    这本书绝对是C编程必看的书之一,看过《C程序设计语言》第二版后再来看这本书,会让你大呼过瘾,一种痛快淋漓的感觉!书的行文非常幽默,而且直接揭露写C程序时最容易犯的错误,实在非常难得。如果搭配另一
本同类的书——《C陷阱与缺陷》,看完这两本后,我想你对C语言本身的掌握已经没什么问题了。如果你还想拥有一本C语言的详尽参考手册,那我推荐《C: A Reference Manual, 5th Edition》,注意是英文版,中文版翻译得很不好,千万别买。
二,《The Practice of Programming》
    作者Brian Kernighan和Rob Pike,不用我介绍了吧,如果学C和UNIX而不知道这两个人,我觉得有点说不过去……这本书有中文版,裘宗燕翻译的,书名是《程序设计实践》,我没看过中文版,不知翻译得怎么样。学好C语言后再来看这本书,可以获得很多专家级的编程经验,当然里面的内容不限于C,还有C++和Java等,它关注的是通用的程序设计思想。
三,《用TCP/IP进行网际互联》
    这套书三卷,几乎跟Richard Stevens的《TCP/IP详解》系列齐名,卷一讲协议原理,卷二讲实现,卷三是用TCP/IP进行网络编程。经典书就是经典书,不多说了,不看可惜!
四,《操作系统》
    没错,书名就是《操作系统》,英文名《Operating Systems》,作者是大名鼎鼎的Gary Nutt,目前最新版本是第3版。这本书非常适合操作系统入门,而且非常注重与实际相结合。与被称为恐龙书的《操作系统概念》相比较,我还是偏向于看这本书,因为后者有很多东西太理论化,就像楼主说的,看过后很容易就忘了,而前者不会,它几乎每一节都有相当多的实践机会,让你手痒到马上想试试。而且这本书的语言非常适合阅读,我个人认为完全可以取代《操作系统概念》,而做为自学的极佳教材。
五,《计算机网络-自顶向下法描述因特网特色》
    这本书之于Andrew的《计算机网络》,就像《操作系统》之于《操作系统概念》,越看越像!如果你对过多的理论描述很头痛,想多看些有实践意识的书,那我推荐这本计算机网络教材,强烈推荐!书有英文版,书名是《Computer Networking - A top down approach featuring the Internet》,最新版本是第3版。
六,《UNIX程序设计艺术》
    讲UNIX哲学的,GNU顶级黑客所著,这么牛的书,我就不多说了,深入学UNIX必看之物:)
作者: 雨丝风片    时间: 2006-03-15 21:26
原帖由 diogin 于 2006-3-15 19:02 发表
我也说说几本书吧,前面两位说了好几本书了,我就不重复了
只说几本我觉得也非常好的。
一,《C专家编程》
    这本书绝对是C编程必看的书之一,看过《C程序设计语言》第二版后再来看这本书,会让你大呼过瘾, ...



《c专家编程》不错!我就是受它的影响才养成了读ansi c的习惯的~
作者: gvim    时间: 2006-03-15 21:49
原帖由 雨丝风片 于 2006-3-15 21:26 发表



《c专家编程》不错!我就是受它的影响才养成了读ansi c的习惯的~


可惜了,当时那本书距我只有0.01公分,可是我没有珍惜。。。。。。。。后悔啊。不知道有没有机会再版
作者: 雨丝风片    时间: 2006-03-15 21:53
原帖由 gvim 于 2006-3-15 21:49 发表
可惜了,当时那本书距我只有0.01公分,可是我没有珍惜。。。。。。。。后悔啊。不知道有没有机会再版


英文电子版一样的三,搜索起来还方便些!
作者: gvim    时间: 2006-03-15 21:59
原帖由 雨丝风片 于 2006-3-15 21:53 发表


英文电子版一样的三,搜索起来还方便些!


嘿嘿,个人癖好是chm的E-book,看起来比较有次序些,不太喜欢pdf的 ....
作者: bdwy    时间: 2006-03-15 23:41
哎准备努力啃英语中..........
作者: 雨丝风片    时间: 2006-03-16 08:35
原帖由 gvim 于 2006-3-15 21:59 发表
嘿嘿,个人癖好是chm的E-book,看起来比较有次序些,不太喜欢pdf的 ....


我不喜欢chm的搜索,我习惯把ebook打印出来“阅读”,然后留着ebook用来“搜索”。:em11:
作者: liuyishao    时间: 2006-03-16 19:59
原帖由 bdwy 于 2006-3-15 23:41 发表
哎准备努力啃英语中..........

同感。

作者: PCOS    时间: 2006-04-07 11:00
标题: 回复 1楼 gvim 的帖子
C语、汇编都能吗
作者: firefox_cc    时间: 2006-04-07 11:40
计算机体系结构-量化分析(影印)第3版----楼主说的是这本吧?
http://www.cnforyou.com/query/bookdetail1.asp?viBookCode=7159
这家好象最便宜,但不知信用如何.下面这个好象是勘误表
http://www.cs.uiuc.edu/class/sp0 ... s/caqa3e_errata.pdf


Advanced Programming in the UNIX Environment 2Ed
http://download.chinaitlab.com/DownFile.asp?ID=13040
http://ir.hit.edu.cn/download/unixprogram.rar


FreeBSD操作系统设计与实现
中文滴:http://www.cnforyou.com/query/bookdetail1.asp?viBookCode=3809
鸟语不要钱滴:http://kukusky.vicp.net/article/download/
0201702452%20The%20Design%20And%20Impl
ementation%20Of%20The%20Freebsd%20Operating
%20System.chm

[ 本帖最后由 firefox_cc 于 2006-4-7 12:28 编辑 ]
作者: albcamus    时间: 2006-04-07 14:20
pc体系结构, 我觉得IA32参考手册太烦琐, 而且只关注最核心的CPU, 没有讲解主板以及总线/南桥/北桥/内存/等相关概念, 关于后者的知识, 推荐一本浅显易懂的好书:《微处理器的结构与性能》。
作者: lenovo    时间: 2006-04-07 22:57
我的爱好是:
chm的一本,
pdf的一本,
pdg的不要,
英文版的一本,
中译版的一本,
如果看了感觉好,
还会去买纸版的一本。
有时还会纸版的英文和中文各买一本。
作者: gvim    时间: 2006-04-07 23:26
原帖由 lenovo 于 2006-4-7 22:57 发表
我的爱好是:
chm的一本,
pdf的一本,
pdg的不要,
英文版的一本,
中译版的一本,
如果看了感觉好,
还会去买纸版的一本。
有时还会纸版的英文和中文各买一本。


老大难得在BSD现身啊。欢迎以后常来灌水、指导。

我的爱好是:
chm一本
如果没有chm,则收藏pdf,其余格式全部pass。电子中译版不要
纸板书中文一本
如果看不懂中文,则收藏英文一本。
在中国上市的经典书,无论如何要搞到纸板。
作者: 雨丝风片    时间: 2006-04-08 08:10
俺的爱好:英文版一本。:em11:
作者: rhinux    时间: 2006-10-12 14:05
顶回来,我家里几乎有 W.Richard Stevens  所有的书,书很好
作者: huaxue    时间: 2006-10-17 17:25
谁有<计算机网络--自顶向下方法与Internet特色>的电子版本啊,谢谢啦
我的邮箱是daiyanyan@gmail.com
作者: huaxue    时间: 2006-10-17 17:31
就是前面推荐的这本书
五,《计算机网络-自顶向下法描述因特网特色》
    这本书之于Andrew的《计算机网络》,就像《操作系统》之于《操作系统概念》,越看越像!如果你对过多的理论描述很头痛,想多看些有实践意识的书,那我推荐这本计算机网络教材,强烈推荐!书有英文版,书名是《Computer Networking - A top down approach featuring the Internet》,最新版本是第3版。

谁有电子版的发一份给我吧,万分感谢
daiyanyan@gmail.com
作者: gvim    时间: 2006-10-17 18:45
木有...去emule找找吧.
作者: langue    时间: 2006-10-17 19:07
原帖由 congli 于 2006-3-9 21:12 发表

弓虽


口恩。弓虽 白勺!!
作者: langue    时间: 2006-10-17 19:13
原帖由 gvim 于 2006-3-15 21:59 发表


嘿嘿,个人癖好是chm的E-book,看起来比较有次序些,不太喜欢pdf的 ....


这不是个人癖好。我也一样。

不过打印出来的时候还是得用 pdf 的,呵呵

原帖由 liuyishao 于 2006-3-16 19:59 发表

同感。


英语确实很关键。怕就怕不传神的翻译。本来或严谨认真,或轻松幽默的文章,经过翻译就成了死水一潭,读了直犯困,有什么意思呢。要是翻译功夫到家,倒也罢。我们是中国人嘛,中国人还怕中文上的问题?

原帖由 rhinux 于 2006-10-12 14:05 发表
顶回来,我家里几乎有 W.Richard Stevens  所有的书,书很好


那当然。这些书要是没看过,就未免有些孤陋寡闻。
作者: langue    时间: 2006-10-17 19:15
原帖由 gvim 于 2006-3-9 21:06 发表


我对他的称呼都是风雨。更省略
又记得有个丝 和 片 两个字,刚好夹在里面。等式成立。


应该是片风丝雨。这年头时兴倒着来。
作者: 雨丝风片    时间: 2006-10-17 19:50
原帖由 langue 于 2006-10-17 19:15 发表
应该是片风丝雨。这年头时兴倒着来。


我咋听说喜欢竖着看呢? :em11:

ysfp.png (37.94 KB, 下载次数: 96)

ysfp.png

作者: langue    时间: 2006-10-17 19:58
原帖由 雨丝风片 于 2006-10-17 19:50 发表


我咋听说喜欢竖着看呢? :em11:


片和丝都可以作形容词使唤来着,雨和风是名词。根据汉语习惯,还是 “片风丝雨” 更贴切,所以我怀疑你是喜欢倒着看。
作者: 雨丝风片    时间: 2006-10-17 20:07
原帖由 langue 于 2006-10-17 19:58 发表
片和丝都可以作形容词使唤来着,雨和风是名词。根据汉语习惯,还是 “片风丝雨” 更贴切,所以我怀疑你是喜欢倒着看。


无理。雨和风亦是名词用作形容词。片和丝还是老老实实做名词比较符合汉语习惯。比如有鱼香肉丝,水煮鱼片,倒没听说过鱼香丝肉,水煮片鱼的。。。
作者: langue    时间: 2006-10-17 20:09
原帖由 雨丝风片 于 2006-10-17 20:07 发表


无理。雨和风亦是名词用作形容词。片和丝还是老老实实做名词比较符合汉语习惯。比如有鱼香肉丝,水煮鱼片,倒没听说过鱼香丝肉,水煮片鱼的。。。


哈哈,语言学上有个原始用法,派生用法都是变化而来的。比如名词可以做动词,而形容词亦可作为名词出现在语句中。
作者: logicBaby    时间: 2008-03-09 13:46
原帖由 gvim 于 2006-3-15 21:49 发表


可惜了,当时那本书距我只有0.01公分,可是我没有珍惜。。。。。。。。后悔啊。不知道有没有机会再版


《c专家编程》已经重印了,在china-pub已经能买到~~~   :wink:
作者: wrt304    时间: 2011-07-18 11:27
基础,收了。
作者: ligordon    时间: 2011-07-18 12:53
很不错的帖子。。。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2