课堂练习2.1:外部中断

简介: 课堂练习2.1:外部中断

第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
出现如下画面表示加载完毕

6ce7fba6fd834aa488d36bc6cb87499b.png

关闭bochs虚拟机
./rungdb
打开另一个终端
cd os/linux-0.11-lab/
./mygdb
break do_timer //设置断点
display jiffies
c 回车 // 一直按到第一行被0覆盖

8d0975fa63924cbf82100fd60d4cbfa1.png


第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
找到箭头对应的地址:

f496bac759ee4219b5f00d3f1e71b4c8.png


第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

9186cbe4455848df8dd01b3fda2b2e28.png

4448038784c74599bbac991b18f0a7b5.png

61a6923d92954472a96f13db01d8cae0.png8edc402b87fe496a8a7d8b06355beee9.png

fb75e4f027304653999cad122e901690.png

6980fb6e8e4f44cf921cca27b5038308.png

cd 1/linux/
make
cd ../..
./run

d43a48b8715443dabf28e4c7800abb65.png


第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

7e3808d8e45d4d2a835e34ee803f868e.png

e53fde726bb4490181d1e7a974d0a0bd.png

9402065fe54743558d203daa412b2dff.png

9498b82bb5b846b7b569ad8ff787bec4.png

e6f1f285ebcb4419a90c8ac5b168365e.png

7316963c81fe4d3b8007648c0c5d7d33.png

make
cd ../..
./run

d83fa83e9f144ffebfc9e50af6449e8f.png



目录
相关文章
|
机器学习/深度学习 PyTorch 算法框架/工具
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
这篇文章介绍了如何使用PyTorch框架,结合CIFAR-10数据集,通过定义神经网络、损失函数和优化器,进行模型的训练和测试。
992 2
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
|
存储 Unix Linux
Linux 下文件和目录的本质区别和组成
Linux 下文件和目录的本质区别和组成
922 0
|
安全 Linux 网络安全
组网神器WireGuard安装与配置教程(超详细)
组网神器WireGuard安装与配置教程(超详细)
71494 2
|
NoSQL Java 关系型数据库
部署spring boot 项目到阿里云服务器(上)
部署spring boot 项目到阿里云服务器
3506 0
部署spring boot 项目到阿里云服务器(上)
|
11月前
|
人工智能 搜索推荐 Cloud Native
拔俗AI助教系统:教师的"超级教学秘书",让每堂课都精准高效
备课到深夜、批改作业如山?阿里云原生AI助教系统,化身“超级教学秘书”,智能备课、实时学情分析、自动批改、精准辅导,为教师减负增效。让课堂从经验驱动转向数据驱动,每位学生都被看见,教育更有温度。
953 0
|
Linux 开发工具 C语言
【操作系统】实验四 增加Linux系统调用
【操作系统】实验四 增加Linux系统调用
1348 1
|
存储 小程序 C语言
【C语言程序设计——文件】文件操作(头歌实践教学平台习题)【合集】
本文介绍了C语言中的文件操作,分为两个关卡。第1关任务是将键盘输入的字符(以#结束)存入`file1.txt`并显示输出;第2关任务是从键盘输入若干行文本(每行不超过80个字符,用-1作为结束标志),写入`file2.txt`后再读取并显示。文中详细讲解了文件的打开、读取(使用`fgetc()`和`fgets()`)、写入(使用`fputc()`和`fputs()`)及关闭操作,并提供了示例代码和测试说明。
655 5
|
人工智能 机器人
LeCun团队新作:在世界模型中导航
LeCun团队提出Navigation World Models(NWM),一种用于视觉导航任务的创新世界模型。NWM结合条件扩散变换器(CDiT)和大规模参数训练,高效建模复杂环境动态,提升智能体预测与规划能力。通过学习丰富视觉先验知识,NWM在已知与未知环境中均表现出色,可动态引入约束并生成最优轨迹。实验验证其在多个数据集上的显著性能提升,但仍存在模式崩溃及高自由度动作空间的局限性。
637 7
|
存储 编解码
【头歌·计组·自己动手画CPU】一、计算机数据表示(讲解版) 【计算机硬件系统设计】
【头歌·计组·自己动手画CPU】一、计算机数据表示(讲解版) 【计算机硬件系统设计】
1556 1
|
存储
【头歌·计组·自己动手画CPU】五、单总线CPU设计(理论版) 【计算机硬件系统设计】
【头歌·计组·自己动手画CPU】五、单总线CPU设计(理论版) 【计算机硬件系统设计】
4290 2

热门文章

最新文章