




已阅读5页,还剩131页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章设备管理 5 1I O系统5 2I O控制方式5 3缓冲管理5 4I O软件5 5设备分配5 6磁盘存储器管理 5 1I O系统 5 1 1I O的特点1 I O性能经常成为系统性能的瓶颈CPU性能越高 与I O差距越大进程切换多 系统开销大2 操作系统庞大复杂的原因之一是 资源多 杂 并发 均来自I O外设种类繁多 结构各异 输入输出数据信号类型不同 速度差异很大3 理解I O的工作过程与结构是理解操作系统的工作过程与结构的关键4 与其他功能联系密切 特别是文件系统 5 1 2设计目标与任务 1 设计目标提高方便性实现并行性均衡性设备独立性 2 设备管理的功能 1 设备分配与回收记录设备的状态根据用户的请求和设备的类型 采用一定的分配算法 选择一条数据通路 2 建立统一的独立于设备的接口 3 完成设备驱动程序 实现真正的I O操作 4 处理外部设备的中断处理 5 管理I O缓冲区 3 设备管理的目标和任务 1 按照用户的请求 控制设备的各种操作 完成I O设备与内存之间的数据交换 包括设备分配与回收 设备驱动程序 设备中断处理 缓冲区管理 最终完成用户的I O请求 设备管理的目标和任务 续 2 向用户提供使用外部设备的方便接口 使用户摆脱繁琐的编程负担方便性友好界面透明性逻辑设备与物理设备 屏蔽硬件细节 设备的物理细节 错误处理 不同I O的差异性 3 充分利用各种技术 通道 中断 缓冲等 提高CPU与设备 设备与设备之间的并行工作能力 充分利用资源 提高资源利用率 并行性 均衡性 设备管理的目标和任务 续 4 保证在多道程序环境下 当多个进程竞争使用设备时 按一定策略分配和管理各种设备 使系统能有条不紊的工作5 保护设备传送或管理的数据应该是安全的 不被破坏的 保密的 设备管理的目标和任务 续 6 与设备无关性 设备独立性 用户在编制程序时 使用逻辑设备名 由系统实现从逻辑设备到物理设备的转换用户能独立于具体物理设备而方便的使用设备用户申请使用设备时 只需要指定设备类型 而无须指定具体物理设备 系统根据当前的请求 及设备分配的情况 在相同类别设备中 选择一个空闲设备 并将其分配给一个申请进程 统一性 对不同的设备采取统一的操作方式 在用户程序中使用的是逻辑设备 优点 设备忙碌或设备故障时 用户不必修改程序改善了系统的可适应性和可扩展性 5 1 3设备的类型 一 分类1 按传输速率分低速设备 如键盘 鼠标 语音输入和输出等设备中速设备 针式打印机 激光打印机高速设备 磁带机 光盘机2 按信息交换的单位分块设备 以数据块为单位存储 传输信息 速率高 可寻址 采用DMA方式 如 磁盘字符设备 以字符为单位存储 传输信息 速率低 不可寻址 采用中断方式 如打印机 3 按外部设备的从属关系分 系统设备指操作系统生成时 登记在系统中的标准设备 如终端 打印机 磁盘机等 用户设备指在系统生成时 未登记在系统中的非标准设备 对于这类设备的处理程序由用户提供 并将其纳入系统 由系统代替用户实施管理 如A D D A转换器 CAD所用专用设备 4 按设备的共享属性分 1 独占设备 在一段时间内只能有一个进程使用的设备 一般为低速I O设备 如打印机 磁带等 2 共享设备 在一段时间内可有多个进程共同使用的设备 多个进程以交叉的方式来使用设备 其资源利用率高 如硬盘 3 虚设备 通过虚拟技术将一台独占设备变换为若干台逻辑设备 供若干个用户同时使用 通常把这种经过虚拟技术处理后的设备 称为虚拟设备 二 设备与控制器间的接口 通常 设备并不是与CPU进行通信 而是与设备控制器通信 因此 在设备与设备控制器之间有一接口中有类型的信号 数据信号 传输数据的控制信号 设备控制器发送给设备的 用于规定设备执行读或写操作的信号或执行其他操作的信号 状态信号 用于指示设备的当前状态 5 1 4设备控制器 设备控制器 电子部分叫做设备控制器或适配器 在小型和微型机中 它常采用印刷电路卡插入计算机中 接口 完成设备与主机间的连接和通讯控制器卡上通常有一个插座 通过电缆与设备相连控制器和设备之间的接口是一个标准接口 它符合ANSI IEEE或ISO这样的国际标准 一 设备控制器的功能 1 接受和识别命令2 数据交换3 设备状态的了解和报告4 地址识别5 数据缓冲6 差错控制 操作系统将命令写入控制器寄存器中 以实现输入 输出例如 磁盘控制器可接收READ WRITE FORMAT等15条命令 命令可以带参数 它们被一起送入控制器的寄存器中 因此 磁盘控制器中有多个寄存器和命令译码器当控制器接受一条命令后 可独立于CPU完成指定操作 CPU可以转去执行其它运算 命令完成时 控制器产生一个中断 CPU响应中断 控制转给操作系统 CPU通过读控制器寄存器中的信息 获得操作结果和设备状态 1 接受和识别命令 2 数据交换 实现CPU与控制器间 控制器和设备之间的数据交换 前者是通过数据总线 由CPU并行地把数据写入控制器 或是并行从控制器中将数据读出来 后者是设备将数据输入到控制器或从控制器传送给设备 因此 控制寄存器中有数据寄存器 3 设备状态的了解和报告 控制器记下设备的状态供CPU了解 如 仅当设备处于发送就绪状态时 CPU才能启动控制器从设备中读出数据 因此 控制器中设置状态寄存器 用其中的每一位来反映设备的某一种状态 4 地址识别 就象内存中的每个单元都有个地址一样 系统中每个设备也都有个地址 设备控制器又必须能够识别它所控制的每个设备的地址 所以接口电路中每个寄存器有唯一的一个地址 每个地址为I O端口 该地址称为I O端口地址 I O指令形式与I O地址是相互关联的 主要有两种形式 内存映像编址 内存映像I O模式 I O独立编址 I O专用指令 1 I O独立编址 分配给系统中所有端口的地址空间是完全独立的 与内存的地址空间没有关系主机使用专门的I O指令对端口进行操作优点外部设备不占用内存的地址空间程序设计时 易于区分是对内存操作还是对I O端口操作缺点 对I O端口操作的指令类型少 操作不灵活例子 8086 8088 分配给I O端口的地址空间64K 0000H 0FFFFH 只能用IN和OUT指令对其进行读写操作 2 存储映像编址 分配给系统中所有端口的地址空间与内存的地址空间统一编址主机把I O端口看作一个存储单元 对I O的读写操作等同于对存储器的操作优点凡是可对存储器操作的指令都可对I O端口操作不需要专门的I O指令I O端口可占有较大的地址空间缺点 占用内存空间 5 数据缓冲 由于I O设备和CPU 内存的速度不匹配 故在控制器中必须设置一缓冲器 6 差错控制设备控制器还对由I O设备传来的数据进行差错检验 若发现传送中出现了错误 通常是将差错检测码置位 并向CPU报告 于是本次传来的数据作废 并重新进行一次传送 二 设备控制器的组成 设备控制器和处理机的接口 该接口用于实现CPU与设备控制器之间的通信 共有三类信号线 数据线 地址线和控制线 数据线常于数据寄存器和控制 状态寄存器相连 设备控制器和设备的接口 一个设备控制器可以连接一个或多个设备 相应的在控制器中便有一个或多个设备接口 每个接口中都存在数据 控制和状态三种类型的信号 控制器中的I O逻辑根据处理机发来的地址信号去选择一个设备接口 I O逻辑 用于实现对设备的控制 见P147图5 2 新一代计算机出现 带来了总线技术的更新1 总线的基本概念 在计算机系统内各种子系统 如CPU 内存 I O设备等之间构建公用的信号或数据传输通道 这种可共享连接的传输通道称为总线 5 1 5 总线技术 总线的分类 CPU 内存总线 I O总线 数据总线 地址总线 控制总线 非本课程范围 2 总线的分类 3 I O系统的结构 总线型I O系统结构 CPU和内存是直接连接到总线上的 I O设备通过设备控制器连接到总线上 P1505 6通道型I O系统结构 在CPU和各设备控制器间增加一级I O通道 4 USB技术 USB UniversalSerialBus 通用串行总线 是一种连接I O串行设备的技术标准冲破了计算机技术发展的两个历史局限性 1 由于I O设备的接口标准的不一致和有限的接口数量已无法满足各种应用迫切需要 2 传统的I O设备的接口无法满足实时数据传输与多媒体应用的需求USB以WDM WindowsDriverModel 模型为基础 WDM包含一套通用的I O服务和二进制兼容的设备驱动程序 USB支持同步数据传输方式和异步数据传输方式 其数据传输率有低速1 5Mbps和全速12Mbps两种 比标准串口快100倍 比标准并口快10倍USB可以主动为外部设备提供电源 允许外部设备快速连接 具有即插即用的功能允许外部设备的热插拔 5 1 5 通道 独立于中央处理器 专门负责数据I O传输的处理机它对外设实现统一管理代替CPU对I O操作进行控制使CPU和外设可以并行工作通道又称为I O处理机引入通道的目的 为了使CPU从I O事务中解脱出来同时为了提高CPU与设备 设备与设备之间的并行度 5 2I O控制方式 I O控制的四种方式程序控制中断驱动直接存储器存取 DMA 通道 1 程序控制I O技术 由处理器提供I O相关指令来实现I O处理单元处理请求并设置I O状态寄存器相关位不中断处理器 也不给处理器警告信息处理器定期轮询I O单元的状态 直到处理完毕I O软件包含直接操纵I O的指令控制指令 用于激活外设 并告诉它做什么状态指令 用于测试I O控制中的各种状态和条件数据传送指令 用于设备和主存之间来回传送数据主要缺陷 处理器必须关注I O处理单元的状态 因而耗费大量时间轮询信息 严重地降低了系统性能 5 2 2 中断驱动I O技术 为了解决程序控制I O方法的主要问题应该让处理器从轮询任务中解放出来使I O操作和指令执行并行起来具体作法 当I O处理单元准备好与设备交互的时候通过物理信号通知处理器 即中断处理器 中断驱动I O控制方式 当某进程要启动I O设备工作时 并由CPU向相应的设备控制器发出一条I O命令 然后立即去执行原来的任务 由设备控制器按照命令的要求去控制指定I O设备 此时 I O和CPU并行工作 中断技术 1 中断的概念 CPU对系统发生的某个事件作出的一种反应CPU暂停正在执行的程序 保留现场后自动转去执行相应事件的处理程序 处理完成后返回断点 继续执行被打断的程序特点 1 中断随机的2 中断是可恢复的3 中断是自动处理的 从用户角度看中断 2 引入中断的目的 解决主机与外设的并行工作问题提高可靠性实现多机联系实现实时控制 3中断类型 强迫性中断正在运行的程序所不期望的 由于某种硬件故障或外部请求引起的自愿性中断用户在程序中有意识安排的中断 是由于用户在编制程序时因为要求操作系统提供服务 有意使用 访管 指令或系统调用 使中断发生 1 强迫性中断 输入 输出 I O 中断 主要来自外部设备通道程序性中断 运行程序中本身的中断 如溢出 缺页中断 缺段中断 地址越界 时钟中断控制台中断硬件故障 2 自愿性中断 执行I O创建进程分配内存信号量操作发送 接收消息 5 2 3 DMA技术 中断的引入大大地提高了处理器处理I O的效率当处理器和I O间传送数据时 效率仍旧不高解决方法 直接存储器访问 DMA DirectMemoryAccess 通过系统总线中一独立控制单元 DMA控制器自动控制成块数据在内存和I O单元间的传送大大提高处理I O的效能 DMA控制器的组成 主机与DMA控制器的接口 命令 状态寄存器CR 内存地址寄存器MAR 数据寄存器DR 数据计数器DCDMA控制器与块设备的接口I O控制逻辑 DMA技术 续1 当处理器需要读写一整块数据时给DMA控制单元发送一条命令包含 是否请求一次读或写 I O设备的编址 开始读或写的主存编址 需要传送的数据长度等信息处理器发送完命令后就可处理其它事情DMA控制器将自动管理数据的传送当这个过程完成后 它会给处理器发一个中断处理器只在开始传送和传送结束时关注一下就可 处理器和DMA传送不完全并行有时会有总线竞争的情况发生处理器用总线时可能稍作等待不会引起中断不引起程序上下文的保存通常过程只有一个总线周期在DMA传送时 处理器访问总线速度会变慢对于大量数据I O传送 DMA技术是很有价值 DMA技术 续2 DMA技术 续3 1 DMA方式与中断的主要区别中断方式是在数据缓冲寄存区满后 发中断请求 CPU进行中断处理DMA方式则是在所要求传送的数据块全部传送结束时要求CPU进行中断处理大大减少了CPU进行中断处理的次数中断方式的数据传送是由CPU控制完成的而DMA方式则是在DMA控制器的控制下不经过CPU控制完成的 控制器按照指定存储器地址 把第一个字节送入主存然后 按指定字节数进行数据传送每当传送一个字节后 字节计数器值减1 直到字节计数器等于0此时 控制器引发中断 通知操作系统 操作完成 CPU提供被读取块磁盘地址目标存储地址待读取字节数整块数据读进缓冲区核准校验 2 DMA工作示例 以硬盘为例 不用DMA时 磁盘如何读 首先 控制器从磁盘驱动器串行地一位一位地读一个块 直到将整块信息放入控制器的内部缓冲区中其次 再做校验和计算 以核实没有读错误发生然后控制器产生一个中断 CPU响应中断 控制转给操作系统 当操作系统开始运行时 它重复地从控制器缓冲区中一次一个字节或一个字地读这个磁盘块的信息 并将其送入内存中 3 DMA工作原理 窃取总线控制权 输入数据的内存起始地址 要传送的字节数送入DMA控制器的内存地址寄存器和传送字节计数器 中断允许位和启动位置成1 启动设备发出传输要求的进程进入等待状态执行指令被暂时挂起 进程调度其他进程占据CPU输入设备不断窃取CPU工作周期 数据不断写入内存传送完毕 发出中断信号CPU接到中断信号转入中断处理程序处理中断处理结束 CPU返回原进程或切换到新的进程 CPU向控制器发出启动DMA通知和有关参数 控制器向内存发出询问请求 访问内存 读 写 计数器减1 结束否 发中断 N Y DMA的实现流程 5 2 4I O通道技术 1 引入通道的目的 为了使CPU从I O事务中解脱出来 同时为了提高CPU与设备 设备与设备之间的并行工作能力 通道定义 定义 通道是独立于CPU的专门负责数据输入 输出传输工作的处理机 对外部设备实现统一管理 代替CPU对输入 输出操作进行控制 从而使输入 输出操作可与CPU并行操作 通道又称输入输出处理机 术语 通道 专指专门用来负责输入输出工作的处理机 简称 处理机 比起中央处理机 来 通道是一个比 功能较弱 速度较慢 价格较为便宜的处理机 但 通道 一词在微型机中常指与 或与 处理机相连设备的单纯的数据传送通路 它并不具有处理机的功能 2 通道类型 字节多路通道 通常按字节交叉的方式工作 适用于低速 设备 数据选择通道 按成组方式进行数据传输 适用于高速 设备 数组多路通道 综合前二个优点 数据传送率和通道利用率都较高 1 字节多路通道 字节多路通道以字节为单位传输信息 它可以分时地执行多个通道程序 当一个通道程序控制某台设备传送一个字节后 通道硬件就控制转去执行另一个通道程序 控制另一台设备传送信息主要连接以字节为单位的低速I O设备 如打印机 终端 以字节为单位交叉传输 当一台传送一个字节后 立即转去为另一台传送字节 2 选择通道 选择通道是以成组方式工作的 即每次传送一批数据 故传送速度很高 选择通道在一段时间内只能执行一个通道程序 只允许一台设备进行数据传输当这台设备数据传输完成后 再选择与通道连接的另一台设备 执行它的相应的通道程序主要连接磁盘 磁带等高速I O设备 选择通道 选择通道 3 成组多路通道 成组多路通道结合了选择通道传送速度高和字节多路通道能进行分时并行操作的优点 它先为一台设备执行一条通道指令 然后自动转接 为另一台设备执行一条通道指令主要连接高速设备这样 对于连接多台磁盘机的数组多路通道 它可以启动它们同时执行移臂定位操作 然后 按序交叉地传输一批批数据 数据多路通道实际上是对通道程序采用多道程序设计的硬件实现 3 硬件连接结构 通道 执行通道程序 向控制器发出命令 并具有向CPU发中断信号的功能 一旦CPU发出指令 启动通道 则通道独立于CPU工作 一个通道可连接多个控制器 一个控制器可连接多个设备 形成树形交叉连接主要目的是启动外设时 a提高了控制器效率b提高可靠性c提高并行度 交叉连接 4 通道工作原理 通道相当于一个功能简单的处理机 包含通道指令 空操作 读操作 写操作 控制 转移操作 并可执行用这些指令编写的通道程序 1 通道运算控制部件 通道地址字CAW 记录通道程序在内存中的地址通道命令字CCW 保存正在执行的通道指令通道状态字CSW 存放通道执行后的返回结果通道数据字CDW 存放传输数据通道和CPU共用内存 通过周期窃取方式取得 2 通道命令 用于I O操作的命令主要有两种 I O指令 启动通道程序通道命令 对I O操作进行控制读 反读 写 测试设备状态的数据传输命令 用于设备控制的命令 磁带反绕 换页 实现通道程序内部控制的转移命令 3 通道命令格式 命令格式一般包括 操作码 数据传输内存地址 特征位 计数器 4 工作过程 CPU 执行用户程序 当遇到I O请求时 可根据该请求生成通道程序放入内存 也可事先编好放入内存 并将该通道程序的首地址放入通道地址字CAW中 之后执行 启动I O 指令 启动通道工作 通道 接收到 启动I O 指令后 从CAW中取出通道程序的首地址 并根据首地址取出第一条指令放入通道命令字CCW中 同时向CPU发回答信号 使CPU可继续执行其他程序 而通道则开始执行通道程序 完成传输工作 通道程序完成实际I O 启动I O设备 执行完毕后 如果还有下一条指令 则继续执行 否则表示传输完成 当通道传输完成最后一条指令时 向CPU发I O中断 并且通道停止工作 CPU接收中断信号 从通道状态字CSW中取得有关信息 决定下一步做什么 5 通道与CPU的关系 主从关系可并行工作有通信方式作用不同 通道 计算 6 通道的发展 新的通道思想综合了许多新的技术在个人计算机中 芯片组中专门I O处理的芯片 称为IOP IOProcessor 发挥通道的作用IBM390中 沿用了输入输出通道概念IBM于1998年推出光纤通道技术 称为FICON 可通过FICON连接多达127个大容量I O设备 传输速度是333MHz s 未来将达到1GHz s 光纤通道技术具有数据传输速率高 传输距离远 可简化大型存储系统设计的优点在大容量高速存储 如大型数据库 多媒体 数字影像等应用领域 有广泛前景 5 3缓冲技术 1 缓冲技术的引入凡是数据到达和离去速度不匹配的地方均可采用缓冲技术 缓冲区 有一定容量 暂存信息的存贮装置 在操作系统中采用缓冲是为了实现数据的I O操作 以缓解CPU与外部设备之间速度不匹配的矛盾 提高资源利用率 2 引入缓冲区的好处 提高硬件的并行操作能力 减少了I O设备对处理器的中断请求次数简化了中断机制节省了系统开销 3 引入缓冲区的缺点 在系统区要设置相当大的缓冲池才能满足所有的 请求 从系统缓冲区传送数据到调用进程缓冲区要花费额外的时间 增加了系统的总开销 4 缓冲区设置 硬缓冲 在设备中设置缓冲区 由硬件实现软缓冲 在内存中开辟一个空间 用作缓冲区 5 几种缓冲技术 1 单缓冲2 双缓冲 如下图a b 3 循环缓冲 多个缓冲按顺序构成环形 先进先出队列的形式 设头尾 指针指向同一个缓冲区 头 尾指针读写时不能相互超越 4 缓冲池 缓冲池为多个设备共享 设备需要时才接上 用完归还 双缓冲 a 双缓冲 b 5 缓冲池管理程序 缓冲池管理程序负责缓冲池内的组织 管理摘链 挂链 协调 控制程序与用户程序的工作 6缓冲例子 终端输入软件中的键盘驱动程序任务之一 收集字符两种常见的字符缓冲方法 公共缓冲池 驱动程序中 终端固定缓冲区 终端数据结构 公共缓冲池 终端0123 终端数据结构 终端01 终端0的缓冲区 终端1的缓冲区 公共缓冲池终端固定缓冲区 5 4I O软件 1 I O软件的设计目标和原则 1 与具体设备无关2 统一命名3 对错误的处理4 缓冲技术5 设备的分配和释放6 I O控制方式 I O软件的层次结构及功能 用户层软件 产生I O请求 格式化I O Spooling 设备独立性软件 映射 保护 分块 缓冲 分配 设备驱动程序 设置设备寄存器 检查寄存器状态 中断处理程序硬件 执行I O操作 2 中断处理程序的处理过程 唤醒被阻塞的驱动程序进程保护被中断进程的CPU环境分析中断原因 转入相应的设备中断处理程序进行中断处理恢复被中断进程的现场 中断处理流程 3 设备驱动程序 1 接收由I O进程发来的命令和参数 并将命令中的抽象要求转换为具体要求 例如 将磁盘块号转换为磁盘的盘面 磁道号及扇区号 2 检查用户I O请求的合法性 了解I O设备的状态 传递有关参数 设置设备的工作方式 1 设备驱动程序的功能 3 发出I O命令 如果设备空闲 便立即启动I O设备去完成指定的I O操作 如果设备处于忙碌状态 则将请求者的请求块挂在设备队列上等待 4 及时响应由控制器或通道发来的中断请求 并根据其中断类型调用相应的中断处理程序进行处理 5 对于设置有通道的计算机系统 驱动程序还应能够根据用户的I O请求 自动地构成通道程序 2 设备处理方式 1 为每一类设备设置一个进程 专门用于执行这类设备的I O操作 2 在整个系统中设置一个I O进程 专门用于执行系统中所有各类设备的I O操作 3 不设置专门的设备处理进程 而只为各类设备设置相应的设备处理程序 模块 供用户进程或系统进程调用 3 设备驱动程序 为了控制I O传输 系统为每类设备编制设备驱动程序设备驱动程序是一种低级的系统例程 它必须和系统的输入输出硬件设备相互通信 使用特权 指令来访问硬件 它通常是用汇编语言或系统编程语言写的 任务 主要负责接收和分析从设备分配转来的信息 并根据设备分配的结果 结合具体物理设备特性完成以下具体工作 4 设备驱动程序的特点 1 驱动程序主要是指在请求I O的进程与设备控制器之间的一个通信和转换程序 2 驱动程序与设备控制器和I O设备的硬件特性紧密相关 因而对不同类型的设备应配置不同的驱动程序 3 驱动程序与I O设备所采用的I O控制方式紧密相关 4 由于驱动程序与硬件紧密相关 因而其中的一部分必须用汇编语言书写 5 驱动程序应允许可重入 6 驱动程序不允许系统调用 2 设备驱动程序的处理过程 将抽象要求转换为具体要求 2 检查I O请求的合法性 3 读出和检查设备的状态4 传送必要的参数5 工作方式的设置6 启动I O设备 4 设备独立性软件 为了提高系统的可适应性和可扩展性 我们希望所编制的用户程序与实际使用的物理设备无关 这就是所谓与设备无关性 为此 我们将逻辑设备与物理设备区分 并引入逻辑设备名称和物理设备名称的概念 为了实现与设备的无关性 系统中必须有一张联系逻辑设备名称和物理设备名称的映射表 表 设备独立性的优点 1 设备分配时的灵活性2 易于实现I O重定向 设备独立性软件功能 一 执行所有设备的公有操作 1 对独立设备的分配和回收2 将逻辑设备名映射为物理设备名 进一步可以找到对应物理设备的驱动程序 3 对设备进行保护 禁止用户直接访问设备 4 缓冲管理5 差错控制6 提供独立于设备的逻辑块 二 向用户层软件提供统一的接口 无论何种设备 它们向用户所提供的接口应该是相同的 例如 对各种设备的读操作 在应用程序中都使用read 而对各种设备的写操作都使用write 3 系统的逻辑设备表 逻辑设备与物理设备 这个 中为三个不同的逻辑设备号列出了同样的物理设备和驱动程序的地址 这说明逻辑设备 目前均得到同一个物理设备 的服务 这或许是因为激光打印机及字母型打印机正在被修理 因此本来输出到这些设备上的请求都移到行式打印机 在这个映射表中我们还可以看到物理设备 和 都是由同一个驱动程序服务的 这是假定它们是同一类型的终端 5 用户层的I O软件 1 系统调用2 库函数 5 5设备分配 5 5 1设备分配与回收当某进程向系统提出I O请求时 设备分配程序按一定策略分配设备 控制器和通道 形成一条数据传输通路 以供主机和设备间信息交换 1 设备管理中的数据结构 在多通路的 系统中 为了满足一个 请求 不仅仅是分配一个 设备的问题 还应分配相应的控制器和通道 以确保 与 设备之间能进行通信 在存储器与 设备之间能进行数据的直接存取 设备管理程序对 设备进行分配和控制是借助于一些表格 表格中记录了对 设备控制所需之信息 它们是设备管理程序实现管理功能的数据结构 数据结构 续 控制所需之信息 它们是设备管理程序实现管理功能的数据结构 如下表 1 系统设备表SDT 整个系统一张表 记录系统中所有I O设备的信息 表目包括 设备类型 设备标识符 进程标识符 DCT表指针等 2 设备控制表DCT 主要内容 设备类型 设备标识符 设备状态 与此设备相连的COCT 重复执行的次数或时间 等待队列的队首和队尾指针 I O程序地址3 COCT4 CHCTCOCT和CHCT与DCT类似 三种控制块 设备控制通道控制控制器控制块 DCB 块 CHCB 块 COCB 2 设备分配时应考虑的因素 由于在多道程序系统中 进程数多于资源数 引起资源的竞争 因此 要有一套合理的分配原则考虑的因素 I O设备的固有属性 I O设备的分配算法 设备分配的安全性 1 独享 共享 虚拟分配技术 独享分配方式 即一个设备分配给某作业后便由该作业独占 直到该作业完成并释放后 其它作业方能使用 大多数低度速 设备都属于独享设备 共享分配方式 如磁盘 磁鼓之类的外存储器 既具有很能大的存储容量 其定位操作的时间又短 因此 它们可为若干作业所共享 虚拟分配方式 把一台输入机虚拟为几台 虚拟 的输入机 例如 为了提高设备利用率引入了脱机输入输出或采用 技术 变一台为 多台设备 要考虑充分发挥效率 避免由于不合理的分配策略造成死锁 静态分配 在进程运行前 完成设备分配 运行结束时 收回设备缺点 设备利用率低动态分配 在进程运行过程中 当用户提出设备要求时 进行分配 一旦停止使用立即收回优点 效率好缺点 分配策略不好时 产生死锁 独占设备的分配 由于同时有多个进程同时访问 且访问频繁 就会影响整个设备使用效率 影响系统效率 因此要考虑多个访问请求到达时服务的顺序 使平均服务时间越短越好 共享设备分配 2 设备的分配算法 设备的分配机制 除了与 设备的固有属性有关外 还与系统所采用的分配策略有关 设备的分配与进程调度很能相似 同样可采用如下的一些算法 先来先服务 当有多个进程对同一设备提出 请求时 该算法要求把所有发出 请求的进程 按其发出请求的先后次序排成一个等待该设备的队列 设备分配程序把 设备分配给队列中第一个进程 优先权最高者优先 对于优先权相同的 请求 则按先来先分配的原则排队 3 设备分配的安全性 为了能同时操作多个 设备以加速进程的推进 应使得某进程以命令形式发出 请求后 仍可继续运行 需要时又可发出第二个 第三个 请求 多请求方式的缺点是 设备分配不安全 因为它具备请求和保持条件 因而有可能产生死锁的情况 由此可见 在多请求方式中 设备的分配程序应保证不发生进程死锁 3 独占设备分配程序 当系统中已经设置了数据结构 且确定了一定的分配原则后 如果某进程提出了 请求 便可按下述步骤进行设备分配 根据用户请求的I O设备的逻辑名 查找逻辑设备和物理设备的映射表 以物理设备为索引 查找系统设备表SDT 找到该设备所连接的设备控制表DCT 继续查找与该设备连接的控制器控制表COCT和通道控制表CHCT 就找到了一条通路 即 分配设备 分配控制器 分配通道 设备分配程序的改进 1 增加设备的独立性2 考虑多通路情况 1 什么是SPOOLing为了缓和CPU的高速与I O设备低速性的矛盾而引入的脱机输入 脱机输出技术 该技术是利用专门的外围控制机 将低速I O设备上的数据传送到高速的磁盘上 或者相反 2 SPOOLing组成1 输入井和输出井 磁盘空间 2 输入缓冲区和输出缓冲区 内存空间 3 输入进程 i和输出进程 o见图5 19SPOOLing系统的组成 SPOOLing技术 4 SPOOLing系统的特点 1 提高了I O的速度低速的I O变为高速存储 磁盘 操作 2 将独占设备改造为共享设备 3 实现了虚拟设备功能 共享打印机 打印机属于独占设备 利用SPOOing技术 可将之改造为可共多个用户使用的共享设备 当用户请求打印的时候 SPOOing系统做的工作 1 由输出进程在输出井中为之申请一块空闲磁盘区 将打印数据送入其中 2 输出进程再为用户进程申请一张空白的用户请求打印表 将打印请求填入 再将该表挂到请求打印队列上 当打印机空闲的时候输出进程从请求打印队列的队首摘一张请求打印表 根据要求进行打印 网络的SPOOLing值班进程 SPOOLing技术今天仍被广泛使用网络文件传送先把文件送到网络SPOOLing目录 然后网络值班进程把它取出并传递到目标地址Internet电子邮件系统为了寄邮 调用电子邮件程序待发信存在SPOOLing中供以后传输注意 SPOOLing只提高设备利用率 缩短用户程序执行时间 并不提高CPU利用率 5 6磁盘存储器管理 磁盘存储器管理的主要任务为文件分配存储空间合理地组织文件地存储方式 以提高访问速度提高磁盘存储空间地利用率提高磁盘I O速度 改善文件性能确保文件系统的可靠性 备份 5 6 1磁盘性能简述 1 数据的组织和格式 磁盘的格式化 1 固定头磁盘 这种磁盘在每条磁道上都有一读 写磁头 所有的磁头都被装在一刚性磁臂中 通过这些磁头可访问所有各磁道 并进行并行读 写 有效地提高了磁盘的I O速度 这种结构的磁盘主要用于大容量磁盘上 2 移动头磁盘 每一个盘面仅配有一个磁头 也被装入磁臂中 为能访问该盘面上的所有磁道 该磁头必须能移动以进行寻道 可见 移动磁头仅能以串行方式读 写 致使其I O速度较慢 但由于其结构简单 故仍广泛应用于中小型磁盘设备中 2 磁盘的类型 3 磁盘访问时间 1 寻道时间Ts 这是指把磁臂 磁头 移动到指定磁道上所经历的时间 该时间是启动磁臂的时间s与磁头移动n条磁道所花费的时间之和 即 Ts m n s其中 m是一常数 与磁盘驱动器的速度有关 对一般磁盘 m 0 2 对高速磁盘 m 0 1 磁臂的启动时间约为2ms 这样 对一般的温盘 其寻道时间将随寻道距离的增加而增大 大体上是5 30ms 2 旋转延迟时间T 这是指定扇区移动到磁头下面所经历的时间 对于硬盘 典型的旋转速度大多为5400r min 每转需时11 1ms 平均旋转延迟时间T 为5 55ms 对于软盘 其旋转速度为300r min或600r min 这样 平均T 为50 100ms 3 传输时间Tt 把数据从磁盘读出或向磁盘写入数据所经历的时间 Tt的大小与每次所读 写的字节数b和旋转速度有关 其中 r为磁盘每秒钟的转数 N为一条磁道上的字节数 当一次读 写的字节数相当于半条磁道上的字节数时 Tt与T 相同 因此 可将访问时间Ta表示为 其中 r为磁盘每秒钟的转数 N为一条磁道上的字节数 当一次读 写的字节数相当于半条磁道上的字节数时 Tt与T 相同 因此 可将访问时间Ta表示为 5 6 2磁盘调度 1 先来先服务FCFS First Come FirstServed FCFS调度算法 SSTF调度算法 2 最短寻道时间优先SSTF ShortestSeekTimeFirst 3 扫描 SCAN 算法 SSTF算法虽然能获得较好的寻道性能 但却可能导致某个进程发生 饥饿 Starvation 现象 因为只要不断有新进程的请求到达 且其所要访问的磁道与磁头当前所在磁道的距离较近 这种新进程的I O请求必须优先满足 对SSTF算法略加修改后所形成的SCAN算法 即可防止老进程出现 饥饿 现象 1 进程 饥饿 现象 2 SCAN算法 SCAN调度算法示例 4 循环扫描 CSCAN 算法 CSCAN调度算法示例 5 N Step SCAN和FSCAN调度算法 1 N Step SCAN算法 在SSTF SCAN及CSCAN几种调度算法中 都可能出现磁臂停留在某处不动的情况 例如 有一个或几个进程对某一磁道有较高的访问频率 即这个 些 进程反复请求对某一磁道的I O操作 从而垄断了整个磁盘设备 我们把这一现象称为 磁臂粘着 Armstickiness 在高密度磁盘上容易出现此情况 N步SCAN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度城市更新项目资产转让合同模板
- 2025版皮革材料贸易皮革原料采购合同模板
- 2025版新型蔬菜种植基地土地承包权转让及种植合作协议
- 2025房地产项目竣工验收补充协议
- 2025年度存量房买卖合同-老旧小区改造后交易合同
- 2025版虚拟现实技术应用合同范本下载
- 2025年光伏发电项目土地租赁合同范文
- 2025房地产代理销售协议书:特色小镇文旅地产代理服务
- 2025厂房及设备租赁合同协议书-重工业设备租赁
- 2025年高效节能变电所设备安装及维护服务协议
- 《生活中的数学》课件
- 厦门航空地面岗位应聘报名表
- PPT稻草人读书分享
- 建筑装饰造型设计基础-完整全套教学课件
- 癌痛三阶梯治疗及阿片类镇痛药的合理使用
- 火灾应急预案篇
- 特斯拉更换电池标准
- 2023年贵州省注册会计师协会(贵州省资产评估协会)招考聘用笔试参考题库含答案解析
- 法律法规法学 - 马工程《宪法学》重点整理
- 学生自主管理委员会章程
- 脑梗塞试题汇编
评论
0/150
提交评论