计算机操作系统之设备管理.ppt

上传人:xt****7 文档编号:4010637 上传时间:2019-12-30 格式:PPT 页数:78 大小:1.37MB
返回 下载 相关 举报
计算机操作系统之设备管理.ppt_第1页
第1页 / 共78页
计算机操作系统之设备管理.ppt_第2页
第2页 / 共78页
计算机操作系统之设备管理.ppt_第3页
第3页 / 共78页
点击查看更多>>
资源描述
第五章 设备管理 2007年1月 内容 1 I O组成 2 I O控制 指I O完成的方法 3 I O缓冲 4 I O分配 5 I O处理 指具体I O命令的完成过程 2007年1月 5 1I O系统 5 1 1I O设备一 类型 1 按速度分 低 键盘中 打印机高 磁盘 2 按信息交换单位分 块 磁盘 可定位字符 打印机 串口 2007年1月 5 1I O系统 5 1 1I O设备一 类型 3 按设备的共享属性分 独占 如临界资源共享 磁盘虚拟 如本身因有属性为独占 但将其虚拟为几个逻辑设备 2007年1月 二 设备与控制器之间的接口 CPU 控制器 设备三种信号 1 数据信号 双向 有缓存 2 控制信号 控制器发给设备 要求其完成相关操作 3 状态信号 设备发给控制器 后者 显示 2007年1月 5 1 2设备控制器 一 功能 接收CPU命令 控制I O设备工作 解放CPU 1 接收和识别命令 应有相应的Register来存放命令 命令寄存器 2 数据交换CPU 控制器的数据寄存器 设备3 设备状态的了解和报告设备控制器中应用 状态寄存器 4 地址识别CPU通过 地址 与设备通信 设备控制器应能识别它所控制的设备地址以及其各寄存器的地址 2007年1月 5 1 3I O通道 二 类型1 字节多路通道 各子通道以时间片轮转方式共享通道 适用于低 中速设备 2 数组选择通道 无子通道 仅一主通道 某时间由某设备独占 适于高速设备 但通道未共享 利用率低 3 数组多路通道 在图5 3中 多子通道不是以时间片方式 而是 按需分配 综合了前面2种通道类型的优点 2007年1月 5 1 3I O通道 三 通道 瓶颈 问题 解决 采用复联方式 2007年1月 5 1 4总线系统 微机I O系统 设备控制器 与设备是一对多的关系 系统是通过它与设备通信系统 设备控制器 设备如 磁盘设备 打印设备缺点 总线瓶颈 CPU瓶颈 2007年1月 5 1 4总线系统 二 主机I O系统 四级结构 计算机 I O通道 I O控制器 设备I O通道相当于对总线的扩展 即多总线方式 且通道有一定的智能性 能与CPU并行 解决其负担 ISA EISA LocalBUS VESA PCI 2007年1月 5 2I O控制方式 四个阶段 程序I O 中断I O DMA控制 通道控制 趋势 提高并行度 2007年1月 5 2 1程序I O 忙 等待方式 查询方式 CPU需花代价不断查询I O状态 图5 7a CPU资源浪费极大 例 99 9ms 0 1ms 100ms在5 2 1中99 9在忙等 2007年1月 5 2 2中断I O 向I O发命令 返回 执行其它任务 I O中断产生 CPU转相应中断处理程序 如 读数据 读完后以中断方式通知CPU CPU完成数据从I O 内存 2007年1月 5 2 3DMA方式 用于块设备中 一 引入中断I O CPU 字节 干预一次 即每 字节 传送产生一次中断 DMA 由DMA控制器直接控制总线传递数据块 DMA控制器完成从I O 内存 图5 7c二 组成一组寄存器 控制逻辑 图5 8CR 命令 状态 DR 数据 MAR 内存地址 DC 计数 DMA工作过程 例 2007年1月 DirectMemoryAccess 2007年1月 DMA 2007年1月 DMA 2007年1月 DMA 2007年1月 5 2 4I O通道控制方式 DMA方式 对需多离散块的读取仍需要多次中断 通道方式 CPU只需给出 1 通道程序首址 2 要访问I O设备后 通道程序就可完成一组块操作 2007年1月 5 3缓冲管理 目的 组织管理 分配 释放buffer5 3 1引入1 缓和CPU和I O设备间速度不匹配的矛盾 如 计算 打印buffer 打印2 减少对CPU的中断频率如 buffer越大 buffer满 信号发生频率越低 3 提高CPU和I O并行性 2007年1月 5 3缓冲管理 5 3 2单缓冲 由于C和T可并行 M和C或M和T不能并行 因此处理一块数据时间 Max C T M用户进程何时阻塞 2007年1月 5 3缓冲管理 5 3 2双缓冲 效率有所提高 且进一步平滑了传输峰值 系统处理一块数据的时间约为 MAX C T 收发可双向同时传送 图5 13 2007年1月 5 3缓冲管理 5 3 3循环多缓冲 类型 R 空缓冲 G 满缓冲 C 当前缓冲 2007年1月 循环多缓冲的使用 nextg 指示下一个应取数据的bufnexti 指示下一个空buf Getbuf 取nextg对应缓冲区提供使用 将Nextg置为空 Nextg Nextg 1 ModN将Nexti对应缓冲区提供使用 将Nexti置为满 Nexti Nexti 1 ModNReleasebuf 若C满 则改为G 若C空 则改为R 2007年1月 循环多缓冲的同步问题 Nexti追上Nextg 表示输入速度 输出速度 全部buf满 这时输入进程阻塞Nextg追上Nexti 输入速度 输出速度 全部buf空 这时输出进程阻塞 2007年1月 5 3 4缓冲池 缓冲池 系统提供的公用缓冲一 组成 3个队列 空缓冲队列emq输入队列inq输出队列outq四个工作缓冲区 hin 收容输入数据sin 提取输入数据hout 收容输出数据sout 提取输出数据 2007年1月 二 4种工作方式 1 收容输入 2 提取输入3 收容输出 4 提取输出 2007年1月 5 3缓冲管理 1 hin getbuf emq putbuf inq hin 2 sin getbuf inq 计算 putbuf emq sin 3 hout getbuf emq putbuf outq hout 4 sout getbuf outq 输出 putbuf emq sout 2007年1月 三 Getbuf和Putbuf过程 Getbuf type Beginwait RS type wait MS type B number takebuf type signal MS type end Putbuf type Beginwait MS type addbuf type number signal MS type signal RS type end 2007年1月 5 4设备分配 包括 对设备 设备控制器 通道的分配5 4 1数据结构一 设备控制表DCT 二 控制器控制表 COCT 通道表 CHCT 系统设备表 SDT 图5 17SDT 记录了系统中全部设备及其驱动程序地址 2007年1月 设备控制表DCT 2007年1月 5 4 2设备分配应考虑的若干因素 一 设备的固有属性 共享 虚拟 注意调度的合理性 独享 排它性分配 控制不好可能死锁 二 分配算法 1 FIFO 2 优先权 2007年1月 5 4 2设备分配应考虑的若干因素 三 安全性 安全分配 同步 每进程获得一I O后 即block 直到其I O完成 即打破了死锁条件 缺点 CPU I O对该进程是串行 进程进展缓慢 不安全分配 异步 需进行安全性检查 进程执行效率高 2007年1月 5 4 3设备独立性 一 概念 即设备无关性 指应用程序独立于具体使用的物理设备 逻辑设备物理设备逻辑设备表 LUT 2007年1月 5 4 3设备独立性 分配流程 进程给出逻辑名 通过LUT得到物理设备及其driver入口 优点 设备分配更灵活 逻辑设备和物理设备间可以是多 多的映射关系 提高了物理设备的共享性 以及使用的灵活性 如 某逻辑名可对应这一类设备 提高均衡性与容错性 几个逻辑名可对应某一个设备 提高共享性 2007年1月 5 4 3设备独立性 易于实现I O重定向 不变程序 只需改变LUT表的映射关系 二 设备独立性软件执行所有设备的公有操作分配回收名字映射保护缓冲差错控制向用户层软件提供统一接口read write Structgeneral op int read int write driver1 Structgeneral opdev op dev1 read dev1 write driver2 Structgeneral opdev op dev2 read dev2 write Gen read fd dev op map fd dev op read 2007年1月 5 4 3设备独立性 三 名字映射LUT的生成在用户进程第一次请求设备时完成映射并在LUT中生成相应项LUT的配置 1 整个系统一张LUT表 要求 逻辑名不重复 一般用于单用户系统 2 每个用户一张LUT表 可重名 可限制用户对某些设备的使用 2007年1月 5 4 4独占设备分配程序 进程n请求设备 beginsearch sdt phdevice ifnotbusy phdevice thenbegincompute safe 对独占设备ifsafethenalloc n phdevice elsebegininsert DL phdevice n 将n插入设备等待队列DL上returnend end 2007年1月 设备忙 elsebegin insert DL phdevice n return end controllerid controllerid COCTptr dct device分配成功ifnotbusy COCT controllerid thenalloc n controllerid elsebegininsert col n return end channeled channeled chatptr controllerid 控制器分配成功 2007年1月 ifnotbusy chct channelid thenallocation n channelid elsebegininsert chl n return end end 优化 1 增加设备的独立性2 考虑多通路情况 2007年1月 5 4 5SPOOLING技术 1概念假脱机技术 在联机情况下同时出现外围操作作用 通过缓冲方式 将独占设备改造为共享设备 2007年1月 2 spooling组成 1 输入 和输出 在磁盘上开辟的2个大存储空间 模拟输入和输出设备 2 输入buf和输出buf 内存中 输入设备 输入buf 输入 用户区 1 用户区 输出 输出buf 设备 2 3 输入Spi和输出SPo进程 分别控制 1 2 的动作 SPi相当于脱机输入控制器 SPo相当于脱机输出控制器 2007年1月 3例 1 输入a 进程n请求 SPi为n在输入 中分配空间 设备数据由输入buf送输入 生成输入请求表挂输入请求队列 b CPU空 取请求表中的任务 送进程缓冲区 2 输出 打印 a 进程n请求 SPo为n在输出 中分配空间 将数据由进程buf转到输出 生成一打印请求表挂打印请求队列 b 打印机空 查打印请求表中的任务 取输出 中对于数据 输出buf 打印 2007年1月 4特点 1 提高I O速度 对低速设备操作 变为对输入 出 操作 2 将独占设备改造为共享设备分配设备的实质时分配输入 出 3 实现了虚拟设备功能 2007年1月 5 5设备处理 设备处理程序即是设备驱动程序 设备驱动程序的功能和特点设备驱动程序的处理过程 2007年1月 设备驱动程序的功能和特点 功能 接收进程的I O命令检查命令合法性检查设备状态设置设备工作方式驱动I O操作响应设备中断构成通道程序 2007年1月 设备驱动程序的功能和特点 特点 和硬件紧密相关 各个设备有自己的设备驱动 2007年1月 5 5 2设备驱动程序处理过程 包括启动过程中断处理过程启动过程将抽象要求转化为具体要求检查I O请求合法性读出和检查设备状态传送必要的参数设置工作方式启动I O设备 2007年1月 5 5 3中断处理程序 流程设备启动 I O完成 发送中断 CPU调用中断处理过程中断处理过程唤醒被阻塞的驱动程序进程保护被中断进程环境转入相应的设备处理程序中断处理 特性 恢复被中断进程的现场 2007年1月 5 6磁盘存储器管理 5 6 1磁盘性能简述一 数据组织和格式 图5 22 磁道 扇区 字节二 类型1 固定头磁盘 每个磁道上有一个磁头 快2 移动头磁盘 每个盘面仅有一个磁头 慢 2007年1月 5 6 1磁盘性能简述 三 磁盘访问时间 1 寻道时间 TS m n Sm 常量 n 磁道数 s 磁盘启动时间 2 旋转延时间Tr 指定扇区旋转到磁头下所需时间 设每秒r转 则Tr 1 2r 均值 3 数据传输时间Tt b rNb 读写字节数N 每道上的字节数访问时间 Ta Ts 1 2r b rN可见 由于特定磁盘 只有集中放数据 集中读写 b大 才能更好提高传输效率 2007年1月 例子 寻道时间 20ms磁盘通道传输速率 1MB s转速r 3600rpm每扇区512字节每磁道32扇区目标 读128k数据 2007年1月 时间比较 60 16k 960k 1MB s顺序组织 20 8 3 16 7 8 3 16 7 7 220 ms 随机组织 20 8 3 0 5 256 7373 ms 2007年1月 5 6 2磁盘调度 目标 减少寻道时间一 FCFS FisrtComeFirstSecond 特点 简单 寻道时间长 相当于随机访问模式 二 SSTF 最短寻道优先 三 扫描算法 1 进程 饥饿现象 SSTF存在 2 SCAN算法 在移动方向固定的情况下采用了SSTF 以避免饥饿现象 FCFS调度算法SSTF调度算法 2007年1月 5 6 2磁盘调度 四 循环扫描CSCAN 图9 5 一个方向读完 不是象SCAN那样回头 而是循环 访问时间 2T T Smax五 N Step SCAN和FSCAN算法 1 N Step SCAN粘臂 由于连续对某磁道访问引起的垄断访问 将磁盘请求队列分为长为N的子队列m个 如下图处理 当N 1时 为FCFS 当N时 为SCAN 2007年1月 5 6 2磁盘调度 2 FSCAN SCAN调度算法CSCAN调度算法 2007年1月 5 6 3磁盘高速缓存 形式逻辑上是磁盘 物理上是驻留在内存中的盘块固定大小和可变大小数据交付方式数据交付指将磁盘高速缓存中的数据传送给请求者进程步骤 先查缓存 后查磁盘并更新缓存方式 数据交付指针交付 2007年1月 5 6 3磁盘高速缓存 置换算法最近最久访问频率可预见性数据一致性 将需要一致性的块放在替换队列的头部 优先回写 周期性回写磁盘例 ms dos采用写穿透方式 2007年1月 5 6 4提高磁盘I O速度的其它方法 提前读延迟写访问频率高的磁盘块放在替换队列的尾部 减少回写次数优化物理块的分布目的是减小磁头移动距离簇分配方式 一个簇为多个连续的块虚拟盘 RAM盘 和磁盘高速缓存区别 虚拟盘由用户控制 磁盘高速缓存由系统控制 2007年1月 5 6 5廉价磁盘冗余阵列 并行交叉存取 条化存取 冗余存取校验存取优点可靠性高磁盘I O速度高性价比高 2007年1月 RAID0 不冗余 2007年1月 RAID0 2007年1月 RAID0 不冗余不校验分布式存储低可靠性低价格并行I O访问 2007年1月 RAID1 镜像 分布存放镜像冗余不校验 2007年1月 RAID1 读性能比RAID0好 选择寻道时间小的磁盘访问 写性能比RAID0差存储开销大可靠性高 2007年1月 RAID2 汉明码校验冗余 2007年1月 RAID3 用一个校验盘 2007年1月 RAID4 Block LevelParity 2007年1月 RAID4 和RADI3相比较 RAID4基于大的块校验 2007年1月 RAID5 2007年1月 RAID5 解决了RAID4校验盘不可靠性问题 2007年1月 试验 实现SSTF算法和SCAN算法要求给出任意的输入流 计算平均寻道长度 输入流长度 磁头移动方向可定制 测试 设有100各磁道 访问序列如下 23 5 98 14 66 25 78 34 66 74 56 87 12 39 71 49 58当前磁头在50道 上次访问的磁道是18道
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!