学号后三位:069
原创作品转载请注明出处 + https://github.com/mengning/linuxkernel/
一、实验内容
本次实验分三部分:
- 跟踪分析fork
- 跟踪分析execve
- 跟踪分析schedule
二、实验过程
跟踪分析fork
环境配置:
rm -rf menu
git clone https://github.com/mengning/menu.git
cd menu
mv test_fork.c test.c
make rootfs

可以看到fork命令已经在menuos中:

以调试方式启动menuos:
qemu –kernel …/linux-3.18.6/arch/x86/boot/bzImage –initrd …/rootfs.img –s –S
另外再打开一个终端,在gdb界面中输入如下指令:
(gdb)file linux-3.18.6/vmlinux //加载符号表

这篇实验报告详细记录了使用gdb跟踪Linux中的fork、execve和schedule系统调用的过程。从设置调试环境到分析系统调用的执行路径,包括fork中的do_fork、copy_process,execve中的do_execve、load_elf_binary,以及schedule中的pick_next_task和context_switch。实验揭示了Linux系统调用如何驱动进程的创建、执行和切换。
最低0.47元/天 解锁文章
3926

被折叠的 条评论
为什么被折叠?



