这本《30天自制操作系统》现在已经在各大书店和网上商城全面上架了,作为本书的4位译者之一,我负责翻译了本书约三分之二的内容。这是我参与翻译的第一本译著,我感到很激动也很紧张,因为我知道译者的水平对于一本译著质量的重要性,好的翻译可以成就一部作品,蹩脚的翻译也可以毁掉一部作品,正如当初第一版引进的《乔布斯传》中译本一样。这本书没有请我写译者序,因此我就自己写着玩玩,放到网上,谈谈自己对这本书以及翻译工作的感想吧。
很多读者表示,以前看过类似“21天学会C语言”之类的书,感到很坑爹,因此对这类形如“XX天”标题的书往往怀有戒心,认为这多半只是噱头,觉得很不靠谱。我没有看过其他以XX天命名的书,不过我也大概能理解这些读者的感受。在我看来,这本书的标题并不仅仅是一个噱头。打个比方来说,“30天学会核物理”可能看起来很玄,因为你没办法定义“学会”这个概念的边界。怎样算学会呢?每个读者会有各自不同的理解,因此往往有的人对结果表示满意,而另外一些人则正好相反。如果说“30天自制微型反应堆”又怎么样呢?虽然你可能还是觉得太难了,但至少这个标题能给你一个具体的目标,30天之后能做出一个反应堆来,不管它多么简陋,一定具备一个反应堆的关键性质。我认为这本书正是属于后者,不管这个操作系统多简单,它是一个真正意义上的操作系统——更何况它还真不那么简单。正如封面上所说的,这个系统虽然很小,但却能实现图形界面、多任务等高级功能,这些都是实实在在的,跟着作者的脚步,保证人人都做得出来的。
这本书的定位是零基础的读者,作者甚至找了初中生和高中生志愿者来试读这本书,以保证这本书的语言尽可能通俗易懂,可想而知作者把这本书的阅读门槛设定得有多么低。从技术角度来看,这本书并没有过多地解释技术细节,作者认为对某些细节先有一个大概的认识就行,然后通过实践再加深理解,编写操作系统这件事的最终目的还是为了有趣、好玩,技术细节讲得太多自然就不好玩了。因此,想从这本书系统学习计算机原理、汇编语言、C语言等知识是不现实的,但通过编写操作系统这个过程,你一定能够获得比系统学习这些知识更宝贵的体验。
这本书的一大特色是“从失败中学习”,每一次我们为这个操作系统实现一些功能,一开始总是不顺利的,里面会有一些漏洞和缺陷,甚至根本不能工作。作者花了很大篇幅来引导读者去寻找并发现这些漏洞,并从这些错误中学习如何想方设法让系统变得更加完善。我认为这种思路是非常有趣的,也是符合实际开发的过程的,一个东西怎么可能一下子就做得那么完美呢?用作者的意思来说,先体验了不完美的东西再努力去改进它,才能让你更有成就感呀!市面上的技术类书籍,大部分都没有这种“试错”的过程,我认为这本书所采用的写作手法是非常难得的,也是我认为值得向大家推荐这本书的主要理由之一。
如果你是一位高手,或者在编写操作系统方面有所造诣的读者,你可能会觉得这本书的讲解并不是那么系统和有条理。的确,这本书并没有对每一个技术细节进行详细地讲解,就连汇编语言和C语言的语法也只是避重就轻地介绍,你甚至觉得这个操作系统在很多方面处理都很简陋(比如文件系统、内存管理、设备驱动等等),根本算不上一个实用的操作系统,甚至连作者自己都说:“这本书无论在哪个方面都只有半瓶醋。”不过我们必须注意到,作者在带领大家从零开始编写一个操作系统,而并不是用一个现成的Linux内核为基础来做,后者也许才是现在所谓自制(定制?)操作系统的主流方式,但是这样真的能让你了解系统底层的真正机制吗?我看未必,一个Linux内核已经帮你搞定大部分底层工作了,你根本用不着自己去钻研了呀。只有从零开始才能真正了解系统底层是如何运作的,而这些知识,对于你以后在其他内核基础上制作操作系统来说,也一定是非常有帮助的。如果你看了这本书觉得很坑爹,千万别忘了看一看最后一章中一段叫做“这也能叫自制操作系统?太坑爹了!”的内容,作者早就预料到了大家的吐槽,在终点等着你们呢!(笑)看了这一段,你就明白作者在有限的篇幅中,是如何考虑布局,并如何取舍内容的,真心不容易,给作者鼓鼓掌啦!
可能大家从目录上面也发现了,这本书涉及到了“日文显示”的相关知识。在这个部分如何翻译的问题上,我和出版社讨论了很多次,由于操作系统的编写都是在底层动刀子,可以说是牵一发而动全身,我不想在这里破坏原书的结构,也不想擅自改动原来的代码,因此,在原汁原味保留原书文字的基础上,我补充了一些实现中文显示的相关内容,以体现日文显示和中文显示在实现上的异同。好在基本上只要替换字库和编码方式,就可以实现中文显示,甚至比日文实现起来还简单些(比如不用考虑不同的编码标准和半角片假名问题)。这部分补充的内容是我自己写的,但我在这方面也不是专家,不敢过分造次,补充的内容也并不多,如果有错误或者疏漏,也欢迎各位高手随时拍砖。
在这本书最后的编辑过程中,为了确认某些术语的译法,我还和作者川合秀实先生通过几封邮件(这说明作者在书里给大家留的那个邮箱地址是保证可用的哟!),川合先生是个很Nice的人,他不是一个像Matz那样在技术界鼎鼎有名的人,而只能算是一个普通的技术者吧,因此能够写出这样一本好书也是非常难得的。最后也感谢其他3位译者,以及图灵公司的各位编辑的共同努力,让这本书能够和中国的读者见面,希望大家都能从中获益。
周自恒 2012年8月 上海
《30天自制操作系统》译者序(伪)
对“《30天自制操作系统》译者序(伪)”的回应
《30天自制操作系统》热门书评
-
《30天自制操作系统》译者序(伪)
44有用 2无用 馒头家的花卷 2012-08-15
这本《30天自制操作系统》现在已经在各大书店和网上商城全面上架了,作为本书的4位译者之一,我负责翻译了本书约三分之二的内容。这是我参与翻译的第一本译著,我感到很激动也很紧张,因为我知道译者的水平对于一本译著质量的重要性,好的翻译可以成就一部作品,蹩脚的翻译也可以毁掉一部作品,正如当初第一版引进的《乔...
-
用Git管理和学习操作系统
32有用 0无用 Rayleigh! 2012-12-11
一本相当不错的书,如果动手作一边能够对操作系统的理解有着相当的提升。为了方便各位朋友对系统的改进与学习,我在github 开设关于此书的项目。https://github.com/Tassandar/OSASK如果有兴趣可以对其fork并修改,或者仅仅是对其中的代码进行阅读也是很好的事情。下面是该项...
-
一个水水的本科生的感受--这本书确实帮到了我
14有用 0无用 BAY 2013-12-30
不写力荐,只是推荐,因为,我明白能够特地找操作系统书的人,大抵都是有一定基础的牛人,对于他们或许这本书不太合适。。我只是一个普通的计算机本科生,快毕业了都。大家其实都明白的,啥都不会混个毕业。脑子里的东西若有若无,一片混沌。。连着平时的大作业什么的都得去抄。。偶然的机会在书店看到了这本书,也许只是这...
-
《30天自制操作系统》和类似“某某天”的不同之处
6有用 0无用 出版圈郭志敏 2012-09-03
之所以想把这个问题单独拎出来,是因为有读者问到了我这个问题。咨询了一下译者,又参照了译者的译者序(伪),来再次回答读者提出来的疑问,当然,我不是第一次解释这个问题。很多读者表示,以前看过类似“21天学会C语言”之类的书,感到很坑爹,因此对这类形如“XX天”标题的书往往怀有戒心,认为这多半只是噱头,觉...
-
读懂《30天自制操作系统》的捷径
5有用 2无用 出版圈郭志敏 2012-08-13
说明:这是8月15日即将上市的一本新书,本文的摘选也可以命名为《30天自制操作系统》上市之前必读。本书幽默,有趣,可以说是技术书里的幽默书,让您读起来绝对不会感到乏味。在本书上市之前,您一定先要读下此篇文章,可以避免在学习中走更多的阅读弯路,因为更多的读者会问,七百多页,30天?是的,看完此篇内容,...