当前位置: 首页 > news >正文

33:深入浅出x86中断机制

背景

我们知道使用0x10号中断,可以在屏幕上打印一个字符。

问题

系统中的 中断 究竟是什么?

生活中的例子

来看一个生活中例子:

小狄的工作方式

  1. 在处理紧急事务的时候,不回应同事的技术求助。
  2. 老板的召唤必须回应,不能耽搁。
  3. 处理完老板的召唤后,继续处理之前的紧急事务。
  4. 同事的技术求助继续不回应

中断的概念和意义

处理器与外设的拓扑结构

中断与外设

  1. 中断是一种处理器与外设进行通信的机制。
  2. 用于 “通知”处理器外部有 “重要事情”发生
  3. 一般情况下,中断需要被处理器响应

本质

操作系统是中断驱动的死循环。

处理器、中断、操作系统内核之间的关系。

中断的分类

  1. 外部中断:由外部设备发出来的中断,比如:网卡、键盘、鼠标等。这些外部设备向处理器发出来的中断,都叫做外部中断。
  2. 内部中断:由处理器自己内部发出来的中断。当然这些中断由代码产生的,所以说 也叫做软中段。异常:处理器是逐条逐条指令执行的,这个时候碰到了一个非法不合理的指令码,这个时候处理器知道怎么样去执行吗?当然不知道怎么去执行,所以处理器就报了一个异常。

处理器的外部中断

处理器的内部中断

问题

处理器接受到中断请求之后,如何具体的对中断进行处理?就是中断服务程序(Interrupt Service Routine)

中断服务程序(Interrupt Service Routine)

中断处理流程

Linux中断处理方式

思考

中断与对应的服务程序间如何建立关联?在代码层面如何进行转移?

实模式下的中断处理

-使用中断向量表映射不同中断与中断服务程序

-中断向量表(Interrupt Vector Table)

        起始于物理地址0,长度为 1KB

        每个单元4字节,连续256个单元

        每个单元存放一个中断服务程序的入口地址

中断向量表就是一个指针数组,这个数组里面存放的是:中断程序的入口地址。

中断向量表(IVT)

中断响应与处理

  1. 产生中断,外部设备向CPU发送一个中断,通过 INTR引脚,向处理器发送一个中断请求。
  2. 处理器通过 INTA 这个引脚 去响应这个中断信号。
  3. 外部设备将 中断向量 TYPE 发送给处理器。
  4. 处理器有了中断向量 TYPE,那么就去 查找中断向量表 IVT
  5. 在中断向量表中,就可以查找到 对应的中断服务程序的地址。
  6. 有了中断服务程序的地址,那么直接 CALL就行

思考?

实模式下的中断向量表(IVT) 和 中断服务程序(ISR) 需要操作系统内核来建立吗?

相关文章:

33:深入浅出x86中断机制

背景 我们知道使用0x10号中断,可以在屏幕上打印一个字符。 问题 系统中的 中断 究竟是什么? 生活中的例子 来看一个生活中例子: 小狄的工作方式 在处理紧急事务的时候,不回应同事的技术求助。老板的召唤必须回应,…...

docker docker-compose安装(centos7)

docker安装 1.卸载旧版 卸载旧版 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine2.安装一个yum工具 yum install -y yum-utils3.配置docker的yum源 yum-config-manager -…...

Dockerfile文件详细教程

写在前面 Dockerfile是用来构建镜像的,他实际上就是把在linux下的命令操作写到了Dockerfile中,通过Dockerfile去执行设置好的操作命令,保证通过Dockerfile的构建镜像是一致的。 实战分析 该例子来自于 chromium 项目 主要干的事情&#xf…...

机器学习-模型评估与选择

文章目录 评估方法留出法交叉验证自助法 性能的衡量回归问题分类问题查准率、查全率与F1ROC与AUC 在机器学习中,我们通常面临两个主要问题:欠拟合和过拟合。欠拟合指模型无法在训练数据上获得足够低的误差,通常是因为模型太简单,无…...

分享一下办公自动化常用的思想

目录 网页获取数据需求①大体思路:PythonseleniumXpath 网页获取数据需求②大体思路:requests爬虫 批量生成需求①文件的移动、重命名②word、Excel批量生成 匹配需求 网页获取数据需求① 大体思路:PythonseleniumXpath 我们在利用Python做…...

mac vscode 使用 clangd

