- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
I/O中断处理程序
位于操作系统底层,与硬件设备密切相关,与系
统其余部分尽可能少地发生联系
进程请求I/O操作时,通常被挂起,直到数据传输
结束后并产生I/O 中断时,操作系统接管CPU后转
向中断处理程序
当设备向CPU提出中断请求时,CPU响应请求并
转入中断处理程序
I/O中断处理程序的功能
检查设备状态寄存器内容,判断产生中断的原因,
根据I/O操作的完成情况进行相应的处理
如果数据传输有错,向上层软件报告设备的出错信
息,实施重新执行
如果正常结束,唤醒等待传输的进程,使其转换为
就绪态
如果有等待传输的I/O命令,通知相关软件启动下
一个I/O请求
设备驱动程序
包括与设备密切相关的所有代码
从独立于设备的软件中接收并执行I/O请求
把用户提交的逻辑I/O请求转化为物理I/O操作的启
动和执行
监督设备是否正确执行,管理数据缓冲区,进行必
要的纠错处理
设备驱动程序的功能
设备初始化
在系统初次启动或设备传输数据时,预置设备和控
制器以及通道状态
执行设备驱动例程
负责启动设备,进行数据传输
对于具有通道方式,还负责生成通道指令和通道程
序,启动通道工作
调用和执行中断处理程序
负责处理设备和控制器及通道所发出的各种中断
设备驱动程序的层次
每个设备驱动程序只处理一种设备,或者一类紧
密相关的设备
设备驱动程序分为整体驱动程序和分层驱动程序
整体驱动程序直接向操作系统提供接口和控制硬件
适用于功能简单的驱动程序,效率较高,但较难迁移
分层驱动程序将驱动程序分成多层,放在栈中,系
统接到I/O请求时先调用栈顶的驱动程序,栈顶的
驱动程序可以直接处理请求或向下调用更低层的驱
动程序,直至请求被处理
适用于功能复杂、重用性要求较高的驱动程序,结构
清晰且便于移植,但会增加一部分系统开销
独立于设备的I/O软件
执行适用于所有设备的常用I/O功能,并向用户层
软件提供一致性接口
功能
设备命名:通过路径名寻址设备
设备保护:检查用户是否有权访问所申请设备
提供与设备无关的数据单位:字符数量,块尺寸
缓冲技术:传输速率,时间约束,不能直接送达目
的地
设备分配和状态跟踪:分配不同类型的设备
错误处理和报告:驱动程序无法处理的错误
用户空间的I/O软件
库函数
一小部分I/O软件不在操作系统中,是与应用程序
链接在一起的库函数,甚至完全由运行于用户态的
程序组成
系统调用通常由库函数封装后供用户使用,封装函
数只是将系统调用所用的参数放在合适位置,然后
执行访管指令来陷入内核,再由内核函数实现真正
的I/O操作
SPOOLing软件
在内核外运行的系统I/O软件,采用预输入、缓输
出和井管理技术,通过创建守护进程和特殊目录解
决独占型设备的空占问题
文档评论(0)