为了更好的学习与了解一个OS微内核,了解微内核的代码如何运行十分必要,因此学会如何调试观察微内核的程序便是更好的学习与了解一个内核代码的开始。我学习的是Fiasco微内核系列中的基于x86体系的多核轻量级微内核NOVA,我们知道内核程序不能直接放在一般的IDE环境中运行,需要在硬件平台或者虚拟硬件平台上运行,在这我选用的是qemu这个虚拟平台。
环境搭建
运行文件形式搭建如下:
此环境搭建可借鉴我的另外一篇博文:https://blog.csdn.net/qq_40326481/article/details/79434934
然后将由kern和user中的源代码make生成的两个elf可执行文件放入boot文件夹:
make run写在环境最外层,运行后结果如下:
我们可以看到nova微内核已经在qemu虚拟平台上启动,因为我们的用户层写的是空循环没有加任何操作,暂时内核没有被调用,但这不影响先学习内核的启动过程。
接下来是要使用gdb来调试qemu上的内核程序,简单的介绍gdb是一款linux系统上的程序调试工具,在这它可以远