5234+ 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000
1.给MenuOS增加time和time-asm命令
步骤
- rm menu -rf //强制删除
- git clonehttp://github.com/menging/menu.git // 克隆相关信息到menu
- cd menu
- make rootfs //自动编译,自动生成根文件系统,还能自动启动menuOS
2.使用gdb跟踪系统调用内核函数sys_time
- qemu -kernel linux-3.18.6/arch/x86/bzImage -initrd rootfs.img -s -S
- gdb
- file linux-3.18.6/vmlinux
- target remote:1234
- 设置断点
- 使用s进行单步的运行
3.系统调用在内核代码中的处理过程
系统调用的初始化:
4.实验:分析system_call中断处理过程
将getpid添加到menu中
首先在test.c的main函数中添加MenuConfig和相应函数
测试添加成功
调试过程如system_time,故不再重复
从system_call到iret可以用下图表示