I/O软件
1、分层
2、中断处理程序
处理步骤:
1.唤醒被阻塞的驱动(程序)进程
当中断处理程序开始执行时,首先去唤醒处于阻塞状态的驱动(程序)进程。
2.保护被中断进程的CPU 环境
通常由硬件自动将处理机状态字PSW 和程序计数器(PC)中的内容,保存在中断保留区(栈)中,然后把被中断进程的CPU现场信息(即包括所有的CPU寄存器,如通用寄存器、段寄存器等内容)都压入中断栈中,因为在中断处理时可能会用到这些寄存器。
3.转入相应的设备处理程序
由处理机对各个中断源进行测试,以确定引起本次中断的I/O 设备,并发送一应答信号给发出中断请求的进程,使之消除该中断请求信号,然后将相应的设备中断处理程序的入
口地址装入到程序计数器中,使处理机转向中断处理程序。
口地址装入到程序计数器中,使处理机转向中断处理程序。
4.中断处理
5.恢复被中断进程的现场
当中断处理完成以后,便可将保存在中断栈中的被中断进程的现场信息取出,并装入到相应的寄存器中,其中包括该程序下一次要执行的指令的地址N+1、处理机状态字PSW,以及各通用寄存器和段寄存器的内容。这样,当处理机再执行本程序时,便从N+1处开始,最终返回到被中断的程序。
中断处理程序的疑惑
本来唐书上的中断看的挺明白的 ,但是一看操作系统书上I/O就蒙了,中断处理程序的处理过程为什么一上来先是唤醒被阻塞的驱动程序进程呢?唤醒之后关于驱动程序进程就木有下文了。书上写的几个步骤是1唤醒被阻塞的驱动进程,2保护被中断进程的CPU环境3转入相应的设备处理程序&