52 硬中断的实现

前言

呵呵 中断机制 也是内核中很常见的机制了 

中断机制是现代计算机系统中的基本机制之一,它在系统中起着通信网络的作用,以协调系统对各种外部事件的响应和处理,中断是实现多道程序设计的必要条件,中断是CPU 对系统发生的某个事件作出的一种反应。引起中断的事件称为中断源。中断源向CPU 提出处理的请求称为中断请求。发生中断时被打断程序的暂停点称为断点。CPU暂停现行程序而转为响应中断请求的过程称为中断响应。处理中断源的程序称为中断处理程序。CPU执行有关的中断处理程序称为中断处理。而返回断点的过程称为中断返回。中断的实现由软件和硬件综合完成,硬件部分叫做硬件装置,软件部分称为软件处理程序。
 

 

硬中断的处理

通过 ax 传递中断号, 获取对应的 irq_desc

然后 irq_desc 会有一系列 irq_action 来依次处理 当前中断

(initramfs) cat /proc/interruptsCPU00:       2255   IO-APIC   2-edge      timer1:          9   IO-APIC   1-edge      i80424:       2351   IO-APIC   4-edge      serial8:          1   IO-APIC   8-edge      rtc09:          0   IO-APIC   9-fasteoi   acpi12:          3   IO-APIC  12-edge      i804214:        178   IO-APIC  14-edge      ata_piix15:         38   IO-APIC  15-edge      ata_piix
NMI:          0   Non-maskable interrupts
LOC:      19244   Local timer interrupts
SPU:          0   Spurious interrupts
PMI:          0   Performance monitoring interrupts
IWI:          0   IRQ work interrupts
RTR:          0   APIC ICR read retries
RES:          0   Rescheduling interrupts
CAL:          0   Function call interrupts
TLB:          0   TLB shootdowns
TRM:          0   Thermal event interrupts
THR:          0   Threshold APIC interrupts
DFR:          0   Deferred Error APIC interrupts
MCE:          0   Machine check exceptions
MCP:          2   Machine check polls
ERR:          0
MIS:          0
PIN:          0   Posted-interrupt notification event
PIW:          0   Posted-interrupt wakeup event

 

硬中断这部分处理是在 irq.do_IRQ 中进行处理的 

ata_piix 对应的 handler 是 libata-sff.ata_bmdma_interrupt

serial 对应的 handler 是 8250_core.serial8250_interrupt 

timer 对应的 handler 是 time.timer_interrupt 

i8042 对应的 handler 是 i8042.i8042_interrupt 

 

 

在哪里注册中断?

这部分中断通常来说是 系统启动 的时候注册的

ata_piix 对应的两个 硬中断

 

37bf8fb9b1bd4abe9b38630c245b657d.png

9881a1e0e3214297925c571f2565ecac.png

 

 

 

i8042 注册的两个 硬中断

810aebfb24cf4849b94136faa7f2d1bd.png

0f5d3f20dca14cbc847de5c1c28a071d.png

 

serial 注册的一个硬中断 

 

 

 

457ad46a186b439593cdd5ca386c557d.png

 

 

atta_piix 中断的处理 

如下 硬件发出中断 会来到 中断处理层, 再到具体的 ata层, 再到 scsi 层

 

5a3df481b4a14c60acb08dee35b3296b.png

 

 

serial 中断的处理

如下 硬件发出中断 会来到 中断处理层, 再到具体的 串口层 

255c8c4ca92d48f19430e7b0a0f0a28e.png

 

 

timer中断的处理

654f805263a74e7ba543ffc6387a5933.png

 

 

i8042中断的处理

1 号中断 

d2fc20e643094bb8b8e143cefc03f432.png

 

12 号中断 

4b0f932e67ee4b1b81b7adec9638e446.png

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/748436.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea Springboot 在线考试管理系统开发mysql数据库web结构java编程计算机网页

一、源码特点 springboot 在线考试管理系统是一套完善的完整信息系统,结合mvc框架和bootstrap完成本系统springboot spring mybatis ,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发),系统具有…

关于-机器人学导论

机器人学导论,经典的基础教材,原书叫introduction to robotics mechanics and control ,在网上看到这个下载,这个好像不像有些书已经免费了,但是太经典拿它当教材的很多,最好看清晰的纸质版,特别…

java-ssm-jsp基于java的信访管理系统的设计与实现

java-ssm-jsp基于java的信访管理系统的设计与实现 获取源码——》公主号:计算机专业毕设大全 获取源码——》公主号:计算机专业毕设大全

Gitlab CI/CD 自动化打包部署前端(vue)项目

一、虚拟机安装 1.vmware下载 2.镜像下载 3.Ubuntu 4.新建虚拟机 一直点下一步,直到点击完成。 5.分配镜像 二、Gitlab CI/CD 自动化部署项目 1.配置GitLab CI/CD: A.在你的Vue.js项目中,创建一个名为.gitlab-ci.yml的文件&#xff0…

windbg调试协议wireshark抓包解析插件

把目录下文件复制到如下位置,Wireshark支持版本4.0以上 C:\Program Files\Wireshark\plugins\4.0\kdnet.lua C:\Program Files\Wireshark\gcrypt.dll C:\Program Files\Wireshark\luagcrypt.dll 启动 “C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\windbg.exe” -k …

使用vscode——配置vue3用户代码片段

