linux系统分析第一次实验报告
学号:413
原创作品转载请注明出处 https://github.com/mengning/linuxkernel/
使用孟宁老师的github帐号中提供的Mykernel资源,在我的机器上进行了一个关于时间片轮转调度程序的实现。
实验环境:
. VMware Workstation----->安装Ubuntu16.04虚拟机
. 安装Mykernel(基于Linux Kernel 3.9.4)
按照孟宁老师github帐号中提供的Mykenrnel安装步骤,在本机上进行编译安装。
步骤如下:
sudo apt-get install qemu # install QEMU
sudo ln -s /usr/bin/qemu-system-i386 /usr/bin/qemu
wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.9.4.tar.xz # download Linux Kernel 3.9.4 source code
wget https://raw.github.com/mengning/mykernel/master/mykernel_for_linux3.9.4sc.patch # download mykernel_for_linux3.9.4sc.patch
xz -d linux-3.9.4.tar.xz
tar -xvf linux-3.9.4.tar
cd linux-3.9.4
patch -p1 < ../mykernel_for_linux3.9.4sc.patch
make allnoconfig
make
编译过程中遇到的问题
由于gcc版本较高,在编译的过程中会遇到compiler-gcc5.h文件丢失。
解决办法:
直接使用compiler-gcc4.h修改名称进行替换之后编译通过。
###下面是安装linux-3.9.4编译成功之后的截图
编译成功之后运行Mykernel当中的例子,运行结果如下:
对应mymain.c和intterupt.c两个文件,前者是用来循环输出my_start_kernel here语句,后者是用来记录被时钟中断时候的输出。