关闭

解密《一个操作系统的实现》这本书

标签: 解密windows出版平台os虚拟机
19155人阅读 评论(1) 收藏 举报

解密《一个操作系统的实现》这本书


      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

0
0
查看评论

十大畅销【操作系统类】书籍,说说你看过哪本

《鸟哥的Linux 私房菜》、《深入理解计算机系统》、《Linux内核设计与实现》、《 UNIX操作系统设计》……        操作系统是控制其他程序运行,管理系统资源并为用户提供操作界面的系统软件的集合。操作系统(英语;...
  • markmin214
  • markmin214
  • 2013-03-30 21:14
  • 2361

本人第一篇博客:推荐一本deep learning的入门书籍

一本关于深度学习研究与应用最新进展的小书,共134页,非常紧凑,想了解深度学习的朋友不妨可以看一下。  DEEP LEARNING: METHODS AND APPLICAITON.  Li Deng and Dong Yu. Microsoft Resea...
  • zchuang123
  • zchuang123
  • 2014-03-11 10:49
  • 638

我的 计算机网络自顶向下方法 书评

  • xiaxinghxh
  • xiaxinghxh
  • 2010-06-05 21:28
  • 714

一本好书《编码的奥秘》

最近一个偶然的机会,看了几页《编码的奥秘》,才被其通俗的语言、精辟的话道出深奥的知识所折服.。于是赶快到书店购了一书,认真研读。 以下说说此书,该书是大书级人物Charles Petzold的作品。著作有"Programming Windows 95",“对整整一代程序员来说,‘...
  • yang_141
  • yang_141
  • 2004-06-25 23:06
  • 1363

《ORANGE’S:一个操作系统的实现》第一个例子的实现

如何在window7下编译运行《ORANGE’S:一个操作系统的实现》第一个例子
  • xrhwxy
  • xrhwxy
  • 2014-11-29 09:48
  • 1161

一个操作系统的实现(1)-准备工作

今天开始看《Orange’S:一个操作系统的实现》一书。这里是ubuntu 16.04下开发环境的搭建以及实现一个最小的操作系统(准确地说应该是一个引导扇区)。 工欲善其事,必先利其器。自制一个操作系统需要的工具如下: 汇编编译器NASM虚拟机算计Bochs软盘绝对扇区读写工具(这里直接使用强...
  • u010197364
  • u010197364
  • 2016-05-13 20:40
  • 10192

初学python一些会用到的零件3【参考小甲鱼的书学习】

####一些常用的操作符# #list1 = [123] #list2 = [456] #print(list1 > list2)   ##比较列表第一个元素ASCII的大小, False #list3 = ["abc"] #list4 = ...
  • nowfuture
  • nowfuture
  • 2017-10-06 16:24
  • 565

推荐大家一本书《深入理解计算机系统》

推荐大家一本书《深入理解计算机系统》,不是做广告,这本书确实写得不错,我想关注我博客的朋友也会喜欢的。
  • pennyliang
  • pennyliang
  • 2010-12-09 17:39
  • 2568

《oranges:一个操作系统的实现》阅读笔记

第一章 第一个程序 1. 为什么引导扇区要以0x55aah为结尾,还有为什么org 0x7c00h对执行程序有什么作用? 第一个程序我用bochs+软盘映像按照书上第二章的命令来实验, 毕竟现在找个软盘不容易。但是整个实验现象是如何产生的,是如何到最后在屏幕左上角显示出 Hello, Os Worl...
  • superdahuangfeng
  • superdahuangfeng
  • 2016-01-01 17:54
  • 1374

C标准库这本书怎么样

关于C标准库 评论读后感:本书对深入研究标准C库源码有一定帮助读后感:恩,不错,就是太贵了啊。。。。读后感:非常不错的一本书 个人非常推荐也非常喜欢读后感:C标准库是一本好书,当然得是你愿意读书并有大把时间的情况下读后感:我觉得提供的函数能再多些就更好了C标准库 当当上购买 当当网全场免运费...
  • lang_csdn
  • lang_csdn
  • 2010-12-07 13:54
  • 678
    个人资料
    • 访问:3934911次
    • 积分:56592
    • 等级:
    • 排名:第57名
    • 原创:1462篇
    • 转载:83篇
    • 译文:1篇
    • 评论:3787条
    博客专栏
    文章存档
    最新评论