20200829——操作系统 中断

中断机制的产生

早起计算机各个程序只能串行执行,系统资源利用率低,。为了解决这个问题,人们就发明了操作系统,引入了中断机制,实现了多道程序的运行,提高了系统资源的利用率。

中断是多程序并发执行的前提条件。

中断的实例

两个进程并发运行

进程1在用户态运行了一段时间后,CPU会接收到计时部件(操作系统内核的时钟管理部件)发出的中断信号,表示进程1已经用完了一个时间片,CPU会切换到核心态,把CPU的使用权限交还给操作系统,操作系统内核就会对刚才的中断进行处理,操作系统知道进程1的时间片用完,就需要切换进程,在完成切换进程的一系列工作后,操作系统又会将CPU的使用权交还给用户进程。

接着进程2拿到CPU执行权就会在用户态下执行

进程2执行一段时间后,进程2发出系统调用(内中断信号),请求输出,主动要求操作系统介入工作,CPU会立即切换到核心态,把CPU的使用权限交还给操作系统,操作系统内核接管进程2系统调用请求,调用IO设备开始输出工作,然后操作系统交还CPU执行权,IO设备也会并行执行,进程2需要等待IO操作完成,所以进程1拿到CPU执行权开始运行。当执行一段时间后,IO操作完成,IO设备向CPU发送一个中断信号,此时CPU由用户态再次转换为核心态,对刚才的中断信号处理,由于IO操作完成,所以操作系统知道进程2可以恢复运行了,以完成后续工作,所以操作系统再次交还CPU执行权,让进程2再次运行。

总结

中断发生时,cpu立即进入内核态
当中断发生后,当前的运行的进程暂停运行,并且由操作系统内核对中断进程处理
对于不同的中断的信号,会进行不同的处理。

中断的本质

中断的本质,发生中断就意味需要操作系统的介入,开展管理工作。

当发生了中断,就意味着需要操作系统的介入,开展管理工作,由于操作系统的管理工作(如进程切换,分配io设备)需要使用特权指令。因此cpu要从用户态转入到内核态,

用户态到内核态的转换就是通过中断机制实现的,并且中断是唯一的途径。

中断的分类

分为内中断和外中断。

内中断,内中断信号来自于cpu内部,与当前执行的指令有关,比如整数除0

外中断,外中断的信号来源于cpu外部,与当前执行的指令无关,如用户强制结束一个进程,io设备完成操作发生的中断信号。

中断的处理过程

1)执行完每个指令后,cpu都要检查当前是否有外部中断信号。
2)如果检测到外部中断信号,则需要保护被中断进程的cpu环境(如程序状态字PSW,程序计数器,各种通用寄存器)
3)根据中断信号类型转入相应的中断处理程序
4)恢复进程的cpu环境并退出中断,返回原进程继续往下执行

在这里插入图片描述

小结

(1) 中断是为了实现多道程序并发执行而引入的一种技术。
(2) 中断的本质就是发生中断时需要操作系统介入开展管理工作。
(3) 发生CPU会立即进入核心态,针对不同的中断信号,采取不同的处理方式。
(4) 中断是CPU从用户态进入核心态的唯一途径。
(5) 中断分为内中断和外中断。
(6) 进程中断时,操作系统会保存CPU的运行环境,如程序状态字(PSW)、程序计数器、各种通用寄存器,这是为了当进程再次运行时可以从中断的状态处继续运行。

参考

操作系统

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值