课堂练习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



目录
相关文章
|
Linux iOS开发 MacOS
typora下载和破解(仅供学习)
Typora 一款 Markdown 编辑器和阅读器 风格极简 / 多种主题 / 支持 macOS,Windows 及 Linux 实时预览 / 图片与文字 / 代码块 / 数学公式 / 图表 目录大纲 / 文件管理 / 导入与导出 ……
164321 11
typora下载和破解(仅供学习)
|
存储 算法 数据挖掘
【2023年中国高校大数据挑战赛 】赛题 B DNA 存储中的序列聚类与比对 Python实现
本文介绍了2023年中国高校大数据挑战赛赛题B的Python实现方法,该赛题涉及DNA存储技术中的序列聚类与比对问题,包括错误率分析、序列聚类、拷贝数分布图的绘制以及比对模型的开发。
362 2
【2023年中国高校大数据挑战赛 】赛题 B DNA 存储中的序列聚类与比对 Python实现
|
Linux 开发工具 C语言
【操作系统】实验四 增加Linux系统调用
【操作系统】实验四 增加Linux系统调用
1077 1
|
12月前
|
数据安全/隐私保护
思科模拟器Cisco Packet Tracer 8.2.1注册、下载和安装教程(正确+详细)
本文详细总结了思科模拟器Cisco Packet Tracer 8.2.1注册、下载和安装教程(正确+详细),看这一篇就够啦~
40606 6
思科模拟器Cisco Packet Tracer 8.2.1注册、下载和安装教程(正确+详细)
|
11月前
|
开发工具 开发者 容器
【HarmonyOS NEXT开发——ArkTS语言】欢迎界面(启动加载页)的实现【合集】
从ArkTS代码架构层面而言,@Entry指明入口、@Component助力复用、@Preview便于预览,只是初窥门径,为开发流程带来些许便利。尤其动画回调与Blank组件,细节粗糙,后续定当潜心钻研,力求精进。”,字体颜色为白色,字体大小等设置与之前类似,不过动画配置有所不同,时长为。,不过这里没有看到额外的动画效果添加到这个特定的图片元素上(与前面带动画的元素对比而言)。这是一个显示文本的视图,文本内容为“奇怪的知识”,设置了字体颜色为灰色(的结构体,它代表了整个界面组件的逻辑和视图结构。
346 1
|
算法 Linux 定位技术
Linux内核中的进程调度算法解析####
【10月更文挑战第29天】 本文深入剖析了Linux操作系统的心脏——内核中至关重要的组成部分之一,即进程调度机制。不同于传统的摘要概述,我们将通过一段引人入胜的故事线来揭开进程调度算法的神秘面纱,展现其背后的精妙设计与复杂逻辑,让读者仿佛跟随一位虚拟的“进程侦探”,一步步探索Linux如何高效、公平地管理众多进程,确保系统资源的最优分配与利用。 ####
250 4
|
算法 调度
作业调度算法_先来先服务算法_短作业优先算法_高响应比优先算法
本文介绍了作业调度算法,包括先来先服务(FCFS)、短进程优先(SJF)和高响应比优先(HRRN)算法。通过分析进程的到达时间和所需CPU服务时间,计算进程的开始时间、完成时间、平均周转时间和平均带权周转时间,以评估不同算法的性能。FCFS适合长作业,SJF适合短作业,而HRRN则综合了两者的优点。
857 12
|
存储 编解码
【头歌·计组·自己动手画CPU】一、计算机数据表示(讲解版) 【计算机硬件系统设计】
【头歌·计组·自己动手画CPU】一、计算机数据表示(讲解版) 【计算机硬件系统设计】
670 1
|
存储 网络安全 数据库
【2024最新版】neo4j安装配置
【2024最新版】neo4j安装配置
2713 0

热门文章

最新文章