2019-2020-1 20209319《Linux内核原理与分析》第三周作业

实验

一,实验

1,实验内容

内容是完成一个简单的时间片轮转多道程序内核代码。我使用的是实验楼平台

2,实验过程

首先是按照实验要求,打开实验路径:cd LinuxKernel/linux-3.9.4,然后删除原有的实验项目rm -rf mykernel,接着使用patch命令打开补丁包patch -p1 < ../mykernel_for_linux3.9.4sc.patch。效果如图:

然后编译内核代码make allnoconfigmake,最后再使用qemu命令运行内核qemu -kernel arch/x86/boot/bzImage
运行结果如图:

二,遇到的问题

1,

首先是patch命令和make allnoconfig命令不理解,上网百度后知道patch命令是用来打开补丁包,用于给现有文件打补丁,make allnoconfig命令是用来编译内核代码用的,组合make命令使用。

2,

接下来时理解这个小型内核的功能,我首先看到的是mykernel文件中的mymain.c的文件代码,如图:

可以看到主要功能是对i进行累加,累加到10w就输出i的值,然后我们看时间中断函数,如图:

可以看到每执行一次时间中断,就输出一行信息。

原文地址:https://www.cnblogs.com/ring3toring0/p/13873360.html