读《自己动手写操作系统》_Orange'S:一个操作系统的实现书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > Orange'S:一个操作系统的实现 > 读《自己动手写操作系统》
dreamhead Orange'S:一个操作系统的实现 的书评 发表时间:2005-12-01 19:12:11

读《自己动手写操作系统》

用一个月左右的时间读了《自己动手写操作系统》,这是一本让人读着很过瘾,却也特别累的一本书。

对操作系统的兴趣由来已久,只是一直未能找到入门之径。操作系统教材是个令人生畏的东西,它可以告诉人有什么,却不能告诉人为什么,从那里了解的操作系统有如盲人摸到的象,得到各个部分,却不能拥有整体,加之缺乏实践的支持,理论显得苍白空洞。如Linux般的开源操作系统,虽然可以让人坐拥全部源码,但一来规模庞大,让人不知从何入手,二来源码背后更多的是业务——操作系统和硬件知识,不了解业务的人很难凭一己之力破解源码的奥秘。客观如此,更重要的还是主观的不努力。

《自己动手写操作系统》则为如我一般挑剔的人打开了一扇门,从一点一滴的小处着手,一步步构建出一个简陋的操作系统雏形——Tinix,虽然它还不具备任何实际的价值,甚至算不上一只五脏俱全的麻雀,但对于想走近操作系统的人来说,这已经足够了,如果能够随着它一路走来,至少可以具备更进一步的基础,再去遨游广阔天地,便不会迷失于庞杂的理论与源码之中。

这本书的名字给人的提示是,它是一本以实践为基础的书,因此,阅读之初我便给自己定下了步步紧跟的策略。照着书敲代码也难免出错,再者书中有一些遗漏,只有对比光盘中提供的源码才能发现其中的细微之处,所以,常常是一段代码要花相当长的时间进行调试。实践证明,这种方法需要花费相当的精力,这也是我为什么会认为读这本书很累的原因。但是这种做法对于理解书中内容大有裨益。看明白,做一遍,调试,这是几个截然不同的境界。很多细节的东西,只有经过调试才能发现。即便是自己编写的代码,如果没有经过调试,恐怕也难说真正的理解。

作者在后记中写到,这本书最大的价值在于,它让操作系统的实现这个问题变得具备“可操作性”。正是因为这样,我才可以追随它一步步走来。在这点上,我读到第三章《保护模式》就已经体会颇深了。我曾经读过很多关于保护模式的内容,不过,由于缺乏实验,我只是了解一些概念,却不曾深刻体会。在第三章中,通过一个个简单的小例子,切换至保护模式,设置GDT和LDT,使用分页,中断处理等等书本上的概念活灵活现的展现在我的面前,那些艰涩的概念一下子便得再简单不过了。

市面上关于源码剖析的书很多,但是,即便像侯捷先生这样教育大家编写的《深入浅出MFC》、《STL源码剖析》大多数情况下也只是讲了怎么做,而无法说出为什么,原因很简单,这些书是站在旁观者的角度看问题,而很多问题只有开发者才是真正理解的。所以,这些源码剖析的书有其价值,但深度上还存在相当的欠缺。这本书的作者恰恰是站在了开发者的角度来讨论问题,所以,我们有机会看到了一个思考的过程,而不仅仅是一个结果。这一点从第六章《进程》中时钟中断处理程序的一步步进化便得以管中窥豹。

不得不提一下的是作者的写作功力,读过了许多生涩的技术书籍,这本读起来很舒服的书倒显得有些另类。它属于我心目中期盼的那种“形神兼备”的好书,正是作者相当不错的表达,才使得这本书让人享受技术的同时又可以体味阅读的乐趣。当然,其中还是有些技术细节让人昏昏欲睡。

读书,首先要找到适合自己的书,这样我们才能从中有所收获,毕竟,技术书籍中很少能够找到满足所有层次需要的书。《自己动手写操作系统》的定位是一本入门书,显然,它不适合已经过了这个阶段的人,如果因此埋怨这本书档次太低,那就怪不得旁人,因为自己走错了路。

如果你和我一样,对操作系统有兴趣却不得门径,不妨《自己动手写操作系统》。

http://dreamhead.blogbus.com/logs/2005/11/1653638.html

展开全文
有用 28 无用 1

您对该书评有什么想说的?

发 表

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

对“读《自己动手写操作系统》”的回应

Sisyphus 2017-05-16 13:57:06

问一下,为什么作者的GDT与LDT实现要用汇编写,这部分不是已经可以用C写了吗?

职业学混子 2013-09-09 16:37:16

为什么那些工具装上去都不能正常运行了

职业学混子 2013-09-09 16:36:42

求高人指点!!!

职业学混子 2013-09-09 16:36:20

发现原理倒是不难理解,却在使用开发工具上悲剧了一次又一次,浪费了我大量的时间!

Crachman 2013-07-19 04:48:45

关键是现在都没得卖了啊!求书,有书可以卖给我的,请联系Q573537270.谢谢了

dapp 2012-11-13 23:13:31

绝对的好书,看得相当爽

顽势布谷 2012-06-11 16:52:42

看来非常值得一读啊!!!

sunsweet 2011-08-16 15:15:45

想看了

风雪夜归人 2011-07-19 00:24:18

一直都是觉得自己一行行敲下来的代码才会变成自己的知识,被自己的眼高手低害掺了。。。

不过一行行的手写代码又很累,有时候也觉得似乎没有效率。

杯具

Maiza 2009-01-14 10:40:28

呵呵,深有体会啊~~ 顶一个~

Jake 2008-07-22 11:37:09

MD 搞到我想看了。

欢喜阳光爱你 2008-05-23 11:21:00

恩,好书!
《Linux0.01内核分析与操作系统设计》也不错……

[已注销] 2008-01-01 00:02:53

看之前先把intel的三本看完就比较轻松了。

Coca 2006-03-06 22:12:57

希望能带给我从未有过的感觉,看过别的os书后,还是没感觉

不想长胖 2005-12-02 21:10:02

我没这方面的天赋,只希望有更多人创造更好的操作系统!

4079 2005-12-02 13:50:03

這是一本少有的書,寫得還可以。