Newtank

个人站

欢迎来到我的个人站~


IO软件

目录

IO软件的层次结构

层次结构

中断处理程序

位于操作系统底层,与硬件相关联。在转入中断处理程序后,检查设备状态寄存器内容,判断产生中断的原因,根据IO操作的完成情况进行相应处理。

  • 如果数据传送出错,向上层软件报告设备的出错信息,实施重新执行
  • 如果正常完成,唤醒等待的进程,将其转化为就绪态
  • 如果有等待传输的IO命令,通知相关软件启动下一个IO请求

设备驱动程序

包括与设备密切相关的所有代码,从独立于设备的软件中接收并执行IO请求。

  • 把用户提交的逻辑IO请求转化为物理IO操作
  • 监督设备是否正确执行,管理数据缓冲区,进行必要的纠错处理

负责设备初始化、执行设备驱动例程、调用和执行中断处理程序

层次化

设备驱动程序分为整体驱动程序和分层驱动程序。

整体驱动程序直接向操作系统提供接口和控制硬件。

分层驱动程序将驱动程序分成多层,放在栈中,系统接到IO请求时先调用栈顶的驱动程序,随后向下调用,直到请求被处理

独立于设备的IO软件

执行适用于所有设备的常用IO功能,向用户层软件提供一致性接口

包括设备命名、设备包含、提供设备无关的数据单位、缓冲技术、设备分配与状态跟踪、错误处理与报告。

用户空间的IO软件

库函数

一部分IO软件不在操作系统中,是和应用程序链接在一起的库函数。

SPOOLing软件

在内核外运行的系统IO软件,采用预输入、缓输出和井管理技术,通过创建守护进程和特殊目录解决独占型设备的空占问题。