STEP 1——编写一个最简单的系统调用
最简单的系统调用当然是调了它之后什么都不干了,但是我还是决定让它干一件很是经典的事情,想调试器输出一条语句“Hello World!”。几乎每种编程技术的开始都有由一个名为“HelloWorld”的程序开始,我不想破坏这一传统。
下面我们就来一步步完成这个系统调用。完成这个系统掉用共需要修改2个内核文件,并要编写一个用户程序来调用这个系统调用。
首先要修改的就是系统服务表。系统服务表位于base/ntos/ke/i386/中,名为systable.asm。
打开这个文件,可以很容易的找到一大长串以TABLE_ENTRY开头的项目,这里每一个TABLE_ENTRY就代表一个系统调用,最后还有一个项是 TABLE_END 295,这表示一共有296个系统调用(从0开始计算)。我们呢,就在列表的最后加上一项,