- 0
- 0
- 约小于1千字
- 约 8页
- 2026-02-09 发布于北京
- 举报
理解I/O中断处理程序
理解设备驱动程序
理解独立于设备的I/O软件
理解用户空间的I/O软件
计算机操作系统
4设备管理–4.2设备管理软件
4.2.2I/O软件的实现
I/O中断处理程序
位于OS底层,与硬件设备密切相关,与系统其余部分尽可能少地发生联系
进程请求I/O操作时,通常被挂起
数据传输结束后产生I/O中断
CPU响应请求并转入中断处理程序
I/O中断处理程序的功能
检查设备状态寄存器,判断中断原因,根据I/O操作完成情况进行相应处理
如果数据传输有错,向上层软件报告设备的出错信息,实施重新执行
如果正常结束,唤醒等待传输的进程,使其转换为就绪态
如果有等待传输的I/O命令,通知相关软件启动下一个I/O请求
设备驱动程序
包括与设备密切相关的所有代码
从独立于设备的软件中接收I/O请求
把用户提交的逻辑I/O请求转化为物理I/O操作的启动和执行
监督设备是否正确执行,访问数据缓冲区,进行必要的纠错处理
设备驱动程序的功能
设备初始化:在设备传输数据时,预置设备、控制器以及通道状态
执行设备驱动例程:负责启动设备,进行数据传输;对于通道,还负责组织通道程序,启动通道工作
执行与设备相关的具体中断处理:负责处理设备、控制器及通道所发出的各种具体中断
设备驱动程序的层次
每个设备驱动程序原则只处理一种设备,或者一类紧密相关的设备
设备驱动程序可以分层实现
高层/处理类设备,低层/处理具体设备
系统建立栈,接到I/O请求时先调用栈顶的驱动程序,然后继续向下调用低层驱动程序,直至所有物理操作被处理
这一方式使设备驱动的实现结构清晰、便于移植,但会增加一部分系统开销
独立于设备的I/O软件
执行适用于所有设备的常用I/O功能,并向用户层软件提供一致性接口;包括:
设备命名:通过路径名寻址设备
设备保护:用户是否有权访问设备
提供与设备无关的数据单位:字符/块
缓冲技术:调整CPU与I/O速度不匹配
分配和状态跟踪:分配设备
错误处理/报告:驱动无法处理的错误
用户空间的I/O软件
库函数:一部分I/O软件可以使用库函数实现,放在操作系统内核之外,运行时与应用程序链接
虚拟设备软件:用一类设备模拟另一类设备的仿真I/O软件
原创力文档

文档评论(0)