实验
一,实验
1,实验内容
内容是完成一个简单的时间片轮转多道程序内核代码。我使用的是实验楼平台
2,实验过程
首先是按照实验要求,打开实验路径:cd LinuxKernel/linux-3.9.4
,然后删除原有的实验项目rm -rf mykernel
,接着使用patch命令打开补丁包patch -p1 < ../mykernel_for_linux3.9.4sc.patch
。效果如图:
然后编译内核代码make allnoconfig
和make
,最后再使用qemu命令运行内核qemu -kernel arch/x86/boot/bzImage
运行结果如图:
二,遇到的问题
1,
首先是patch命令和make allnoconfig命令不理解,上网百度后知道patch命令是用来打开补丁包,用于给现有文件打补丁,make allnoconfig命令是用来编译内核代码用的,组合make命令使用。
2,
接下来时理解这个小型内核的功能,我首先看到的是mykernel文件中的mymain.c的文件代码,如图:
可以看到主要功能是对i进行累加,累加到10w就输出i的值,然后我们看时间中断函数,如图:
可以看到每执行一次时间中断,就输出一行信息。