畅销书《 自己动手写操作系统》再版——《 Orange'S:一个操作系统的实现》_Orange'S:一个操作系统的实现书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > Orange'S:一个操作系统的实现 > 畅销书《 自己动手写操作系统》再版——《 Orange'S:一个操作系统的实现》
冰冰子 Orange'S:一个操作系统的实现 的书评 发表时间:2009-05-25 10:05:07

畅销书《 自己动手写操作系统》再版——《 Orange'S:一个操作系统的实现》

5月18日见到了《Orange'S:一个操作系统的实现》的样书,多少有些激动。想一想前一版本《自己动手写操作系统》是那么畅销,这一本一定不能含糊。整个出版过程我能看到作者于渊为此付出的努力,还在自己排版的过程有深入体会,通过于渊的讲座也让博文视点的员工分享到他在排版过程中的很多心得。

应该有几万个朋友读过《自己动手写操作系统》了,本书的第2版《Orange'S:一个操作系统的实现》出来肯定有非常多的朋友想问,这两本书到底有何区别呢?就此博文视点对本书作者于渊进行了简单的采访。

*提问:《Orange'S:一个操作系统的实现》与《自己动手写操作系统》明显区别在哪些方面?*
于渊:作为《自己动手写操作系统》(以下简称《自》)的第二版,《Orange'S:一个操作系统的实现》(以下简称“新版”)主要有以下变化:

   1. 书中示例操作系统的名字改为 Orange'S
   2. 书名改为《Orange'S:一个操作系统的实现》
   3. 增加了有关 IPC、FS、MM 等内容
   4. 将默认开发平台改为 GNU/Linux,同时兼顾 Windows
   5. 更改了排版工具,并使用技术手段增加书的可读性,比如代码行号的运用
   6. 建立专门网站以服务读者
   7. 建立专门讨论区供读者交流

读过《自己动手写操作系统》的读者一定知道,其中默认使用 Windows 作为开发平台,同时使用虚拟机来编译及运行自己的
OS,在新版中这一点发生了变化(如上述第
4条所述),具体的变化原因在书中第二章有详细的叙述。虽然开发平台是第二位的事情,但书中的默认平台却不免影响到叙述细节,所以,如果读者基于自己的原因坚持在Windows
上开发(可能的原因或许有对
Linux不熟悉、需要边开发操作系统边登录某些网上银行等等),则可能对读到的内容进行一点点额外加工。当然,所需的额外加工是少量的,而且在第二章中也有专门的文字介绍如何在两种平台下搭建工作环境。此外,如果读者不介意花钱,还可以同时购买《自己动手写操作系统》和新版,相互参照阅读。

 *
 提问:《Orange'S:一个操作系统的实现》与《自己动手写操作系统》相比是否有所增加吗?增加了多少内容量呢?*
于渊:新版的内容是有增加的,新增文字约占整本书的三分之一,《Orange'S:一个操作系统的实现》新增代码则是《自己动手写操作系统》中代码的数倍。这些新增的内容,读者只能从新版中获得。目前并未有将新增内容单独成书的打算,所以读者即便仅想阅读第八章以后的内容,也需要购买整本《Orange'S:一个操作系统的实现》。已经购买了《自己动手写操作系统》的读者可能觉得有点浪费,但事实并不如此,因为《自己动手写操作系统》的内容经过了重新排版、修订和编辑(比如代码格式进行了重排,更方便与光盘中的文件对照阅读,以及其中所有的矢量图都用pgf/TikZ
重新绘制等)笔者倾注的心血使得新版的感官已经大为不同,读者一看便知。
 *
提问:在《自己动手写操作系统》大卖的时候,您是否想过会有第二版出版呢?*
于渊:坦白讲,我在写作《自》的时候,并没有想过今天会有一个第二版。原因在于,我希望这本书是用来填补空白的,而不是重复去做别人已经做得很好的事情。所谓填补空白,具体说就是让像我一样的操作系统爱好者在读完本书之后,能够有信心去读其他比较流行的开源的操作系统代码,有能力从零开始自己动手写操作系统,而这个任务第一版已经完成了。

 *