C 的智能提示 IntelliSense 非常不准,我们可以使用 clangd clangd 缺点就是配置繁琐,优点就是跳转和提示代码精准 开启 clangd 之后会提示你关闭 IntelliSense 1、安装插件 clangd 搜索第一个下载多的就是 2、配置 clangd 可执行程序路径 clangd 插…...

DSI及DPHY的学习

DSI的物理层PHY只能是DPHY 本节讲述的DSI是V1.02.00---2010.6.28 从DSI V1.02开始DSI支持图像数据包RGB和YCbCr的传输,在此版本之前只支持RGB传输。 本节内容与CSICDPHY相同时 请参考: CSI2与CDPHY学习-CSDN博客 同时本节会做一些与CSICDPHY的比较 …...

环形链表(C++解法)

题目 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&#…...

星闪技术 NearLink 一种专门用于短距离数据传输的新型无线通信技术

本心、输入输出、结果 文章目录 星闪技术 NearLink 一种专门用于短距离数据传输的新型无线通信技术前言星闪技术 NearLink 的诞生背景星闪技术 NearLink 简介星闪技术 NearLink 技术是一种蓝牙技术吗星闪技术 NearLink 优势星闪技术 NearLink 应用前景弘扬爱国精神星闪技术 Nea…...

【Python机器学习】零基础掌握RandomForestRegressor集成学习

如何预测房价是不是一直困扰着大家?特别是在房地产市场波动不定的情况下,这样的预测可以说是切实需要。 要解决这个问题,一个可行的方法是利用历史房价数据和房屋的各种属性(如面积、楼层、地理位置等)进行分析。通过这些数据,可以用一个模型来预测未来房价。 假设有以…...

FreeRTOS深入教程(任务创建的深入和任务调度机制分析)

文章目录 前言一、深入理解任务的创建二、任务的调度机制1.FreeRTOS中任务调度的策略2.FreeRTOS任务调度策略实现的核心3.FreeRTOS内部链表源码解析4.如何通过就绪链表管理任务的执行顺序 三、一个任务能够运行多久1.高优先级任务可抢占低优先级任务一直运行2.相同优先级的任务…...

Megatron-LM GPT 源码分析(一) Tensor Parallel分析

引言 本文基于开源代码 GitHub - NVIDIA/Megatron-LM: Ongoing research training transformer models at scale ,通过GPT的模型运行示例,从三个维度 - 模型结构、代码运行、代码逻辑说明 对其源码做深入的分析。 Tensor Parallel源码分析...

分类预测 | MATLAB实现SSA-CNN-GRU麻雀算法优化卷积门控循环单元数据分类预测

分类预测 | MATLAB实现SSA-CNN-GRU麻雀算法优化卷积门控循环单元数据分类预测 目录 分类预测 | MATLAB实现SSA-CNN-GRU麻雀算法优化卷积门控循环单元数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.MATLAB实现SSA-CNN-GRU麻雀算法优化卷积门控循环单元数据…...

婚礼的魅力

昨日有幸被邀请去当伴郎,虽然是替补,即别人鸽了,过去救急,但总归是去起作用。 婚礼的魅力,感受到了,满满的仪式感,紧凑的流程,还有不断的拍照,做视频,留下美好…...

【计算机网络笔记】DNS报文格式

