您的位置:首页 > 其它

关于程序中断i/o方式的进一步认识

2017-11-28 15:58 344 查看
上一篇文章了解了操作系统下程序中断的分类和各个概念的区分以及核心态和用户态切换的大致执行过程,下面通过计组中的I/O方式中的程序中断对中断过程进一步进行硬件上的认识;

1、还是分类的问题,由计组课本来看,与操作系统分类差别并不大,都是从内中断外中断也即是中断源的角度进行分类,至于同步异步或者可屏蔽不可屏蔽这些就是额外的点缀;

2、中断的应用很广泛,I/O方面只是其中之一,还有上篇文章所介绍的操作系统上所认识的目态和管态的状态切换等等;考试的话主要以这两种应用为主,另外实现人机交互、实现多道程序切换等等都需要有一些了解;

3、还有很重要的一点就是中断优先级的区分,有时候选择题会有那么一道,需要牢记下面六点:硬件故障中断属于最高级,其次是软件中断,然后非屏蔽中断优于可屏蔽中断,DMA请求中断优于I/O设备传输的请求中断,高速设备优于低速设备,输入设备优于输出设备,实施设备优于普通设备;

4、(计组是从硬件的角度进行认识的,之所以说是硬件角度,是因为这里很多地方都用到了寄存器,可以与操作系统有所对比,但是也不能完全copy,否则会很混乱)类似的,要想执行中断,需要由用户态切换到核心态,这个时候:

1)首先起作用的就是中断隐指令,中断隐指令并不是指令系统中的一条真正的指令,他没有操作码,所以中断隐指令是一种不允许为用户所使用的特殊指令(这个跟访管指令还不一样,所以不能盲目类比);

2)中断隐指令它的主要功能是三点:关中断(保证执行期间不被打断)、保存断点(保证能够返回到原来程序处)、引出中断服务程序(类似于访管指令引出特定的特权指令);

3)还要认识一点,引出中断服务程序实质就是取出中断服务程序的入口地址并传送给程序计数器;(区分中断向量和中断向量地址)

5、上面其实类似于状态切换,下面才是真正的在核心态下的执行过程:

首先要区分两个概念:

保护断点:由系统自动完成,方便中断服务程序执行完后,可以返回到断点处继续运行。
保护现场:指的是进入中断服务程序或子程序后,由于寄存器有限,主程序和中断服务程序或子程序中用到相同的寄存器,所以为防止冲突,在中断服务程序前或在子程序前用进栈指令保护那些可能受到冲突的寄存器,然后在返回前恢复


1)进入中断服务程序之后首先要保存现场,一般是指程序状态字、中断屏蔽寄存器、CPU中某些寄存器的内容;

2)开中断(方便中断嵌套)

3)执行中断服务程序(即执行我们的作业或者说任务)

4)关中断(保证恢复现场前不被中断)

5)恢复现场和屏蔽字

6)开中断、中断返回(最后一条指令是一条中断返回指令,此时还在核心态)

*****************************************************

目前来看中断屏蔽技术(用于多重中断)在真题大题中还未出现过;

不过在王道八套卷第五套有一道大题是这个,可以参考
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