首页 > 系统服务 > 详细

linux内核分析第五次实验

时间:2016-03-27 14:01:07      阅读:284      评论:0      收藏:0      [点我收藏+]

给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功能。

linux内核分析第五次实验

原文:http://www.cnblogs.com/20135118lpy/p/5325390.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!