当前位置:首页 > 上门服务 >

中断处理是由什么引起的(什么叫中断什么是中断处理)

来源:原点资讯(m.360kss.com)时间:2024-01-07 13:43:03作者:YD166手机阅读>>

设备驱动程序

在上面的文章中我们知道了设备控制器所做的工作。我们知道每个控制器其内部都会有寄存器用来和设备进行沟通,发送指令,读取设备的状态等。

因此,每个连接到计算机的 I/O 设备都需要有某些特定设备的代码对其进行控制,例如鼠标控制器需要从鼠标接受指令,告诉下一步应该移动到哪里,键盘控制器需要知道哪个按键被按下等。这些提供 I/O 设备到设备控制器转换的过程的代码称为 设备驱动程序(Device driver)。

为了能够访问设备的硬件,实际上也就意味着,设备驱动程序通常是操作系统内核的一部分,至少现在的体系结构是这样的。但是也可以构造用户空间的设备驱动程序,通过系统调用来完成读写操作。这样就避免了一个问题,有问题的驱动程序会干扰内核,从而造成崩溃。所以,在用户控件实现设备驱动程序是构造系统稳定性一个非常有用的措施。MINIX 3 就是这么做的。下面是 MINI 3 的调用过程

中断处理是由什么引起的,什么叫中断什么是中断处理(9)

然而,大多数桌面操作系统要求驱动程序必须运行在内核中。

操作系统通常会将驱动程序归为 字符设备 和 块设备,我们上面也介绍过了

中断处理是由什么引起的,什么叫中断什么是中断处理(10)

在 UNIX 系统中,操作系统是一个二进制程序,包含需要编译到其内部的所有驱动程序,如果你要对 UNIX 添加一个新设备,需要重新编译内核,将新的驱动程序装到二进制程序中。

然而随着大多数个人计算机的出现,由于 I/O 设备的广泛应用,上面这种静态编译的方式不再有效,因此,从 MS-DOS 开始,操作系统转向驱动程序在执行期间动态的装载到系统中。

设备驱动程序具有很多功能,比如接受读写请求,对设备进行初始化、管理电源和日志、对输入参数进行有效性检查等。

设备驱动程序接受到读写请求后,会检查当前设备是否在使用,如果设备在使用,请求被排入队列中,等待后续的处理。如果此时设备是空闲的,驱动程序会检查硬件以了解请求是否能够被处理。在传输开始前,会启动设备或者马达。等待设备就绪完成,再进行实际的控制。控制设备就是对设备发出指令

发出命令后,设备控制器便开始将它们写入控制器的设备寄存器。在将每个命令写入控制器后,会检查控制器是否接受了这条命令并准备接受下一个命令。一般控制设备会发出一系列的指令,这称为指令序列,设备控制器会依次检查每个命令是否被接受,下一条指令是否能够被接收,直到所有的序列发出为止。

中断处理是由什么引起的,什么叫中断什么是中断处理(11)

发出指令后,一般会有两种可能出现的情况。在大多数情况下,设备驱动程序会进行等待直到控制器完成它的事情。这里需要了解一下设备控制器的概念

设备控制器的主要主责是控制一个或多个 I/O 设备,以实现 I/O 设备和计算机之间的数据交换。

设备控制器接收从 CPU 发送过来的指令,继而达到控制硬件的目的


设备控制器是一个可编址的设备,当它仅控制一个设备时,它只有一个唯一的设备地址;如果设备控制器控制多个可连接设备时,则应含有多个设备地址,并使每一个设备地址对应一个设备。

设备控制器主要分为两种:字符设备和块设备

设备控制器的主要功能有下面这些

  • 接收和识别命令:设备控制器可以接受来自 CPU 的指令,并进行识别。设备控制器内部也会有寄存器,用来存放指令和参数
  • 进行数据交换:CPU、控制器和设备之间会进行数据的交换,CPU 通过总线把指令发送给控制器,或从控制器中并行地读出数据;控制器将数据写入指定设备。
  • 地址识别:每个硬件设备都有自己的地址,设备控制器能够识别这些不同的地址,来达到控制硬件的目的,此外,为使 CPU 能向寄存器中写入或者读取数据,这些寄存器都应具有唯一的地址。
  • 差错检测:设备控制器还具有对设备传递过来的数据进行检测的功能。

