软件技术基础19—os设备管理.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件技术基础19—os设备管理

* 缓冲管理 7.3缓冲管理 7.3.1 缓冲思想的引入: CPU与I/O设备速度匹配问题 减少中断频率 缓冲一定数量的数据后才向CPU产生一次中断 提高CPU与I/O之间的并行性 减少CPU在设备数据传输期的干预 速度1 速度2 单缓冲管理 7.3.2 单缓冲 接收 设备以速率V向缓冲输入数据 缓冲区满后CPU以速率W读出数据 缓冲区处理完后再由设备输入数据 发送 反之亦然 速度V 速度W 单解决了速率匹配问题 双缓冲管理 7.3.3双缓冲 设置两个缓冲区 提高CPU与设备间的并行度 设备 CPU 设备1 设备2 CPU 双向通信 接收 设备 发送 设备 CPU 例1 例2 例3 同时 同时 循环缓冲管理 7.3.4 循环缓冲 多个缓冲区循环使用,类似循环队列 CPU 设备输入 next_in next_out 缓冲池的管理 7.3.5缓冲池的管理 可供多个对象共享的公用缓冲区组成的缓冲池 缓冲池组成 多种类型的缓冲区组成的三条队列 inq:从设备输入的数据缓冲区队列 outq:准备向设备输出的数据缓冲区队列 emptyq:空缓冲区队列 缓冲池的组成 缓冲池的组成 emptyq inq outq 收容输入 提取输出 提取输入 收容输出 设备 CPU 数据到达 取走数据 发送数据 取走发送 缓冲池操作 缓冲池操作(四种操作) 设备输入数据到缓冲池 get buffer from emptyq; fill data in buffer; put buffer in inq; 收容输入 用户从缓冲池读入数据 get buffer from inq; calculate data in buffer; put buffer back to emptyq 提取输入 用户向数据缓冲池输出数据 get buffer from outq; send data; put buffer in emptyq; 收容输出 设备从缓冲池中读出输出数据并完成输出 get buffer from emptyq; fill data in buffer; put buffer outq; 提取输出 设备 用户 注意:结合进程同步机制(生产者消费者模型) 设备分配的功能 7.4设备的分配 7.4.1 设备分配功能 按一定算法进行设备分配 保证: “有”——用户能得到设备使用权。 “安全”——用户使用设备是安全的。 包括设备、设备控制器及通道 * 设备分配涉及的数据结构 7.4.2实现设备分配的数据结构 系统设备表:纪录系统设备情况 设备控制表:纪录设备信息及设备的控制器表 设备控制器表:纪录控制器信息及通道控制表 通道控制表:纪录通道信息 设备名 SDT DCT COCT CHCT 设备控制表 设备名 设备控制表 设备名 设备控制表 设备名 设备控制表 SDT 设备名 设备控制器 设备名 设备控制器 状态 状态 控制器名 通道控制表 状态 控制器名 通道控制表 状态 DCT COCT 通道标识 状态 通道标识 状态 CHCT 设备分配时考虑的因素 7.4.3设备分配应考虑的因素 1)分配的算法: 静态策略:进程创建时分配,结束时回收 动态策略:需要时分配,用完回收 算法 先申请的进程先满足FIFO 按进程的优先级分配 …… 2)设备的固有属性: 独占:静态分配 共享:动态分配 设备分配时考虑的因素 3)设备分配的安全性:如,是否会导致死锁 安全分配: 非请求和保持,CPU与设备串行工作 不安全分配: 分配设备时应该进行安全性状态检测 设备分配时考虑的因素 4)逻辑设备独立于物理设备(扩展) 用户使用逻辑设备,由系统控制具体的物理设备 系统能根据用户提供的逻辑设备名找到相应的物理设备 优点: 灵活分配 易于重定向 逻辑设备表: 完成逻辑设备名到物理设备的映射 * 设备分配的过程 7.4.4设备分配的基本过程 分配设备 分配设备控制器 分配通道 启动I/O设备开始信息传递 分配设备的子流程(自学) 分配设备 根据设备名查SDT表, 找到该设备的DCT 该设备忙? 分配安全? 将设备分配给进程 将进程插入DCT 等待设备进程队列中 否 是 是 否 * 分配设备控制器的子流程(自学) 分配设备控制器 根据DCT表, 找到该设备的控制器表COCT 控制器忙? 将设备控制器分配给进程 将进程插入COCT 等待设备控制器 进程队列中 否 是 * * 分配通道的子流程(自学) 分配通道 根据COCT表, 找到该设备的通道表CHCT 通道忙? 将通道分配给进程 将进程插入CHCT 等待通道进程队列中 否 是 * * 真脱机I/O技术 7.5虚拟设备管理——SPOOLING技术 “假脱机技术” 7.5.1真脱机技术 输入、输出是脱离主机完成的。 C

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档