Archive

Posts Tagged ‘gleery’

gleery os kernel

April 29th, 2009

关于gleery kernel 的介绍似乎早就应该开始了。 gleery是一个非常tiny的os kernel,其实就它目前的功能来说只是一个bootstrap plus版。虽然功能很简单,但是学到的东西还是非常多的,而且最困难的部分也已经被跨越了。

gleery os kernel主要是大四上完成的,实现一个自己的os kernel总是一件很让人感兴趣的事情。我首先从阅读《自己动手写操作系统》一书开始,作为内核领域内的新手,这样的一本入门级的指导书可以省去很多盲 目的尝试。操作系统内核的编写在一开始的时候其实是面向机器的编程,需要了解很多Intel处理器的相关知识和汇编指令的工作方式。我觉得这是最困难的部 分,一旦克服了这一关,后面的工作就是纯粹的软件设计和实现的工作了。在编写的过程中我参考了很多资料,包括minix源代码,linux早前版本的源代 码,以及Intel处理器的手册和一些其他资料。

我执意要在Windows上开发这个os,所以也遇到了很多障碍。之前就花了很多时间去弄清楚怎么将gcc编译的obj文件和nasmw编译的o文 件链接到一起,并且声称没有PE头或ELF头的二进制程序。这方面的资料很少,因为大多数人都是在linux上做开发。不过在windows上的开发也给 我带来很大的便利,比如我用source insight建立工程极大的方便了代码的编写和阅读。

下面介绍一下我在开发中使用的开发环境和工具:

source insight:编辑器,以及minix代码的阅读器,同时提供了一键编译和一键调试功能。

一键编译主要是设置source insight 调用make.exe实现了,主要的流程在makefile文件里面控制。

一键调试则是调用bochs的程序,设置启动参数实现的。

有了这两个功能,开发过程就变得非常舒适了,代码的修改和调试可以马上看到结果。在此之前我需要在命令行里面编译代码,然后手动运行bochs,如果需要频繁的改动然后查看结果,效率会非常低。

编译器: dev C++ 中自带的mingw, 以及nasmw。

自定义的工具:自己用C写了一些工具用来生成最后的软盘镜像。

这次决定发布的版本只是一个demo版,仅仅演示了时钟和键盘中断的效果,以及一个IDLE进程。以后会发布一个更加完善的版本。

你可以从http://code.google.com/p/gleery/上check out到源代码

Author: gleery Categories: 程序设计 Tags: , ,

写在开始的——

October 21st, 2008

  从开始写博客起到现在拥有了自己的独立空间和域名已经过去了2年多,中间因为一些原因曾经中断了很久,也换过了不少地方,最早的歪酷,到blogspot, 还有donews和baidu hi,这些地方都留下了自己的痕迹。博客的质量其实一直很低,很少有精力去写出一些高水平的文章出来,大多是简单的文字而已。从今天开始自己也算是个小小的站长了,除了写一些自己的技术和生活的体验外,我想自己还会做一些有意思的web的小东西和大家分享。

   在这里的第一篇文章记录了我此时的一点点欣喜,和对未来的憧憬~

Author: admin Categories: 闲话生活 Tags: ,