第六章 设备驱动程序

设备驱动程序是I/O系统的高层与设备控制器之间的通信程序,其主要任务:

    接收上层软件发来的抽象I/O要求,如read、write等命令;

    再把它转化为具体要求,发送给设备控制器,启动设备去执行。

    反方向,它也将由设备控制器发来的信号,传送给上层软件。

1.驱动程序的功能

(1)接收由与设备无关的软件发来的命令和参数,并将命令中的抽象要求,转换为与设备相关的低层操作序列;

(2)检查用户I/O请求的合法性,了解I/O设备的工作状态,传递与I/O设备操作有关的参数,设置设备的工作方式;

(3)发出I/O命令,如果设备空闲,便立即启动I/O设备,完成指定的I/O操作;如果设备忙碌,则将请求者挂在设备队列上等待;

(4)及时响应由设备控制器发来的中断请求,并根据其中断类型,调用相应的中断处理程序进行处理。

2.设备驱动程序的特点

(1)驱动程序是与设备无关的软件和设备控制器之间通信和转换的程序。

(2)驱动程序,与设备控制器和I/O设备的硬件特性,紧密相关。     

(3)驱动程序与I/O设备所采用的I/O控制方式紧密相关。

(4)由于驱动程序与硬件紧密相关,因而其中的一部分必须用汇编语言编写。

(5)驱动程序应允许可重入,一个正在运行的驱动程序常会在一次调用完成前被再次调用。

3.设备处理方式

具体分类

(1)为每一类设备设置一个进程,专门用于执行这类设备的I/O操作。这种方式比较适合于较大的系统;

(2)在整个系统中设置一个I/O进程,专门用于执行系统中所有各类设备的I/O操作。也可以设置一个输入进程和一个输出进程,分别处理系统中的输入或输出操作;

(3)不设置专门的设备处理进程,而只为各类设备设置相应的设备驱动程序,供用户或系统进程调用。这种方式目前用得较多。

4.驱动程序处理过程

I/O设备与控制器间的通信转换程序

    了解抽象命令,了解控制器内部的寄存器结构

与硬件密切相关,每类设备配备一种驱动程序

    功能:接受解释指令(有通道的系统,自动通道程序)、相关判断、发送设备命令、响应中断

    特点,控制方式不同程序不同,部分固化进硬件,代码可重入。



5. I/O控制方式

程序I/O方式

1、中断驱动I/O方式

2、直接存储器访问DMA(字节—块)

3、I/O通道控制方式(组织传送的独立)

宗旨:减少主机对I/O控制的干预,将CPU从繁杂的I/O控制事物中解脱出来。

你可能感兴趣的:(第六章 设备驱动程序)