一直都有一个梦想,就是写一个自己的操作系统。相信是每个喜欢计算机的geek的梦想,但不是每个人都能下定决心去做。今天我总算下定决心,踏踏实实的动手了。写一个操作系统真的很复杂,但是要写一个demo,未必就那么困难。网络上有很多好的小的OS系统,而且都有很好的文档和注释,有些还以纯粹的教学为目的。我选择了skelix()这个超小的OS为模仿的基础,利用一些业余时间,断断续续的完成了大部分skelix的功能,可以说,这个工程还挺艰辛的。我觉得这个demo的却简单到大多数人都可以完成,只要有足够的耐心,关于硬件的参考能够仔细阅读,遇到的问题大多都是一开始并没有对一个仔细的理解一些CPU相关的技术,其他就是编码失误和难于调试。skelix的有点在与简单,没有多余的东西,基本上可以说是用最简洁的代码实现一个操作系统应该有的基本组件,比如进入保护模式、中断处理、多任务、调度、分页、装载程序、文件系统等。我在学习的过程中同时修改它的一些原始设计,因为为了简单,skelix基本上没有考虑扩展的问题,还有一些magic number,没有宏定义,很难知道它的具体含义。我把自己的这份代码放到google code上(),做完skelix的实验后,下一步在计划一个简单的vesa驱动和多控制台实现,其实最开始我就是想能在一个屏幕上看到更多的调试输出:),现在在看视频端口编程,一切好像又是从头开始。
阅读(976) | 评论(2) | 转发(0) |