用户层软件

产生 I/O 请求;格式化 I/O;SPOOLing 技术

设备独立性软件

用于实现上层和下层的统一接口、设备命名、设备保护以及设备的分配和释放等。

设备独立性软件的主要功能可分为两个方面:

  1. 执行所有设备的公有操作。如映射、保护、分块、缓冲、分配、系统调用、将逻辑设备名映射成物理设备名
  2. 向用户层统一接口。

设备映射表(DMT)位于设备独立性软件

设备驱动程序

设置设备寄存器、检查状态

与硬件直接相关,负责具体实现系统对设备发出的操作命令。

为了实现上层应用和设备控制器之间的通信,设备驱动程序应用以下功能:

  1. 接收上层软件发来的命令和参数,并将抽象要求转换为与设备相关的具体要求。
  2. 检查用户 I/O 请求的合法性
  3. 发出 I/O 命令
  4. 及时响应由设备控制器发来的中断请求,并调用相应的中断处理程序

中断处理程序

进程上下文切换、测试处理中断信号源、读取设备状态和修改进程状态等

用于保存被中断进程的 CPU 环境,转入相应的中断处理程序进行处理,处理完毕再恢复中断进程的现场后,返回到被中断进程。