首页 > 代码库 > 操作系统开发的乐趣

操作系统开发的乐趣

为什么要开发底层操作系统?下文译至一个日本人写的文章。挺有意思的。

-----------------------------------------------------------------------

对独立进行OS开发的人来说,经常会听到这样的意见:

「自己开发OS不是傻B吗?

???。这就像在碰到住在加利福尼亚的老美说:「寿司还是加利福尼亚卷的最好啊!」就觉得不爽。因为,OS开发是程序开发中特别有意思的。我想问:「你小子真是知道才这么说的吗?

那么,OS开发到底是为什么这么有趣吗?试着总结了一下个人的意见。

1)自己就是创造世界的上帝的那种真正的乐趣

OS的设计者就是上帝。从什么都没有的状态开始,一点点的创造世界。不久按自己想法描绘的世界没变成了现实。正是"make world"。这不需要材料也不需要道具。甚至不需要电脑。有纸和铅笔,或是仅仅在你的脑海里,也能创造OS这个自己的世界。

2)完成系统后的驾驭感

例如按一下键盘的键。那一瞬间,键盘的中断,内核,调度器,SHELL, 输出到画面,所有的代码都在脑海里跑了一遍。所有的这一切都做为自己创造的结果被得到。和这个系统融为一体的感觉和驾驭的感觉,这是其他的编程是体会不到的。

3)技术的难度和可能性

OS的研究在很久前就认为要结束了,但是并非如此。由于需要支持不断更新的硬件和多种环境、OS也不断的在进步。OS的技术非常的深奥,还有很多可能的技术没有被发掘。对OS的研究决不能满足。

4)软件设计的自由

内核处在用户的要求和硬件的制约之间,各种各样的设计制约很多。但是,转换一下视角,内核也可以说是不受其他软件的一切干涉。那就是说,可以不被别人的软件设计制约对内核进行自由的设计。怎么去做完全是由自己决定。

5)硬件编程的魅力

对硬件进行编程,有特别的难点。不按规格说的执行,时序和顺序的问题,访问硬件需要很怪的方法等等。这些麻烦的处理,如自己所想的那样能控制时,这种成就感是难以言表的。

6)接触到人类智慧的喜悦

自己写OS的时候,就是感受到世界上也有和自己为一样的问题苦恼,然后加以解决的许多优秀的人才。这也许是OS的领域相对来说,研究的历史比较早的缘故。自己开发OS的场合,跟仅仅读一些代码进行研究的场合相比,别人的内核代码能早10倍理解,享受100倍的乐趣。

确实因为兴趣去开发OS非常花时间。也早就知道这很傻。但是,确实「寿司还是金枪鱼的腹部最味美」。当你领教了它的魅力后,就已经不能满足于加利福尼亚卷了。

译至:http://d.hatena.ne.jp/kohtani/20070403/p1