主要任务

「设备驱动程序」是 I/O 系统高层与设备控制器之间的通信程序,是与设备密切相关的代码。

  • 接收用户提交的逻辑 I/O 请求,转化为物理 I/O 操作,发送给设备控制器,启动设备去执行。如设备名转化为端口地址、逻辑记录转化为物理记录、逻辑操作转化为物理操作等。
  • 将设备控制器发来的信号传给上层软件。

主要功能

  • 设备初始化:检查并预置设备和控制器以及通道的状态。
  • 执行设备驱动例程:启动设备,进行数据传输;生成通道指令和通道程序,启动通道工作。
  • 执行中断处理例程:响应设备、控制器和通道发出的中断请求,调用相应的中断处理程序进行处理。

特点

  • 是设备无关软件和设备控制器之间通信和转换程序。
  • 与设备控制器和 I/O 设备的硬件特性紧密相关。不同类型的设备应配置不同的设备驱动程序。 
  • 与 I/O 设备所采用的 I/O 控制方式紧密相关。
  • 由于驱动程序与硬件紧密相关,因而其中的一部分必须用汇编语言编写。
  • 驱动程序应允许可重入,一个正在运行的驱动程序常会在一次调用完成前被再次调用。