天天看点

自己动手写内核(序)(原创)

我对深入研究系统内部非常感兴趣,在大学课程中学习了编译原理相关课程。尝试写过一个编译器,不过它看起来更像一个汇编器。后来开始使用FreeBSD,我对它到底怎么实现的感到很好奇,于是找了一份源代码开始阅读,和你想象的一样,我在数百万行源程序中深陷泥潭。我需要一把来复枪,结果确找到了一堆加农炮:)

后来,我找到了"skelix", 一个os内核,运行在i386机器上,支持多任务,分页机制,虚拟内存,文件系统等。这个tutorial教你怎样一步一步实现skelix,虽然它看起来象一个玩具。这样做的好处是看起来更清晰一些。如果你发现bug或好的建议可以告诉原作者:xiaoming.mo at skelix dot org。译者:jinglexy at yahoo dot com dot cn(email and msn both),上海体育馆。预计7月份翻译完成(2007年),因为自己的事情比较多,只能偶尔译译,进度大约2周译1课吧,也可能快些,如果有帮忙的就更欢迎了。最终整理的文档会做成一个chm或pdf文件发布在http://www.cppblog.com/jinglexy(新的博客地址是:http://blog.csdn.net/jinglexy),方便读者阅读。如有不当或错误之处希望大家指正。

最 近也在准备写一个微内核os,兼容posix,跨平台等(很多代码会出自linux,当然也会兼容linux驱动)。网络上有了很好的题材,有兴趣的可以 结集一下哦。MSN: jinglexy at yahoo dot com dot cn,qq群见http://www.cppblog.com/jinglexy(新的博客地址是:http://blog.csdn.net/jinglexy)上面的公告。

晕,这不是广告吗?

目录

第0课:环境需求:gcc, vmware,一些资料,风格约定

第1课:引导程序:来自黑暗世界的"hello world"

第2课:保护模式: That's the first tough one

第3课:辅助函数:kprintf, libcc, print_c

第4课:中断和异常1:What a great pleasure to see some error messages.

第5课:中断和异常2:"Hello World!" comes back again

第6课:多任务:One bit typo might drive you crazy, believe me

第7课:文件系统:A long journey, but not difficult

第8课:内存管理:Huge Disappointment

第9课:系统调用和可执行程序:Little relief

                         上海体育馆  jinglexy at yahoo dot com dot cn

                         2007.05

继续阅读