6.4设备驱动程序
设备驱动程序是I/O系统的高层与设备控制器之间的通信程序.
1.主要任务:
(1)接收上层软件发来的抽象I/O要求,如read、write等命令;
(2)再把它转化为具体要求,发送给设备控制器,启动设备去执行。
(3)反方向,它也将由设备控制器发来的信号,传送给上层软件。
2.驱动程序的功能
(1)接收由与设备无关的软件发来的命令和参数,并将命令中的抽象要求,转换为与设备相关的低层操作序列;
(2)检查用户I/O请求的合法性,了解I/O设备的工作状态,传递与I/O设备操作有关的参数,设置设备的工作方式;
(3)发出I/O命令,如果设备空闲,便立即启动I/O设备,完成指定的I/O操作;如果设备忙碌,则将请求者挂在设备队列上等待;
(4)及时响应由设备控制器发来的中断请求,并根据其中断类型,调用相应的中断处理程序进行处理。
3.设备驱动程序的特点
(1)驱动程序是与设备无关的软件和设备控制器之间通信和转换的程序。
(2)驱动程序与设备控制器和I/O设备的硬件特性,紧密相关。
(3)驱动程序与I/O设备所采用的I/O控制方式紧密相关。
(4)由于驱动程序与硬件紧密相关,因而其中的一部分必须用汇编语言编写。
(5)驱动程序应允许可重入,一个正在运行的驱动程序常会在一次调用完成前被再次调用。
4.设备处理方式
(1)为每一类设备设置一个进程,专门用于执行这类设备的I/O操作。这种方式比较适合于较大的系统;
(2)在整个系统中设置一个I/O进程,