Add chapter one -- introduction
[thunix.git] / doc / Chapter1-Introduction
blobcff7a5a2469fc18a78e42fd7e0921a44f20f645d
1 Chapter 1 Introduction
4 我想在正式的introduction之前, 我有必要写下我为什么想写一个操作系统。 于是, 写着写着, 不禁地把整个大学四年的生涯都写出来了, 不禁感叹时间过的太快, 自己所学的太少, 离自己大一当初暗自定下的目标相差甚远! 
6 大一接触了C语言, 在发现自己喜欢上了C语言时, 就感觉挺想知道些计算机的内幕, 如计算机是如何启动的? 操作系统又是如何工作的? 这所有的一切, 使得我在大一暑假时就自学汇编语言, 并在大二时开始想着从最简单的hello world操作系统开始, 一步一步实现一个属于自己的操作系统。 这期间遇到了很多问题, 因为操作系统它涉及到的东西太多了。 细到计算机如何启动, 大到整个内核是如何构架的。所以, 我边看着些英文网站, 以及相应的英文书籍(如, The i386 system programming)等等, 看一部分, 实现一部分。到大二快结束时, 便有了一个小的雏形。 大二暑假自学了些反汇编, 破解之类的, 之后在大三的上半个学期深入了些反汇编方面的学习, 如病毒分析, 加密解密, 等等之类的。 以至于有一个月的时间我都在想我以后将要从事哪个行业: 反病毒或是linux内核开发。 linux 内核开发一直是我所非常期盼的, 但linux内核太庞大了, 以至于我失去了些信心, 反病毒很好上手, 倒还真让我差点走上了反病毒的道路。 不过, 最后, 我还是选择了linux, 我想这个结果无疑是正确的, 因为之后, 我学习了shell, regex, sed等等有着传统UNIX美的技术, 才让我真正的明白, Linux是那么的自由与高效。 大三的下学期, 有幸地参加了一个google举行的活动, 这使得我忙到近大四开学, 很显然, 这活动改变了我的一生, 使得我第一次赚了笔小钱, 并自已交了大四的学费, 并再也没有向家里要过钱。 然而最重要的不是这些, 而是我学到了很多, 也第一次认识了kenerl上的大人物, H.Peter.Anvin, 他是这个活动中我的mentor, 见识了我等小辈与大师级别的差距。这使我经常感慨于自己为什么那么渺小, 为什么他人能学到这种地步? Linus又是怎么一个神? 大四, 就忙于找工作与工作, 先后在上海, 杭州, 最终在北京落脚, 我感觉我还是庆幸的, 因为我进入了一著名外企, 一个非常自由的公司, 从事着我喜欢的linux工作, 也让我成长了不小。因此, 自大二之后, 至今, 我都没有时间去完善我一直想完善的Thunix, 这显然很遗憾。 所以, 本质上讲, 我是在给我大二曾写过的东西写文档(我真希望我那时就写好了)。 
9 接下来, 便是正式的introduction了。
10 这一论文将详细的讲述如何实现一个简单的小型操作系统。 从最简单地只输出一个字符的操作系统开始中, 逐渐地实现保护模式, 中断, 键盘驱动, 时钟驱动, console的编程, 软盘驱动, 以及EXT2文件系统的实现。 当初写thunix的原因也就只是爱好, 现写这论文(或叫文档), 倒是希望我们学校的操作系统教学老师在讲解操作系统时多些实例。