设备驱动程序

设备驱动程序

ID:28939951

大小:41.50 KB

页数:4页

时间:2018-12-15

设备驱动程序_第1页
设备驱动程序_第2页
设备驱动程序_第3页
设备驱动程序_第4页
资源描述:

《设备驱动程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、设备驱动程序与设备密切相关的代码放在设备驱动程序中,每个设备驱动程序处理一种设备类型,例如,即使系统支持若干不同商标的终端,只要其差别不大,就可以设计一个终端驱动程序。但是,若系统支持的终端性能差别很大,如不灵活的硬拷贝终端与带有小鼠标的智能位映象图形终端,则必须设计不同的终端驱动程序。上一节我们介绍了设备控制器做的工作,知道每一个控制器都设有一个或多个设备寄存器,用来存放向设备发送的命令和参数。设备驱动程序负责泄放这些命令,并监督它们正确执行。因此,磁盘驱动程序是操作系统中唯一知道磁盘控制器设置有多少寄存器以及这些寄存器作用的。只有它才了解磁盘拥有的扇区数、磁道数、柱

2、面数、磁头数、臂的移动、磁盘交叉访问系数、马达驱动器,磁头稳定时间和其它所有保证磁盘正常工作的机制。一般,设备驱动程序的任务是接收来自与设备无关的上层软件的抽象请求,并执行这个请求。一个典型的请求是“读第几块”。如果请求到来时,驱动程序的进程空闲,它立即开始执行这个请求;若驱动程序的进程正在执行一个请求,这时它将新到来的请求排到一个等待处理的I/O请求队列中,待正执行的请求完成后,再依次从I/O请求队列中取出一个个I/O请求,逐个处理。以磁盘为例,实际实现一个I/O请求的第一步是将这个抽象请求(READ(文件名,记录号))转换成磁盘的具体参数。对于磁盘驱动程序来说,就是

3、计算请求块实际在磁盘的位置,检查驱动器的马达是否正在运转,确定磁头是否定位在正确的柱面上等等。总之,它必面决定需要控制器的哪些操作,以及按照什么样的次序实现。一旦明确应向控制器发送哪些命令,它就向控制器一次只能接收一条命令(如DMA方式下),有一些控制器则接收一个命令链表(通道方式下),然后自行控制执行,不再求助于操作系统。在设备驱动程序的进程泄放一条或多条命令后,系统有两种处理方式,多数情况下,执行设备驱动程序的进程必须等待命令完成。这样,在命令开始执行后,它阻塞自已,直到中断处理时将它解除阻塞为止。而在其它情况下,命令执行不必延迟就很快完成。例如,某些终端(包括IB

4、M-PC)的滚屏操作,只要求把几个字节写到控制器的寄存器中即可,整个操作只在几微秒就能完成。因此,执行设备驱动程序的进程不必等待。上述两种处理方式,在操作完成后,都必须检查数据传输是否有错。若有错,则它返回一些错误状态信息给调用者。若无错,设备驱动程序还负责将数据传送到设备无关的软件层。若还有未完成的请求在排队,则再选择一个启动执行。若没有未完成的请求时,则该驱动程序进程等待下一个请求的到来。1.4.1整体式系统整体式系统是最常用的组织的方式,但常被人们形容为“一锅粥”,其结构实际就是“无结构”。整个操作系统是一堆过程的集合,每个过程都可以调用任意其他过程。使用这种技术

5、时系统中的每一个过程都有一个定义完好的接口,即它的人口参数和返回值,而且相互间的调用不受约束。在整体式系统中,为了构造最终的目标操作系统程序,开发人员首先将一些独立的过程进行编译,然后用链接程序将其他链接在一起成为一个单独的目标程序。从信息隐藏的观点看,它没有任何程度的隐藏——每一个过程都对其他过程可见。(与此相对的是将系统分成若干个模块,信息被隐藏在这些模块内部,在外部只允许从预定好的调用,这如图1-16①所示。(多数CPU有两种状态:核心态:供操作系统使用,该状态下可以执行机器的所有指令;用户态:借用户程序用,该状态下I/O操作和某些其他操作不能执行。)操作系统随后

6、检查一张系统调用的参数以确定应执行哪条系统调用,这如图1-16所示,它确定了将调用的服务过程。当系统调用结束后,控制又返回给用户程序(第4步),于是继续执行系统调用后面的语句。这种组织方式提出了操作系统的一种基本结构:(1)一个用来调用被请求服务例程的主要程序。(2)一套执行系统调用的服务例程。(3)一套支持服务例程的实用过程。在这种模型中,每一条系统调用都由一个服务例程完成;一组实用过程用来完成若干服务例程都需要用到的功能,如从用户程序获取数据等,这种将各种过程分为三层的模型如图1-17所示。1.4.2层次式系统图1-17所示的系统进一步通用化就成为层次式系统,即上层

7、软件基于下层软件之上。按此模型构造的第一个操作系统是E.W.D和他和学生在荷兰的技术学院开发的THE系统(1968年)。THE系统是为荷兰制造的X8计算机(内存为32K个27比特的字)配备的一个简单的批处理系统。该系统分为六层,如图1-18所示。第零层进行处理分配,当发生中断或时钟到达期限时由该层软件进行切换。在第零层之上有若干个顺序进程运行,编写这些进程时就不再考虑多个进程在单一处理器上运行的细节。换句话说,第零层提供了CPU基本的多道程序功能。层次功能5操作员4用户程序3输入/输出管理2操作员-进程通信1内存和磁盘管理0处理器分配和多

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。