提问:那么为什么又写作了第二版呢?*
于渊:原因有几个方面。第一,虽然第一版未曾涉及的进程间通信、文件系统等内容在许多书中都有讲解,但阅读的时候还是感觉有语焉不详的通病,作者本人可能很清楚原委,但写得太简略,以至于读者看来未必清晰。第二,我自己想把这个圈画圆。第一版的书虽然完成了它的使命,但毕竟到书的结尾,读者看到的不是一个真正的操作系统,它没有文件系统,没有内存管理,什么也干不了。在第二版中,你将会看到,你已经可以通过交叉编译的方式为我们的实验性OS编写应用程序了,也就是说,它已经具备操作系统的基本功能,虽然仍然极其简陋,但第一个圈,毕竟是已经圆起来了。第三,实践类的操作系统书籍还是太少了,以至于你要想看看别人是怎么做的,除了读以《操作系统:设计与实现》为代表的极少数书籍之外,就是一头扎进源代码中,而结果有时相当令人气馁。我自己也气馁过,所以我在第二版中,仍然试图把话说细一点,把自己的经验拿出来分享。而且我选择我能想到的最精简的设计,以便让读者不至于陷入太多细节而无法看到全貌。我想这是本书可能具有的价值所在──简化的易懂的设计,还有尽量详细的文字。
 *
提问:这本书为何不考虑用WORD排版?*
于渊:新版的排版是我用LaTeX自己完成的。在排版中我花了一些工夫,因为我希望读者购买的首先是一本易于阅读且赏心悦目的书,其次才是编写操作系统的方法。另外,书中列出的代码均由我自己编写的程序自动嵌入LaTeX源文件,从而严格保证书和光盘的一致性,读者可以根据文件名和行号方便地找到光盘中代码的准确位置。

 *
提问:第二版还有哪些区别呢?Orange'S这个名字很特别,有什么寓意吗?*
于渊:新版中还有一些小的变化。首先是操作系统的名字改变了,原因在于虽然我们的试验性OS从前辈们那里借鉴了很多东西,但其各个部分的设计(比如文件系统和内存管理)往往有其独特之处,所以我将原先的Tinix(本意为TryMinix)改成了新名字Orange'S(这个名字来自于我的妻子),以表示它们的不同。另外,书中的代码风格,有些地方也做了调整。
新版中,原先的叙述风格都尽量地得以贯彻,而在表现形式上,新版用了更多心思,我相信读者能在其中发现这些特点:关注动手细节,探寻代码背后的故事,结果与过程兼顾,内容与形式并重。加上专门为本书建立的网站和讨论区,我相信读者能更容易地阅读,更轻松地学习。
更多详情请登录 http://osfromscratch.org/ 。




 《Orange'S:一个操作系统的实现》
出版单位:电子工业出版社 作者:于渊 ISBN:978-7-121-08442-3
本书官方网站:http://osfromscratch.org/
网络购买地址:http://www.china-pub.com/195571

展开全文
有用 13 无用 0

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

发 表

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

对“畅销书《 自己动手写操作系统》再版——《 Orange'S:一个操作系统的实现》”的回应

鹰扬校尉 2014-04-05 11:18:51

正在看,访谈不错!

飞鸟 2011-07-19 10:16:50

我觉得第二版的整体排版比第一版要好。

四卯先生 2011-04-23 15:54:35

没看过 想入手呢

AJISky 2010-04-24 00:47:33

单从书的材质感觉没第一本实在,像盗版的

AJISky 2010-04-24 00:46:47

感觉没第一本实在,像盗版的

灵修若木 2009-10-17 21:38:41

字大了,浪费纸张

yueq 2009-09-26 13:29:12

《自己动手写操作系统》里面太多的地方用了汇编,很多地方用C就好了。

六厘 2009-09-08 19:48:25

字码有点儿小,看着很累啊,尤其是代码

KOJO桑 2009-07-06 11:01:05

支持转移到Linux上来,第一版我也购买过,但是一看到要在Windows上做,我就觉得相当不专业。 第二版绝对精彩~! Linux 0.01 也许就是这样诞生的。 博观而约取,厚积而薄发~!

冰冰子 2009-06-12 14:23:04

希望大家随时提出对本书的评价和意见,感谢大家

天不再蓝 2009-06-12 00:39:08

赞叹,看过第一版,也试着实现了一些功能。希望有更多人看了这本书投入到操作系统这个需要几十年如一日钻研的邻域中,中国的IT业靠你们了。

hap0129 2009-06-09 13:16:51

现在原创的书太少了,作者的精神令人折服,谢谢您为读者做出的贡献。

冰冰子 2009-06-08 21:36:58

本书的官方网站http://osfromscratch.org/

本站是《Orange'S:一个操作系统的实现》官方网站,但内容却不仅限于此。在关注操作系统开发的同时,本站对于 Linux、编程语言、算法和数据结构等内容都可能有所涉及。

欢迎大家关注 !

冰冰子 2009-06-08 20:54:56

支持于渊,国强全靠吾辈,点滴亦是努力!

231ce87f077 2009-05-25 21:15:56

有空看看,听说这次使用的都是开源的解决方案,不错!

[已注销] 2009-05-25 16:57:15

嗲的嗲的

八大人觉 2009-05-25 11:20:00

买一版没多久,晕了……下回买之前先提前打听下是否要出第二版