一、 设置/配置用户代码片段 二、点击新建全局代码片段文件输入vue.json 三、配置代码片段、 {"Print to console": {"prefix": "vue3","body": ["<template>"," <div></div>","</te…

express+mysql+vue,从零搭建一个商城管理系统14--快递查询(对接快递鸟)

提示&#xff1a;学习express&#xff0c;搭建管理系统 文章目录 前言一、安装md5&#xff0c;axios&#xff0c;qs二、新建config/logistics.js三、修改routes/order.js四、添加商品到购物车总结 前言 需求&#xff1a;主要学习express&#xff0c;所以先写service部分 快递鸟…

Linux进程补充

进程 一、进程创建 1.fork fork() //Linux创建子进程的系统调用&#xff0c;允许创建多个子进程&#xff0c;使用循环创建多个子进程&#xff1b; //需要注意的是&#xff0c;创建出来的进程与父进程在调度是由调度器决定的&#xff0c;并没有严格的先后顺序&#xff1b;二、…

组建对等网

一、概念 对等网络&#xff08;Peer-to-Peer, P2P&#xff09;是一种分布式网络架构&#xff0c;其中每个参与节点&#xff08;称为"对等体"或"节点"&#xff09;既可以作为客户端也可以作为服务器&#xff0c;直接与网络中的其他节点分享资源&#xff08…

基于Python django的人脸识别门禁系统,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、Python技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&…

Chrome的V8引擎 和操作系统交互介绍

Chrome的V8引擎是一个用C编写的开源JavaScript和WebAssembly引擎&#xff0c;它被用于Chrome浏览器中&#xff0c;以解释和执行JavaScript代码。V8引擎将JavaScript代码转换为机器代码&#xff0c;这使得JavaScript能够以接近本地代码的速度运行。 V8引擎与操作系统的交互主要体…

亚马逊国际获得AMAZON商品详情 API 返回值说明

亚马逊国际的商品详情API返回值通常包含了关于商品的详细信息&#xff0c;这些信息对于开发者来说是非常有价值的&#xff0c;因为它们可以用于构建电商应用、展示商品信息、比价购物等场景。 item_get-获得AMAZON商品详情调用链接获取 amazon.item_get 公共参数 下面是一个简…

Adobe PDF背景设置护眼模式,缓解眼部疲劳

一、背景 在用Adobe PDF看论文时&#xff0c;默认的白色背景看久了&#xff0c;眼睛会特别疲劳&#xff0c;下面介绍如何设置背景为护眼模式。 二、设置PDF为护眼模式 使用Adobe Acrobat Pro DC打开任意PDF文件&#xff0c;在上方工具栏选择“编辑”&#xff0c;在下拉菜单栏…

浏览器同源策略及跨域问题

同源策略&#xff1a;同源策略是一个重要的安全策略&#xff0c;它用于限制一个源的文档或者它加载的脚本如何能与另一个源的资源进行交互。它能帮助阻隔恶意文档&#xff0c;减少可能被攻击的媒介。 同源策略的作用&#xff1a;保护浏览器中网站的安全&#xff0c;限制ajax只…

第五节:使用SMB开发WebSocket通信

一、概述 本节主要讲解在SMB中如何进行websocket快速开发&#xff0c;实现客户端连接、关闭、消息通讯等功能。 示例下载&#xff1a;https://download.csdn.net/download/lllllllllluoyi/88949743 二、创建WebSocket服务器 1、在csdnProject工程中新建一个消息流。 添加W…

pytorch升级打怪(三)

数据集合数据加载器 简介加载数据集迭代和可视化数据集为您的文件创建自定义数据集__init____len____getitem__ 准备您的数据以使用DataLoaders进行训练通过DataLoader进行遍载 简介 处理数据样本的代码可能会变得混乱且难以维护&#xff1b;理想情况下&#xff0c;我们希望我…

N7977A 先进电源系统:动态直流电源,160 V,12.5 A,2000 W

N7977A 先进电源系统&#xff1a;动态直流电源 160 V&#xff0c;12.5 A&#xff0c;2000 W Keysight N7977A 专为需要高速动态电源和测量功能的自动化测试设备&#xff08;ATE&#xff09;应用而设计。 简述 支持 BenchVue 软件。 无需编程&#xff0c;即可结合使用您的计…

NCP1271D65R2G中文资料规格书PDF数据手册引脚图参数图片价格功能特性描述

产品描述&#xff1a; NCP1271 是成功的 7 引脚电流模式 NCP12XX 系列的新一代引脚-引脚兼容新产品。该控制器通过使用可调节 Soft Skip 模式和集成的高电压启动 FET&#xff0c;实现了卓越的待机功耗。此专属 Soft Skip 还大大降低了噪音的风险。 因此可以在箝位网络中使用不…

模型蒸馏--一起学习吧之人工智能

一、定义 模型蒸馏&#xff08;Model Distillation&#xff09;是一种模型压缩技术&#xff0c;旨在将一个复杂的大型模型&#xff08;通常称为教师模型&#xff09;的知识转移到另一个更小、更简单的模型&#xff08;通常称为学生模型&#xff09;中。这种技术通过训练学生模…

如何在代理的IP被封后立刻换下一个IP继续任务

目录 前言 1. IP池准备 2. 使用代理IP进行网络请求 3. 处理IP被封的情况 4. 完整代码示例 总结 前言 当进行某些网络操作时&#xff0c;使用代理服务器可以帮助我们隐藏真实IP地址以保护隐私&#xff0c;或者绕过一些限制。然而&#xff0c;经常遇到的问题是代理的IP可能…