在这种情况下,设备控制器会阻塞,直到中断来解除阻塞状态。还有一种情况是操作是可以无延迟的完成,所以驱动程序不需要阻塞。在第一种情况下,操作系统可能被中断唤醒;第二种情况下操作系统不会被休眠。

设备驱动程序必须是可重入的,因为设备驱动程序会阻塞和唤醒然后再次阻塞。驱动程序不允许进行系统调用,但是它们通常需要与内核的其余部分进行交互。

与设备无关的 I/O 软件

I/O 软件有两种,一种是我们上面介绍过的基于特定设备的,还有一种是设备无关性的,设备无关性也就是不需要特定的设备。设备驱动程序与设备无关的软件之间的界限取决于具体的系统。下面显示的功能由设备无关的软件实现

中断处理是由什么引起的,什么叫中断什么是中断处理(12)

栏目热文

中断系统的功能包括哪些(中断系统的类型包括哪些)

中断系统的功能包括哪些(中断系统的类型包括哪些)

MCS-51的中断源及中断结构(一)中断源向CPU发出中断请求的信号称为中断源。在2.1.2节中我们已经了解到MCS-5...

2024-01-07 14:06:12查看全文 >>

中断指令一般用在什么地方(中断指令是干嘛用的)

中断指令一般用在什么地方(中断指令是干嘛用的)

我们以三菱PLC为例,了解一下,什么是中断。一套程序可以分为主程序区,还有子程序区,中断程序区等等,主程序区的程序是无时...

2024-01-07 13:51:09查看全文 >>

菲亚特派力奥怠速不稳(菲亚特派力奥怠速过高怎么调)

菲亚特派力奥怠速不稳(菲亚特派力奥怠速过高怎么调)

怠速不稳是发动机维修中遇到最多的故障,这个难题也让很多维修企业感到头痛,因为普遍缺乏系统性的有效解决方法。一旦诊断思路不...

2024-01-07 13:35:46查看全文 >>

菲亚特派力奥中控说明(菲亚特派力奥中控图解)

菲亚特派力奥中控说明(菲亚特派力奥中控图解)

上一期我们聊了聊《赛车的方向盘和民用车的有什么区别?》除了方向盘之外,对于驾驶者来说第二重要的,必然就是中控台了!记忆中...

2024-01-07 13:46:35查看全文 >>

菲亚特派力奥汽车发动机舱图解(菲亚特派力奥故障灯图解)

菲亚特派力奥汽车发动机舱图解(菲亚特派力奥故障灯图解)

质信车服——保障品质,坚守诚信。一位老客户购买了一辆二手菲亚特派力奥,车比较老是06年的1.5排量手动挡,不过内饰和外观...

2024-01-07 13:57:30查看全文 >>

什么叫中断为什么设置中断(关闭中断和不用中断有什么区别)

什么叫中断为什么设置中断(关闭中断和不用中断有什么区别)

一个简单的生活场景:孩子在卧室睡觉,妈妈在客厅看书,那么,妈妈如何知道孩子醒了?· 时时进房间查看:查询方式· 进房间陪...

2024-01-07 13:34:49查看全文 >>

中断的三个作用(简述中断的优点)

中断的三个作用(简述中断的优点)

1.中断的概念中断对于操作系统非常重要,它就好像机器中的齿轮,驱动各部件的动作。所以,许多人称操作系统是由“中断驱动”的...

2024-01-07 13:41:07查看全文 >>

简述中断方式的优缺点(中断方式的缺点)

简述中断方式的优缺点(中断方式的缺点)

存储管理-分区存储组织问:计算机系统内存大小为128k,当前系统分配情况如图,那么作业4再次申请内存9k,用不同存储分配...

2024-01-07 13:42:52查看全文 >>

什么是中断及中断的作用(外部中断和内部中断什么意思)

什么是中断及中断的作用(外部中断和内部中断什么意思)

大家好,这节课我们学习中断指令。我们先来了解一下中断的概念。1、什么是中断?所谓中断,是指CPU在正常运行程序时,由于内...

2024-01-07 14:19:33查看全文 >>

简述中断方式和查询方式区别(说明中断方式和查询方式的优缺点)

简述中断方式和查询方式区别(说明中断方式和查询方式的优缺点)

程序查询和程序中断方式都是CPU和IO设备进行交互的方式:1、程序查询方式:程序查询方式是由CPU不断查询I/O设备是否...

2024-01-07 13:52:14查看全文 >>

文档排行