操作系统:中断和异常

中断的作用:中断会使CPU由用户态变为内核态,使操作系统重新夺回对CPU的控制权。

内核态 -> 用户态:执行一条特权指令 --- 修改PSW的标志位为"用户态",这个动作意味着操作系统将主动让出CPU使用权。
用户态 -> 内核态:由中断引发,硬件自动完成变态过程,触发中断信号意味着操作系统将强行夺回CPU使用权。

中断的类型:
内中断:与当前执行的指令有关,中断信号来源于CPU内部。
外中断:与当前执行的指令无关,中断信号来源于CPU外部。

中断的分类:

  1. 内中断(异常):陷入(trap)是应用程序故意引发的。故障(fault)。终止(abort)。
  2. 外中断(中断):时钟中断。I/O中断请求。

中断机制的基本原理:
不同的中断信号,需要用不同的中断处理程序来处理。当CPU检测到中断信号后,会根据中断信号的类型去查询“中断向量表”,一次来找到相应的中断处理程序在内存中的存放位置。

原文地址:https://www.cnblogs.com/xiaobaizzz/p/12236434.html

时间: 2024-10-10 19:08:27

操作系统:中断和异常的相关文章

操作系统——中断、异常和系统调用比较

我们首先要明确,为什么操作系统需要中断.异常和系统调用: 在计算机运行时,内核是被信任的第三方 只有内核才可以执行特权指令 方便应用程序 接下来我们先简单了解一下三者的概念: 系统调用(system call)         应用程序主动向操作系统发出的服务请求 异常(exception)         非法指令或者其他原因导致当前指令执行失败   (如:内存出错)后的处理请求 中断(hardware interrupt)         来自硬件设备的处理请求 下面我们先看一下这张图(内核

操作系统笔记一:中断、异常和陷入机制

中断/异常/陷入机制是操作系统由用户态转为内核态的唯一途径,是操作系统的驱动力. 中断.异常机制有以下特征: 随机发生 自动处理(硬件完成) 可恢复 中断.异常的区别: 中断属外部事件,是正在运行的程序所不期望的 异常由正在执行的指令引发 在中断.异常过程中,软件和硬件分别担任什么角色: 硬件--中断/异常响应 软件--中断/异常处理程序 中断/异常的引入目的: 中断的引入是为了CPU与设备之间的并行操作 异常的引入是为了表示CPU执行指令时本身出现的问题 一个故事:小明在看书,突然来了个电话,

操作系统学习(十三) 、中断和异常

一.中断和异常 中断何和异常是指明系统.处理器或当前执行程序(或任务)的某处出现一个事件,该事件需要处理器进行处理.通常,这种事情会导致执行控制器被强迫从当前运行程序转移到被称为终端处理程序或异常处理程序的特殊软件函数或任务中.处理器响应中断或异常所采取的行动称为中断/异常服务(处理). 通常中断发生在程序执行的随机时刻,以响应硬件发出的信号.系统硬件使用中断来处理外部事件,例如要求为外部设备提供服务.当然,软件也能通过执行 INT n 指令产生中断. 异常发生在处理器执行一条指令时,检测到一个

2-1 处理器状态(模式)中断与异常

一.处理器是由运算器.控制器.一系列的寄存器以及高速缓存构成 1. 两类寄存器:              用户可见寄存器:高级语言编译器通过优化算法分配并使用,以减少程序访问内存的次数              控制和状态寄存器:用于控制处理器的操作通常由操作代码使用 常见的控制和状态寄存器 程序计数器(PC:Program Counter),记录将要取出的指令的地址              指令寄存器(IR:Insruction Register),记录最近取出的指令           

中断、异常和系统调用

所谓中断是指CPU对系统发生的某个事件做出的一种反应,CPU暂停正在执行的程序,保留现场后自动地转去执行相应的处理程序,处理完该事件后再返回断点继续执行被"打断"的程序. 中断可分为三类,第一类是由CPU外部引起的,称作中断,如I/O中断.时钟中断.控制台中断等.第二类是来自CPU的内部事件或程序执行中的事件引起的过程,称作异常,如由于CPU本身故障(电源电压低于105V或频率在47-63Hz之外).程序故障(非法操作码.地址越界.浮点溢出等)等引起的过程. 第三类由于在程序中使用了请

一个操作系统的实现(9)-中断和异常

这节讲了中断与异常的一些基本概念.然后通过代码实现一个显示字符的中断和时钟中断. 实模式与保护模式下的中断有区别 保护模式下的中断与实模式下的中断有几点不同. 实模式下的中断向量表在保护模式下被IDT取代 实模式下可以使用BIOS中断,而保护模式下不能用 这里面出现了一个新的名词IDT,接下来就介绍什么是IDT. 中断描述符表(IDT,Interrupt Descriptor Table) 中断描述符表的作用 与GDT和LDT一样,IDT也是一个描述符表,IDT的描述符可以是下面三种之一: 中断

操作系统的中断、异常和系统调用

温习一下,从学堂在线学习到关于<操作系统的中断.异常和系统调用>的知识.这门课是清华大学向勇老师讲授的.向勇老师讲得比较接地气,通俗易懂.喜欢操作系统的朋友可以到该网站去注册一个账号,就可以看到课程内容了.网址:www.xuetangx.com ------------------------------------------------------------------------------------------------------------------------------

中断与异常详解(三)

再次梳理会用到的一些数据结构和名词 中断向量表(中断描述符表) idt_table 全局,8字节64位,从低到高位16位段选择符,32位偏移量,16位状态信息 256项 起始地址在内核数据节的idt中 用于寻找各种门,门的作用是防止用户程序访问陷阱门.中断门等特殊资源,出于安全考虑,linux为用户留有3,4,5,128号系统调用门供用户使用 中断描述符表寄存器 IDTR 寄存器,6字节48位,低16位界限,高32位基址 1项 用于快速寻找中断描述符,linux定义的16位界限为8*256-1,

x86关于中断和异常的总结

<一>80386的中断和异常 8086/8088把中断分为内部中断和外部中断两大类.为了支持多任务和虚拟存储器等功能,80386把外部中断称为“中断”,把内部中断称为“异常”.与8086/8088一样,80386通常在两条指令之间响应中断或异常.80386最多处理256种中断或异常. 1.中断 对80386而言,中断是由异步的外部事件引起的.外部事件及中断响应与正执行的指令没有关系.通常,中断用于指示I/O设备的一次操作已完成.与8086/8088一样,80386有两根引脚INTR和NMI接受