- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 例如磁带、网络数据传输 * * 在DMA方式下不需要 * * * * 可以有多种方式实现LRU替换策略。 * 物理设备IO 驱动程序接口函数(续) I/O 操作函数 完成对设备的读、写和控制操作 系统缓冲区??设备 处理I/O请求包IRP 将IRP转换成设备的I/O命令 管理I/O请求队列 中断处理函数 完成设备的中断处理 IO 过程 用户程序的I/O请求需要经过三个层次的调用和返回 在I/O过程中,进程随时都可能被阻塞 等待内核分配系统缓冲区 等待使用设备 等待设备完成I/O请求 IO 过程 用户进程 系统调用 read(fd, buf, n) sys_read() 分配系统缓冲区 调用驱动程序 qd_read(irp) qd_read(irp) irp挂入 IO请求队列(阻塞进程) 处理irp: 向设备dev发送命令 (阻塞进程) 设备dev空闲? Yes No 返回 中断处理程序 读入的数据?系统缓冲区 唤醒进程 处理下一个irp: 向设备dev发送命令 中断返回 数据拷贝到 用户buf 系统调用返回 系统调用 例子 缓冲区管理 系统缓冲池 设置多个缓冲区,统一管理。 缓冲池可以看作是I/O设备的Cache 节省内存资源,减少物理I/O次数。 系统 Buffer IO设备 系统 Buffer 缓冲池 系统 Buffer 系统 Buffer 用 户 进 程 逻辑设备I/O 物理设备I/O 缓冲区管理 缓冲区管理机制需要解决的问题 在缓冲池中查找进程I/O请求中需要的数据 缓冲区的分配与淘汰 缓冲区与设备的数据一致性 系统 Buffer IO设备 系统 Buffer 缓冲池 系统 Buffer 系统 Buffer 用 户 进 程 逻辑设备I/O 物理设备I/O 缓冲区管理 缓冲池队列 缓冲区描述符结构BUF 缓冲区的首地址、使用信息 缓冲区数据的源地址(设备号和数据块号) 根据BUF中的设备号(d)和数据块号(b)建立散列队列 0 1 2 n hash数组 Buf Buf Buf Buf Buf Buf Buf 缓冲区管理 缓冲区的分配与淘汰 淘汰过程:将缓冲区的更新内容写回设备(如磁盘),使其变成空闲缓冲区。 采用LRU的算法思想 设备队列 包含正在使用的BUF 使用完后挂入空闲队列 空闲队列 clean队列和dirty队列 需要重新使用时,挂入设备队列 在空闲队列中分配和淘汰BUF 缓冲区管理 数据一致性问题 数据写回的懒惰策略 设置dirty队列,数据的写回过程推迟到缓冲区被重新分配时 系统故障或死机可能破坏设备上数据的完整性 解决 缓冲区定时回写 文件系统的检查和恢复 缓冲区管理 从缓冲池读/写数据 计算读/写数据的设备号和数据块号 根据设备号和数据块号计算hash值,查找缓冲区。 如果找到相应的缓冲区,转(6)。 分配(先clean,后dirty)空闲缓冲区(可能阻塞),如果是dirty缓冲区,先写回设备(延迟写)。 从设备读入数据(可以实现预读),缓冲区挂入设备队列。 完成用户的读/写操作。 缓冲区挂入空闲队列尾(实现LRU)。 返回。 磁盘请求调度 磁盘 存储结构 一个磁盘有多个盘面组成,盘面有同心圆磁道组成,磁道有扇区组成,扇区为基本传输单位。 所有盘面的相同磁道组成柱面 每一个柱面上的磁道数和垂直放置的磁头个数相同 每条磁道上扇区数目典型为10至100,每个扇区包含相同的字节数。 存取装置 主轴 动臂 盘片 柱面 磁道 读写头 磁盘请求调度 磁盘I/O时间分析 磁盘地址:柱面号+盘面号+扇区号 磁盘I/O时间=寻道时间+延迟时间+传输时间 寻道时间:读/写磁头定位于柱面 延迟时间:读/写磁头定位于扇区 传输时间:读/写数据的时间 减少寻道时间——调度I/O请求 磁盘请求调度 调度算法 FCFS(First Come First Served) 无调度 SSTF(Shortest Seek Time First) 调度距当前磁头位置最近的IO请求 有的请求可能被无限延期 SCAN调度(电梯调度法) 磁头固定在水平的两个端点来回扫描 在磁头移动的路径上,调度距当前磁头位置最近的IO请求。 C-SCAN调度(一个方向响应请求) 磁头只作单向的扫描运动,服务那些处于扫描路径上的I/O请求。 提高IO效率 使I/O设备与CPU并行工作 中断和DMA的I/O控制方式 实现非阻塞的I/O系统调用 减少设备I/O时间 对设备数据的预读、迟写和重用 I/O请求调度 采用并行I/O技术提高I/O的数据带宽 RAID盘阵 0 1 2 3 4 5 6 7 ······ 条块化的数据 disk0 disk1
您可能关注的文档
- 仓储管理实务( 第二版) 仓储管理之项目三仓储出库作业管理.ppt
- 城市轨道交通客运组织 教学课件 作者 裴瑞江 项目六.ppt
- 操作系统 教学课件 作者 宗大华 宗涛 第四章.ppt
- 常用工具软件 教学课件 作者 邹祖银 康志亮 宋勤 第5章 文件文档工具.ppt
- 仓储管理实务( 第二版) 仓储管理之项目四仓储包装业务.ppt
- 城市轨道交通客运组织 教学课件 作者 裴瑞江 项目七.ppt
- 操作系统 教学课件 作者 宗大华 宗涛 第五章.ppt
- 常用工具软件 教学课件 作者 邹祖银 康志亮 宋勤 第6章 翻译转换工具.ppt
- 仓储管理实务( 第二版) 仓储管理之项目五仓储成本管理与库存控制.ppt
- 操作系统 教学课件 作者 宗大华 宗涛 第一章.ppt
文档评论(0)