在上一篇中我们实现了一个真正意义上的引导程序,此引导程序将计算机从启动状态时的
16位实模式转到了32位的保护模式下,并且将一个用c语言写的真正的内核载入了内存执 【相关文章:Cache浏览器】 【扩展阅读:Python 与 C++ 程序的简单实例】行,引导程序的工作已经完成,接下来的工作就是编写一个优良的操作系统的内核,这是 【扩展信息:利用Repeater控件显示主-从关系数】 一个非常巨大的工程,我们需要一步一步的来完成,同样,今天我们只完成非常非常小的 一步。在上一篇中,内核只是显示出一个提示语,标志着内核已经启动了,它还不具有同 用户的交互功能,在这一篇中,我们将完成一个可以接受用户键盘输入的内核,这是内核 具有交互功能的第一步——能接受用户输入。 本篇所实现的内核主要采用c++语言书写,中断处理部分用到了很小一段汇编代码,因此 从本篇中你还将知道怎样实现c++与汇编语言的混合编程,本内核开放源码,采用的是c++ 类模式的开放结构,你可以很轻松的修改它,让它功能更强,性能理好。 这里想首先介绍一下本内核的程序结构,这样你在阅读源代码的时候,会一目了然。 本内核定义了一个tvideo类,封装了对于vga显卡的处理,它的声明如下: class tvideo{ public: static tpos getpos() ; static void setpos( tpos& pos ) ; static void setpos( unsigned short x , unsigned short y ) ; static void clearscreen() ; static void print( const char *msg , ecolor frontcolor = clwhite , ecolor backcolor = clblack ) ; static void print( const char msg , ecolor frontcolor = clwhite , ecolor backcolor = clblack ) ; ecolor backcolor ; ecolor frontcolor ; ... 下一页