DNS 提供域名到主机IP地址的映射  域名服务的三大要素:  域(Domain)和域名(Domain name): 域指由地 理位置或业务类型而联系在一起的一组计算机构 成。  主机:由域名来标识。域名是由字符和(或&a…...

10月28日

...

【性能测试】初识 Jmeter 中的 BeanShell

初识 Jmeter 中的 BeanShell 1.简介1.1 应用场景1.2 BeanShell 类型 2.常用内置变量2.1 log 日志模块2.2 vars 模块2.3 props 模块2.4 prev 模块 3.常见应用场景3.1 Java 文件处理3.2 导入外部 jar 包 BeanShell 是一个小型嵌入式 Java 源代码解释器,完全兼容 Java …...

Rust实现基于Tokio的限制内存占用的channel

Rust实现基于Tokio的限制内存占用的channel 简介 本文介绍如何基于tokio的channel实现一个限制内存占用的channel。 Tokio提供了多种协程间同步的接口,用于在不同的协程中同步数据。 常用的channel有两种:bounded和unbounded,其中ubbounded的channel可…...

【C++】C++入门(上)--命名空间 输入输出 缺省参数 函数重载

目录 一 命名空间 1 命名空间的定义 2 命名空间的使用 二 C输入和输出 1 输出 2 输入 三 缺省参数 1 缺省参数概念 2 缺省参数分类 (1) 全缺省参数 (2)半缺省参数 四 函数重载 1 函数重载概念 2 分类 1 参数类型不同 2 参数个数不同 3 参数类型顺序不同 3 C为什…...

设计模式:原型模式(C#、JAVA、JavaScript、C++、Python、Go、PHP)

上一篇《访问者模式》 下一篇《享元模式》 简介: 原型模式,它是一种创建型设计模式,它允许通过复制原型对象来创建新的对象,而无需知道创建的细节。其工作原…...

Win11新机Office2021兑换失败?解决老账号Office2016冲突的完整指南

1. 为什么新电脑无法兑换Office2021? 刚拿到Win11新机的小伙伴们,经常会遇到一个让人头疼的问题:明明新电脑预装了Office2021,打开Word却发现显示"Office2016已激活"。这种情况我遇到过不下十次,每次帮朋友处…...

谱聚类实战:如何让声纹模型自动分辨一段录音里有几个人说话?

谱聚类在声纹识别中的应用:如何自动判断录音中的说话人数量 想象一下,你手头有一段长达两小时的会议录音,里面有五位不同声线的参与者交替发言。作为开发者,你需要设计一个系统,不仅能识别每个人的声音特征&#xff0c…...

SpringBoot源码企业公司ERP进销存管理系统JavaWeb项目前后端分离Vue实现方案

SpringBoot源码企业公司ERP进销存管理系统JavaWeb项目前后端分离Vue一、项目背景与目标SpringBoot源码企业公司ERP进销存管理系统JavaWeb项目前后端分离Vue随着企业信息化管理的需求日益增长,ERP(企业资源计划)系统成为企业提升管理效率、优化…...

Python机器学习sklearn线性模型完整指南:LinearRegression/Ridge/Lasso详细代码注释

机器学习sklearn模型核心API详解:线性回归、岭回归、Lasso全覆盖(详细代码注释)scikit-learn 是 Python 机器学习最常用的库,但很多初学者对各模型的参数含义一知半解。本文系统整理了 sklearn 中线性模型家族(LinearR…...

06_Neo4j知识体系之AuraDB云服务与部署实战

06_Neo4j知识体系之AuraDB云服务与部署实战 体系 云服务层:AuraDB 完全托管、版本层级、定价模式、AWS/Azure/GCP 集成、弹性扩展、高可用、快速开始关联能力:与企业上云、GraphRAG 交付、低运维团队部署、全球可用区建设密切相关适用对象:云…...

SpringBoot + 本地事务表 + 定时扫描补偿:轻量级方案实现最终一致性,无中间件依赖

在分布式系统中,数据一致性是一个永恒的话题。传统的分布式事务解决方案如 Seata、XA 等往往需要引入重量级中间件,增加了系统复杂度和运维成本。 本文将介绍一种轻量级的最终一致性方案——本地事务表 + 定时扫描补偿,该方案: 零中间件依赖:不需要 MQ、Seata 等外部组件…...

为什么芯片工程师都在学Chisel?从Verilog到高级硬件设计的跃迁指南

为什么芯片工程师都在学Chisel?从Verilog到高级硬件设计的跃迁指南 在半导体行业,设计效率正成为决定产品成败的关键因素。传统Verilog开发中,工程师们常常需要花费70%的时间调试RTL代码中的低级错误,而非专注于架构创新。这种现状…...

Multisim中在一个项目中添加多页

Multisim中在一个项目中添加多页 新建多页 新建支电路 参考 Multisim电路模块化设计的三种方式_multisim模块封装-CSDN博客 Multisim创建子电路图-百度经验...

一键生成专业工资条:工资条生成器功能详解

在当今数字化办公的时代,一款好的工具能够让工作效率得到质的提升。 工资条生成器就是这样一款专门为财务人员打造的专业工具,它集成了多项实用功能。 下面,就让我们来详细了解一下这款软件的各项功能特性。 首先要介绍的是软件的核心功能…...

DYOR 世茂集团 00813.HK

文章目录1. 公司概况:老牌闽系房企的沉浮1.1 简介1.2 股权结构1.2 核心资质与定位2. 财务表现:2025年成功扭亏为盈2.1 2025年核心财务数据2.2 收入结构变化:多元化成效显现2.3 偿债能力与流动性2.4 估值与市场表现3. 债务重组:境外…...