软考在线  |  计算机技术与软件专业技术资格(水平)考试   |   [请选择科目]
[ 成为 VIP会员 ]        登录  |  注册      我的  购物车
0
 
科目切换  联系我们 
    
  |   [请选择科目]

VIP:有效提升20分!  真题  历年真题 (可免费开通)/  百科全书/ 机考模拟平台/  最难真题榜/  自测/  攻打黄金十二宫/  真题检索/  真题下载/  真题词库
知识   必会知识榜/  最难知识榜/  知识点查询/      文档   学习计划/  精华笔记/  试题文档     纸质图书   《百科全书》HOT!!/         /        首页/  2025年上半年专区/  手机版/ 
免费智能真题库 > 历年试卷 > 数据库系统工程师 > 2019年上半年 数据库系统工程师 上午试卷 综合知识
  第21题      
  知识点:   I/O软件   设备驱动程序
  关键词:   模块   设备驱动程序        章/节:   计算机软件基础知识       

 
设备驱动程序是直接与( )打交道的软件模块。
 
 
  A.  应用程序
 
  B.  数据库
 
  C.  编译程序
 
  D.  硬件
 
 
 确定 并 查看答案解析     知识点讲解  我要标记      有奖找茬      上一题        下一题 
 

 
  第2题    2019年上半年  
   40%
DMA控制方式是在( )之间直接建立数据通路进行数据的交换处理。
  第18题    2021年上半年  
   48%
CPU的速度要远快于打印机的速度,为解决这个速度不匹配的问题,可以使用( )。
  第21题    2018年上半年  
   59%
I/O设备管理软件一般分为4个层次,如下图所示。图中①②③分别对应( )。
   知识点讲解    
   · I/O软件    · 设备驱动程序
 
       I/O软件
        设备管理软件的设计水平决定了设备管理的效率。从事I/O设备管理软件的结构,通常采用分层构造,即把设备管理软件组织成为一系列的层次。其中,低层与硬件相关,它把硬件与较高层次的软件隔离开来,而最高层的软件则向应用提供一个友好的、清晰且统一的接口。
        设计I/O软件的主要目标是设备独立性和统一命名。I/O软件独立于设备,就可以提高设备管理软件的设计效率。当输入/输出设备更新时,没有必要重新编写全部设备驱动程序。用户在实际应用中也可以看到,在常用操作系统中,只要安装了相对应的设备驱动程序,就可以很方便地安装好新的输入/输出设备,甚至不必重新编译就能将设备管理程序移到他处执行。
        I/O设备管理软件一般分为4层:中断处理程序、设备驱动程序、与设备无关的系统软件和用户级软件。至于一些具体分层时细节上的处理,是依赖于系统的,没有严格的划分,只要有利于设备独立这一目标,就可以为了提高效率设计不同的层次结构。
        I/O软件的所有层次及每一层的主要功能如下图所示。
        
        I/O系统的层次结构与每层的主要功能
        图中的箭头给出了I/O部分的控制流。这里举一个读硬盘文件的例子,当用户程序试图读一个硬盘文件时,需要通过操作系统实现这一操作。与设备无关软件检查高速缓存中有无要读的数据块,若没有,则调用设备驱动程序,向I/O硬件发出一个请求。然后,用户进程阻塞并等待磁盘操作的完成。当磁盘操作完成时,硬件产生一个中断,转入中断处理程序。中断处理程序检查中断的原因,认识到这时磁盘读取操作已经完成,于是唤醒用户进程取回从磁盘读取的信息,从而结束此次I/O请求。用户进程在得到了所需的硬盘文件内容之后,继续运行。
 
       设备驱动程序
        设备驱动程序是直接同输入/输出设备交互,直接对它们进行控制的软件模块。设备驱动程序的基本任务就是接收来自于上层I/O软件的抽象请求,并且去执行这个请求。例如,抽象的读操作、写操作、设备的初始化操作等。上层的I/O软件通过这些抽象的函数接口与设备驱动程序打交道,这些接口是标准的、稳定不变的。而硬件设备的具体细节被封装在设备驱动程序里面。这样,即使硬件设备发生了变化,只要更新相应的设备驱动程序即可,不会影响到上层软件对它的使用。
        设备驱动程序与具体的设备类型密切相关。每一个I/O设备都需要相应的设备驱动程序,而每一个设备驱动程序一般也只能处理一种类型的设备。因为对于不同类型的设备,它们的控制方式是不同的。例如,对于一个鼠标驱动程序来说,它需要从设备控制器中读取各种各样的信息,包括鼠标移动的位置、哪一个键被按下了等等。而对于一个磁盘驱动程序来说,它为了进行磁盘的读写操作,就必须知道扇区、磁道、柱面、磁头等各种各样的参数,并使用这些参数来控制磁盘控制器。
        一般而言,在具体实现一个设备驱动程序的时候,可以采用一种通用的结构。
        (1)检查输入的参数是否有效,如果无效,就返回一个出错报告;如果有效,就把输入的抽象参数转换为控制设备所需要的具体参数。
        (2)检查设备当前是否空闲,如果设备正忙,那么这一次的I/O请求就暂时没法完成,因此把它加入等待队列,稍后再处理。如果设备空闲,再检查硬件的状态,看是否具备了运行的条件。
        (3)设备驱动程序向设备控制器发出一连串的命令,即把这些命令写入到控制器的各个寄存器当中。
        (4)在发出控制命令后,如果这个I/O操作需要一定的处理时间,不能马上完成,那么驱动程序就会把自己阻塞起来,直到I/O操作完成。这时会发生一个中断,在这个中断处理程序里面把驱动程序唤醒。
        (5)I/O操作完成后,驱动程序还要检查出错情况。若一切正常,就返回一些状态信息给调用者。如果这是一个输入操作,还要把输入的数据上传给上一层的系统软件。
        事实上,实时内核的I/O系统的作用就像一个转换表,把用户对I/O的请求转换到相应的设备驱动程序。这样,驱动程序就能获得最原始的用户请求,并对设备进行操作。
   题号导航      2019年上半年 数据库系统工程师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第21题    在手机中做本题
    在线人数   共计 4396人 在线 
    veryshan@s..     wxqun1985@..     xiangqian2..     wurong_ycs..     sdwfr1973@..     kkwang110@..
    dishou@163..     liangyun@g..     cw_jun2@si..     pangdong.2..     wjqfly@163..     390927286@..
    sushj@tom...     523179420@..     zhuyucheng..     zzx9920@ya..     wurong_ycs..     ykou001@16..
    YUANSHAO@1..     175988186@..     edjw@163.c..     jixiezheng..     txliang@ts..     yaohaibo03..
    juan815@sh..     zhandl@263..     zrzyz@163...     dxzhendd@1..     wxjyhl@163..     hugh---han..
    412544204@..     chenhui248..     xumeizhou2..     alyssa196@..     xiaoshimoz..     zrzyz@163...
    hydrogen24..     zys_118@16..     fuqinh@126..     2828lulin@..     shilaite@1..     iamct123@t..

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。



京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2025 All Rights Reserved 软考在线版权所有