- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统22-设备2
3 循环缓冲 如何将打印机改造为共享设备? ——Spooling系统将独占设备虚拟成为共享设备实例 1)由输出进程在输出井中为之申请一空闲盘块区,将要打印数据送入其中。 2)输出进程再为用户进程申请一张空白的用户请求打印表,将打印要求填入其中,并将该表挂到请求打印队列上。 当打印机空闲时,输出进程将从请求打印队列的队首取出一张请求打印表,处理,然后是下一个,直到请求队列为空,输出进程阻塞自己,直到下次再有打印请求时被唤醒。 当用户进程请求打印输出时,spoolng系统并不真正把打印机分配给该用户进程,而是做两件事: 在分配程序完成设备分配之后进行, 设备处理的功能大体分为两个部分: 1、启动(驱动)I/O, 2、处理I/O完成后的工作。 此外,对于设置有通道的计算机系统,根据用户的I/O请求,自动地构成通道程序。 6.5设备处理——设备驱动 P181 1、驱动过程 输出:等待设备发送结束中断 输入:等待设备数据到达中断 具体讲: (1)解释I/O进程发送的命令和参数,将抽象要求转化为具体要求; (2)I/O准备工作,检查I/O请求的合法性; (3)读出并检查设备的状态; (4)传送必要的参数;并设置设备的工作方式; (5)启动I/O操作后阻塞,等待中断到来时唤醒。 2、 I/O结束后驱动程序的工作 向上层软件汇报,报告本次i/o的执行情况。 设备驱动程序的特点 1.是进程和设备控制器之间的一个通信程序. 一方面将进程的I/O请求传递给控制器, 另一方面,将设备控制器所记录的设备状态,I/O完成情况等信息反馈给I/O进程。 2.与I/O设备的特性紧密相关,不同的设备,驱动程序不同。 3.与I/O控制方式紧密相关 4.与硬件紧密相关(设备相关性),一部分程序必须用汇编语言书写 3、中断处理过程 P179 1)唤醒被阻塞的驱动程序进程 2) 保护被中断进程CPU现场 3) 分析中断原因,转入对中断事件处理的程序 4) 进行中断处理 5) 恢复被中断进程现场并继续执行 CPU 其他进程 中断处理 设备 等待数据 继续 处理输入数据 被唤醒的等待进程 数据到 设备 产生中断 暂不接收 数据 清除中断 等待数据 唤醒驱动进程(等待接收的进程) CPU 设备 等待数据 初始化 理解I/O要求, 检查合法性 检测设备 状态 启动I/O 并阻塞 其他进程 驱动程序在外设使用中所处的位置 设备管理小结 I/O系统的组成 I/O控制方式:演变过程,各种方式 设备管理的功能:缓冲管理(缓冲的组织形式) 设备分配(设备独立性,spooling技术) 设备处理(设备驱动) 22.*/38 操作系统 ?* 6.3.1 缓冲思想的引入: 1.CPU与I/O设备速度匹配问题 2.减少中断频率 3.提高CPU与I/O之间的并行性 速度1 速度2 缓冲一定数量的数据后才向CPU产生一次中断 减少CPU在设备数据传输期的干预 6.3缓冲管理 I/O缓冲技术的核心思想是:在内存中建立I/O缓冲区用于缓存从输入设备流入内存的数据或缓存从内存流向输出设备的数据。 6.3.2 I/O缓冲技术 提前读(Read Ahead) 用户进程加工前一个数据的工作与OS输入下一个数据的工作可以同时进行。 延后写(Write Postponing) 用户进程生成下一个输出数据的工作与OS输出前一个输出数据的工作可以同时进行。 6.3.3 I/O缓冲的组织形式 单缓冲区(Single Buffer) 双缓冲区(Double Buffer) 循环缓冲区(Circular Buffer) 缓冲池(Buffer pool) 设备以速率V向缓冲输入数据 缓冲区满后CPU以速率W读出数据 缓冲区处理完后再由设备输入数据 接收 解决了速率匹配问题 速度V 速度W 1 单缓冲 外部设备 OS 用户进程 In Move 假定,一块数据从外部设备输入到内存所花费的时间为T,在内存中移动所花费的时间为M,被用户进程加工处理所花费的时间为C,那么 在没有使用I/O缓冲区的情况下,平均每块数据的处理时间近似为:T+C; 在使用单I/O缓冲区的情况下,平均每块数据的处理时间近似为:max(T,C)+M(计算前一个数据和输入下一个数据并列)。 分 析 相对于没有使用I/O缓冲区的情形, 引入单I/O缓冲区后,用户进程的运行效率得到了提高。 但如果用户进程在对有关数据进行加工处理时不释放相关的I/O缓冲区,用户进程的性能则不能得到改善。 如果T远远大于C,即外部设备的I/O速度比用户进程的
您可能关注的文档
最近下载
- 注册香港公司的香港投资环境介绍。.doc VIP
- 9《天上有颗南仁东星》课件 统编版语文八年级上册.pptx VIP
- 第8讲 二《德不可空谈》课件 学生读本高年级 (1).pptx
- 脚手架、满堂架钢管、扣件用量的计算.xls VIP
- 1-3-4氧化还原反应配平教学设计2023-2024学年高一上学期化学人教版(2019)必修第一册.docx VIP
- 石油化工金属管道布置设计规范.docx VIP
- 中国IBD蓝皮书 -中国炎症性肠病医患认知 暨生存质量报告 溃疡性结肠炎部分.docx
- AB变频器PowerFlex 700 说明书.pdf VIP
- 压覆影响区范围的确定、压覆矿产资源调查报告编写提纲、评估报告编写提纲.docx VIP
- 公安辅警综合基础知识题库汇总及答案解析.docx VIP
文档评论(0)