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

修改版本 1 内核源码,使得每次时钟中断发生时,,Linux,linux,运维,服务器

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

修改版本 1 内核源码,使得每次时钟中断发生时,,Linux,linux,运维,服务器

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

修改版本 1 内核源码,使得每次时钟中断发生时,,Linux,linux,运维,服务器

第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

修改版本 1 内核源码,使得每次时钟中断发生时,,Linux,linux,运维,服务器
修改版本 1 内核源码,使得每次时钟中断发生时,,Linux,linux,运维,服务器
修改版本 1 内核源码,使得每次时钟中断发生时,,Linux,linux,运维,服务器

修改版本 1 内核源码,使得每次时钟中断发生时,,Linux,linux,运维,服务器
修改版本 1 内核源码,使得每次时钟中断发生时,,Linux,linux,运维,服务器
修改版本 1 内核源码,使得每次时钟中断发生时,,Linux,linux,运维,服务器

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

修改版本 1 内核源码,使得每次时钟中断发生时,,Linux,linux,运维,服务器

第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

修改版本 1 内核源码,使得每次时钟中断发生时,,Linux,linux,运维,服务器
修改版本 1 内核源码,使得每次时钟中断发生时,,Linux,linux,运维,服务器
修改版本 1 内核源码,使得每次时钟中断发生时,,Linux,linux,运维,服务器
修改版本 1 内核源码,使得每次时钟中断发生时,,Linux,linux,运维,服务器
修改版本 1 内核源码,使得每次时钟中断发生时,,Linux,linux,运维,服务器
修改版本 1 内核源码,使得每次时钟中断发生时,,Linux,linux,运维,服务器

make
cd ../..
./run

修改版本 1 内核源码,使得每次时钟中断发生时,,Linux,linux,运维,服务器文章来源地址https://www.toymoban.com/news/detail-526812.html

到了这里,关于课堂练习2.1:外部中断的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32单片机(五)第二节:EXTI外部中断练习(对射式红外传感器计次和旋转编码器计次)

    ❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 :适用于想要从零基础开始学习入门单片机,且有一定C语言基础的的童鞋

    2024年02月09日
    浏览(47)
  • 【ubuntu|内核】ubuntu 22.04修改内核为指定版本

    every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?type=blog ubuntu 22.04 安装指定内核 查看已安装的内核镜像 安装镜像 安装内核头文件 安装内核模块 安装驱动 出现问题修复: 检查是否安装成功 安装完成后修改配置 找到GRUB_DEFAULT=0,修改为: 保存退出后:

    2024年02月04日
    浏览(52)
  • 课堂练习4.4:页式虚存

    本关任务: 分析版本 0 内核的第一次缺页页故障,回答下列问题: 1.该页故障由几号进程引发? 2.在该故障发生前,该进程执行的最后一个可执行文件是什么?该可执行文件的第 2 块(每块 1KB )的头 16 字节的内容是什么? 3.引发该页故障的线性地址是什么?该进程的代码段

    2024年02月06日
    浏览(41)
  • 雨课堂 文件和磁盘练习(1)

    若某文件系统索引结点( inode)中有直接地址项和间接地址项,与单个文件长度有关的因素是:间接地址索引的级数、地址项的个数、文件块大,与单个文件长度无关的因素是:索引结点的总数 相关解释:如果系统中有1000个 索引结点,说明有1000个物理文件而已,跟单个文件长度

    2024年02月10日
    浏览(30)
  • 中断——外部中断EXIT

    前期疑问:中断可以分成外部中断和内部中断吗 文章目录 前言 一、中断知识 二、中断编程 三、EXIT外部中断/事件控制器 3.1 中断事件线 3.2 EXTI初始化结构体详解 四、软件设计 4.1 编程要点 五、代码回顾实现 六、补充中断知识 总结 野火中断章节有这样一句话 【F103在内核水

    2024年01月24日
    浏览(41)
  • 课堂练习4.2:页式内存管理

    第1关:1 号进程的 mynext 变量的物理地址 本关任务: 1. 1 号进程第 1 次调用函数 output_char 时,它的 mynext 变量的物理地址是多少? 2. 1 号进程第 2 次调用函数 output_char 时,它的 mynext 变量的物理地址是多少? 首先,在gdb模式下找出它的线性地址(由于第1次和第2次操作大致相同

    2024年02月05日
    浏览(30)
  • 国网技术学院MySQL课堂练习

    在虚拟机中安装WINDOWS7操作系统 正常安装,查询安装教程即可 安装必备组件和MYSQL5.7数据库 正常安装,查询安装教程即可 修改my.ini配置文件中关于character_set的相关设置 直接补下面的代码即可,作用为设置默认的内部操作字符集 通过操作系统服务界面停止和启动服务,通过

    2024年02月13日
    浏览(37)
  • (STM32)中断系统和外部中断

    中断系统:是执行和管理中断的逻辑结构 外部中断:是众多能产生中断的外设之一 中断:指的是中断源(中断通道),中断产生CPU暂停正在执行程序,去执行中断程序,然后返回。提高效率 F1系列的STM32有68个中断源,不同系列需要看手册 EXTI(外部中断)、TIM、ADC、USART、SPI、

    2024年02月06日
    浏览(43)
  • 课堂练习6.2:对字符设备的访问

    先了解一下访问字符设备(这里指读键盘)的一般过程   sys_read调用tty_read函数,如果tty_table[0].secondary为空就一直睡眠。keyboard_interrupt函数执行时,先将数据从键盘拷贝到tty_table[0].read_q中,然后调用do_tty_interrupt函数将tty_table[0].read_q中的未读数据拷贝到tty_table[0].secondary,一旦

    2024年02月08日
    浏览(31)
  • 头歌课堂练习5:进程的同步与互斥

    *tidp 是 pthread_t 类型,也就是指向线程标识符的指针 通俗来讲,要开一个新线程, 那么就得新定义一个 pthread_t 类型的指针。 *arrt 是 pthread_arrt_t 类型 说的是用来设置线程属性,我还没怎么接触这个 一般用NULL *strat_rtn 是这里 (void*)(*hh)(void*) 类型 是线程运行函数的起始地址

    2024年02月04日
    浏览(177)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包