您的位置:首页 > 运维架构 > Linux

linux内核分析第五次实验

2016-03-27 13:07 417 查看

给MenuOS增加time和time-asm命令

上周是从用户态的观点来理解系统调用,这周从内核态出发研究系统调用,通过跟踪调试,首先把上周的两个命令加到MenuOS中:

rm menu -rf 强制删除原menu文件
git clone http://github.com/mengning/menu.git 从github中克隆

cd menu
make rootfs 运行自动编译脚本,生成根文件系统,启动MenuOS


更新menu代码到最新版

在main函数中增加MenuConfig(一个命令一行,与上面的格式一样)

增加对应的time和time-asm函数(就是上周写的两个函数)

make rootfs (rootfs是一个脚本,可以自动生成,编译)

使用gdb跟踪系统调用内核函数sys_time

qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img -s -S

gdb
(gdb)file linux-3.18.6/vmlinux      //加载符号表
(gdb)target remote:1234     //连接
b sys_time:在系统调用time的位置设置断点
c:继续执行,停在断点处
n/s:单步运行,s进入函数,n不进入

实验



进入menu菜单



编辑makefile



make rootfs



老师的time功能



加入上周自己写的getpid功能。





展现自己的getpid功能。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: