linux内核分析第五次实验

给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不进入

实验

linux内核分析第五次实验
进入menu菜单
linux内核分析第五次实验
编辑makefile
linux内核分析第五次实验
make rootfs
linux内核分析第五次实验
老师的time功能
linux内核分析第五次实验
加入上周自己写的getpid功能。
linux内核分析第五次实验
linux内核分析第五次实验
展现自己的getpid功能。
上一篇:yii框架详解 之 CActiveRecord


下一篇:pip命令安装