【头歌】操作系统 课后作业2.2:中断/异常的处理过程
第1关:陷入指令分析
第1关 任务描述
分析版本1内核,回答下列问题:
1.在 0 号进程执行 fork 系统调用中的陷入指令(int 0x80)之前,当前指令位置(CS:EIP)和栈位置(SS:ESP)分别是多少?
2.使用 si 命令执行了该指令后,新指令位置和栈位置分别是多少?
3.此时栈中保存的恢复点位置和用户栈位置分别是多少?
第1关 任务过程
1.1 在第一个终端输入
cp /data/workspace/myshixun/exp2/1.tgz ~/os
cd ~/os/linux-0.11-lab
tar -zxvf ../1.tgz 1
rm -rf cur
ln -s 1 cur
cd 1/linux
make
1.2 在第二个终端输入
cd ~/os/linux-0.11-lab
./rungdb
1.3 在第一个终端继续输入
cd ~/os/linux-0.11-lab
./mygdb
1.4 gdb调试输入
list
list
list
list
list
使用list命令查看函数语句
disas
或者使用disas命令查看函数反汇编指令
b 145
c
n
x/5i $eip
si
x/5i $eip
info registers
si
info registers
x/5wx $esp
使用 si 命令执行了陷入指令(int 0x80)前
使用 si 命令执行了陷入指令(int 0x80)后
1.5 退出gdb调试
kill
y
quit