5.2.3设备驱动程序 ■设备驱动程序的功能是从与设备无关的 软件中接收抽象的请求,并执行之。 条典型的请求是读第η块。如果请求到来 时驱动程序空闲,则它立即执行该请求 但如果它正在处理另一条请求,则它将 该请求挂在一个等待队列中
5.2.3 设备驱动程序 ◼ 设备驱动程序的功能是从与设备无关的 软件中接收抽象的请求,并执行之。一 条典型的请求是读第n块。如果请求到来 时驱动程序空闲,则它立即执行该请求。 但如果它正在处理另一条请求,则它将 该请求挂在一个等待队列中
5.2.4与硬件无关的操作系统I/O软件 设备无关软件完成的功能: ●对设备驱动程序的统一接口 设备命名 设备保护 提供独立于设备的块大小 缓冲区管理 块设备的存储分配 独占性外围设备的分配和释放 错误报告
5.2.4 与硬件无关的操作系统I/O软件 ◼ 设备无关软件完成的功能: ◼ l 对设备驱动程序的统一接口 ◼ l 设备命名 ◼ l 设备保护 ◼ l 提供独立于设备的块大小 ◼ l 缓冲区管理 ◼ l 块设备的存储分配 ◼ l 独占性外围设备的分配和释放 ◼ l 错误报告
操作系统的一个主要论题是文件和IO设备 的命名方式 ■操作系统如何保护对设备的未授权访问呢 ■设备无关软件屏蔽不同磁盘的扇区大小并 向高层软件提供统一大小的逻辑块 块设备和字符设备都需要缓冲技术 ■错误处理多数由驱动程序完成
◼ 操作系统的一个主要论题是文件和I/O设备 的命名方式 ◼ 操作系统如何保护对设备的未授权访问呢 ◼ 设备无关软件屏蔽不同磁盘的扇区大小并 向高层软件提供统一大小的逻辑块 ◼ 块设备和字符设备都需要缓冲技术 ◼ 错误处理多数由驱动程序完成
52.5用户空间的IO软件 库例程实现的I/O系统调用 I/O系统调用通常先是库例程调用 格式化输入输出是用库例程实现的 非库例程实现的IO系统调用 spooling系统
5.2.5 用户空间的I/O软件 ◼ 库例程实现的 I/O系统调用 I/O系统调用通常先是库例程调用 格式化输入输出是用库例程实现的 ◼ 非库例程实现的 I/O系统调用 spooling系统
I/O系统每一层软件及其功能 1/0应答 /0功能 用户进程 进行I/O0调用;格式化I/0; SPOOL ING I/0请求 设备无关软件 命名;保护;阻塞:缓冲;分配 设备驱动程序 建立设备寄存器;检查状态 中断处理程序 当I/0结束时,唤醒驱动程序 硬件 执行I/0操作
I/O系统每一层软件及其功能 ◼ 用户进程 进行I/O调用;格式化I/O;SPOOLING 设备无关软件 命名;保护;阻塞;缓冲;分配 设备驱动程序 建立设备寄存器;检查状态 硬件 执行I/O操作 中断处理程序 当I/O结束时,唤醒驱动程序 层次 I/O应答 I/O功能 I/O请求