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

一、中断和异常

中断何和异常是指明系统、处理器或当前执行程序(或任务)的某处出现一个事件,该事件需要处理器进行处理。通常,这种事情会导致执行控制器被强迫从当前运行程序转移到被称为终端处理程序或异常处理程序的特殊软件函数或任务中。处理器响应中断或异常所采取的行动称为中断/异常服务(处理)。

通常中断发生在程序执行的随机时刻,以响应硬件发出的信号。系统硬件使用中断来处理外部事件,例如要求为外部设备提供服务。当然,软件也能通过执行 INT n 指令产生中断。

异常发生在处理器执行一条指令时,检测到一个出错条件时发生,例如被0除出错条件。处理器可以检测到各种出错条件,包括违反保护机制。页错误以及机器内部错误。对应用程序来说,80x86的中断和异常处理机制可以透明地处理发生的异常和中断事件。当收到一个中断或检测到一个异常时,处理器会自动把当前正在正在执行的程序或任务挂起,并开始运行中断或异常处理程序。当处理程序执行完毕,处理器就会恢复并继续执行被中断的程序或任务。被中断程序的恢复过程并不会失去程序执行的连贯性,除非从异常中恢复是不可能的或者中断异常导致当前运行程序被终止。

二、异常和中断向量

为了有助于处理异常和中断,每个需要被处理器进行特殊处理的处理器定义的异常和中断条件都被赋予了一个标识号,称为向量。处理器把赋予异常或中断的向量用作中断描述符表IDT中的一个索引号,来定位一个异常或中断的处理程序入口点位置。

允许的向量号范围是0到255.其中0到31保留用作80x86处理器定义的异常和中断,不过目前该范围内的向量号并非每个都已定义了功能,未定义功能的向量号将留在以后使用。

范围在32到255的向量号用于用户定义的中断。这些中断通常用于外部I/O设备,使得这些设备可以通过外部硬件中断机制向处理器发送中断。

三、中断源和异常源

(一)、中断源

处理器从两种地方接收终端:

  • 外部(硬件产生)的中断。
  • 软件产生的中断。

外部中断通过处理器芯片上两个引脚(INTR 和 NMI)接收。当引脚接收到外部发生的中断信号时,处理器就会从系统总线上读取外部中断控制器提供的中断向量号。当引脚 NMI 接收到信号时,就产生一个非屏蔽中断。它使用固定的中断向量号2。 任何通过处理器 INTR 引脚接收的外部中断都被称为可屏蔽硬件中断,包括中断向量号0到255。标志寄存器 EFLAGS 的 IF 标志可用来屏蔽所有这些硬件中断。

通过在指令操作数中提供中断向量号, INT n 指令可用于从软件中产生中断。例如,指令 INT 0x80 会执行Linux的系统系统中断调用中断0x80。向量0到255中的任何一个都可以用作INT指令的中断号。如果使用了处理器预先定义的 NMI向量,那么处理器对它的响应将与普通方式产生的该NMI中断不同,如果NMI的向量号2用于该INT指令,就会调用NMI的中断处理程序,但此时并不会激活处理器的NMI处理硬件(???)。

注意,EFLAGS中的IF标志位不能屏蔽使用INT执行从软件产生的中断。

(二)、异常源

未完,更新中....

原文地址:https://www.cnblogs.com/ay-a/p/9189284.html

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

操作系统学习(十三) 、中断和异常的相关文章

操作系统学习-1-操作系统概论及存储器管理

!:什么是操作系统? 操作系统没有一个完整.精确.公认的定义,因为操作系统是一个复杂的系统软件,其外沿或边界不是很清楚.但是可以从功能的角度对其进行定义,从功能的角度来说的话,可以分为对内和对外,对外即对应用程序:对应用程序来说,操作系统是一个控制软件:能够管理应用程序,包括对应用程序的启动.中断.挂起.杀死等,并且能够为应用程序提供各种各样的服务,譬如:网卡服务,声卡服务,io服务等.对内即对硬件资源:对硬件资源来说,操作系统是一个资源管理软件:能够协调的为各种应用程序分配相应的资源,这些资源

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

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

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

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

操作系统:中断和异常

中断的作用:中断会使CPU由用户态变为内核态,使操作系统重新夺回对CPU的控制权. 内核态 -> 用户态:执行一条特权指令 --- 修改PSW的标志位为"用户态",这个动作意味着操作系统将主动让出CPU使用权. 用户态 -> 内核态:由中断引发,硬件自动完成变态过程,触发中断信号意味着操作系统将强行夺回CPU使用权. 中断的类型: 内中断:与当前执行的指令有关,中断信号来源于CPU内部. 外中断:与当前执行的指令无关,中断信号来源于CPU外部. 中断的分类: 内中断(异常)

操作系统学习 28/9/2015

操作系统学习 28/9/2015 虚拟内存:程序可以比内存大,允许执行程序不全在内存中,按需调页. 按需调页:通过设置有效无效位,有效表面该页合法且在内存中,无效表明该页不在进程的逻辑空间内或者该页合法但是在磁盘上.进程试图访问无效位的页时会产生错误陷阱,处理:1.检查进程内部页表,确定该引用是否合法,若非法,则终止进程,若合法,则调入该页面:2.在内存中找到一个空闲帧,将页面从磁盘掉入该帧中:3.修改进程的内部表和页表:4.继续该中断指令的执行.(重新对该指令进行获取,译码等) fork()调

操作系统学习

本文原创,转载请注明来至:http://blog.csdn.net/j903829182/article/details/38060553 1.计算机发展的4个时代:电子管时代,晶体管时代,集成电路时代和大规模集成电路时代 2.操作系统发展过程:(1)单道批处理,(2)多道批处理,分时和实时系统时代,(3)多方式系统时代(4)并行与分布式系统时代. 3.操作系统:是一种系统软件,是软硬件资源的控制中心,它以尽量合理有效的方法组织单个或多个用户以多任务方      式共享计算机的各种资源,并提供编

计算机操作系统学习笔记_1_操作系统概述

操作系统概述 一.操作系统的概念.特征.功能和提供的服务 1.操作系统的概念     操作系统是计算机系统中最重要.最基本的系统软件,操作系统位于硬件和用户程序之间.    对于用户来讲:它能向用户提供使用计算机的接口;    从资源管理角度来看:它能管理计算机软硬件资源,提高其利用率;    再者,利用虚拟机技术(如WMWare,VirtualBox,Java虚拟机等),扩展了计算机的功能和使用范围.     因此,操作系统的定义为:操作系统是控制和管理计算机软.硬件资源,以尽可能合理.高效的

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

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

操作系统学习之进程和线程

为什么会有进程 进程是一个计算机工程概念,进程包含一个程序运行的所有资源.进程提供程序的抽象 一个独立的逻辑流 一个私有的地址空间 逻辑控制流 如果使用调试器调试一个程序,就能看到一些列的(PC),这些PC的序列就是逻辑控制流. 并发流 一个逻辑流的执行在时间上与另一个流重叠,成为并发流,多个流并发地执行的一般现象称为并发.简单理解为同时做多件事. 并行: 一般出现在多个CPU上. 多任务: 一个进程和其他进程轮流运行的概念. 时间片: 一个进程执行他的控制流的每一时间片段. 私有地址空间 进程