用户层软件
产生 I/O 请求;格式化 I/O;SPOOLing 技术
设备独立性软件
用于实现上层和下层的统一接口、设备命名、设备保护以及设备的分配和释放等。
设备独立性软件的主要功能可分为两个方面:
- 执行所有设备的公有操作。如映射、保护、分块、缓冲、分配、系统调用、将逻辑设备名映射成物理设备名
- 向用户层统一接口。
设备映射表(DMT)位于设备独立性软件层
设备驱动程序
设置设备寄存器、检查状态
与硬件直接相关,负责具体实现系统对设备发出的操作命令。
为了实现上层应用和设备控制器之间的通信,设备驱动程序应用以下功能:
- 接收上层软件发来的命令和参数,并将抽象要求转换为与设备相关的具体要求。
- 检查用户 I/O 请求的合法性
- 发出 I/O 命令
- 及时响应由设备控制器发来的中断请求,并调用相应的中断处理程序
中断处理程序
进程上下文切换、测试处理中断信号源、读取设备状态和修改进程状态等
用于保存被中断进程的 CPU 环境,转入相应的中断处理程序进行处理,处理完毕再恢复中断进程的现场后,返回到被中断进程。