第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 ../..
./run
出现如下画面表示加载完毕
关闭bochs虚拟机
./rungdb
打开另一个终端
cd os/linux-0.11-lab/
./mygdb
break do_timer //设置断点
display jiffies
c 回车 // 一直按到第一行被0覆盖
第2关:第一次时钟中断
quit // 退出gdb,保留第一关的环境
在一个终端里切换到目录~/os/linux-0.11-lab
cd os/linux-0.11-lab
./rungdb
打开另一个终端
cd os/linux-0.11-lab
./mygdb
break do_timer
c
p jiffies
bt
finish
disas
si
si
disas
b *0x77dd
c
si
disas
找到箭头对应的地址:0x0000769c
第3关:第六次时钟中断
quit // 退出gdb,保留第一关的环境
在一个终端里切换到目录~/os/linux-0.11-lab
cd os/linux-0.11-lab
./rungdb
打开另一个终端
cd os/linux-0.11-lab
./mygdb
break do_timer
c
p jiffies
c
p jiffies
c
p jiffies
c
p jiffies
c
p jiffies
c
p jiffies
bt
finish
disas
si
si
disas
b *0x77dd
c
si
disas
找到箭头对应的地址:
第4关:修改版本 1 内核源码,使得每次时钟中断发生时,都在屏幕上输出字符 ‘t’
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 ../..
./run
cd 1/linux/
make
cd ../..
./run
第5关:修改版本 0 内核
cp /data/workspace/myshixun/exp1/1.tgz ~/os/
cd os/linux-0.11-lab
tar -zxvf ../1.tgz
rm -rf cur
ln -s 0 cur
cd 0/linux/
make
文章来源:https://www.toymoban.com/news/detail-526812.html
make
cd ../..
./run
文章来源地址https://www.toymoban.com/news/detail-526812.html
到了这里,关于课堂练习2.1:外部中断的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!