【头歌】操作系统 课堂练习2.3:系统调用
课堂练习2.3系统调用第1关版本1内核执行的前 3 个系统调用任务分析版本1内核回答下列问题系统运行时执行的前 3 个系统调用的编号和名字分别是什么第1关 任务过程打开终端输入以下代码cp /data/workspace/myshixun/exp1/1.tgz ~/os cd ~/os/linux-0.11-lab tar -zxvf ../1.tgz rm -rf cur ln -s 1 cur cd 1/linux make cd ../.. ./rungdb打开另一个终端输入以下代码cd ~/os/linux-0.11-lab ./mygdb此时会进入gdb在gdb输入b system_call c disas display $eax b *0x7780 c x/3i $eip si再次在gdb输入b system_call c disas display $eax b *0x7780 c x/3i $eip si再次在gdb输入b system_call c disas display $eax b *0x7780 c x/3i $eip si在文件中正确输入答案第2关命令 ls 执行的系统调用任务分析版本1内核回答问题系统启动后在可执行文件 ls 运行时无参数会依次执行哪些系统调用第2关 任务过程打开终端输入以下代码cd ~/os/linux-0.11-lab tar -zxvf ../0.tgz rm -rf cur ln -s 0 cur cd 0/linux make cd ../.. ./rungdb打开另一个终端输入以下代码cd ~/os/linux-0.11-lab ./mygdb此时会进入gdb输入以下代码b do_execve commands 2 p current-start_codefilename end c此时请再次输入c直到只出现continue后在 bochs 虚拟机画面输入命令 ls 并回车b system_call commands 3 p $eax p sys_call_table[$eax] end然后开始输入单行c大概20个左右注意不要打太多或太少最后测评不行就再输输入相应答案