操作系统原理第八章 输入输出管理.ppt_第1页
操作系统原理第八章 输入输出管理.ppt_第2页
操作系统原理第八章 输入输出管理.ppt_第3页
操作系统原理第八章 输入输出管理.ppt_第4页
操作系统原理第八章 输入输出管理.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第八章输入输出管理 8 1I O管理概念8 2缓冲技术8 3设备分配技术8 4I O控制 2 8 1输入 输出管理概念 一 引言设备分类1 存储设备 是存储信息的设备 如 磁盘 磁鼓 以块为单位传输信息 2 输入输出设备 能将信息从计算机外部输入到机内 或反之 如 键盘 显示器 打印机 3 传输设备负责计算机之间的信息传输 如调制调节器 网卡 设备按传输信息的特点来分 字符设备 块设备 3 8 1输入 输出管理概念 设备管理的设计目标1 提高设备利用率 关键是实现设备的并行操作 合理分配设备提高设备与CPU 各外部设备之间的并行性 通道和中断 2 方便用户使用独立于设备 用户使用的设备与物理设备无关建立虚拟环境3 设备处理的一致性设备品种繁多 用法各异 逐一管理十分复杂 输入输出系统应将设备的特性与处理它们的程序分开 4 8 1输入 输出管理概念 二 输入 输出管理功能1 状态跟踪动态地记录各种设备的状态 保留在设备控制块中 2 确定设备分配策略决定设备分配策略 确定谁 何时存取设备 使用多长时间 3 设备分配与回收作业级 静态分配 作业进入系统时就进行分配 退出系统时就收回全部资源 进程级 动态分配 进程需要使用某设备而提出申请时进行分配 使用完毕后立即将其收回 4 设备控制负责将用户I O请求转换为设备能识别的I O指令 实施设备驱动和中断处理的工作 5 三 设备独立性1 设备独立性概念 1 什么是设备独立性 所谓设备独立性是指 用户在编制程序时所使用的设备与实际使用的设备无关 也就是在用户程序中仅使用逻辑设备名 2 逻辑设备名 逻辑设备名 是用户自己指定的设备名 或设备号 它是暂时的 可更改的 3 物理设备名 物理设备名是系统提供的设备的标准名称 它是永久的 不可更改的 8 1输入 输出管理概念 6 2 设备独立性的实现 1 在高级语言中用软通道实现使用高级语言提供的指派语句 通过指派一个逻辑设备名 通道号 来定义一个设备或文件 如 fd open dev lp mode number1 write fd buf count1 2 在批处理系统中 用连接说明语句来定义如 OUTPUT1 LPT 3 在交互系统中 用指派命令来定义如 PDP系列机上的RT11系统ASSIGN设备物理名设备逻辑名 8 1输入 输出管理概念 7 逻辑设备描述器ldd logic device descriptor 是一种数据结构 进程控制块中有一个指针指向它 3 实现设备独立性的优点方便用户改善设备利用率提高系统的可扩展性和可适应性 8 1输入 输出管理概念 Ldd包括 设备逻辑名设备物理名设备控制块dcb指针逻辑设备描述器队列勾链字 8 8 1输入 输出管理概念 四 设备控制块1 什么是设备控制块 DCB 系统为每一台设备都配置了一个用来记录设备的硬件特性 连接和使用情况的一组数据 称为设备控制块 2 设备转换表进程的每个I O请求都要转换成调用一个能执行I O操作的设备例程 通过操作码检索 设备转换表 以找到相应的设备例程地址 9 2 设备控制块的内容表8 1设备控制块dcb1 设备名 是设备的系统名 即设备的物理名 2 设备属性 描述设备现行状态的一组属性3 命令转换表 转换表包含设备特定的I O例程地址 不具备相应功能的设备在其例程地址上可以填 1 8 1输入 输出管理概念 10 一 缓冲概念1 什么是缓冲缓冲是两种不同速度的设备之间传输信息时平滑传输过程的常用手段 2 缓冲器是以硬件的方式来实现缓冲 容量较小 是用来暂时存放数据的一种存储装置 3 软件缓冲区用来保存在两设备之间或在设备和应用程序之间所传数据的内存区域 8 2缓冲技术 11 4 为什么引入缓冲 1 处理数据流的生产者与消费者间的速度差异如 从调制解调器收到一个文件 并保存到硬盘上 2 协调传输数据大小不一致的设备在计算机网络中用来处理消息的分段和重组 3 应用程序的拷贝语义如 操作系统为保证系统调用write的正确语义 即应用程序要写入磁盘的数据就是write系统调用发生时的版本 方法 在系统调用返回前将应用程序缓冲区复制到内核缓冲区 8 2缓冲技术 12 二 常用的缓冲技术双缓冲 环形缓冲 缓冲池 双缓冲在双缓冲方案下 为输入或输出分配两个缓冲区buf1 buf2 1 输入数据时 如何利用双缓冲 2 输出数据时 如何利用双缓冲 3 缓冲区既用于输入 也用于输出数据时 如何利用双缓冲 8 2缓冲技术 13 1 输入 输出数据时 如何利用双缓冲 8 2缓冲技术 14 说明使用双缓冲可以提高I O的效率的例 sio 读一张卡片到buf1 等待卡片输入机结束 等待打印机就绪 sio 打印buf1的内容 sio 读一张卡片到buf2 等待卡片输入机结束 等待打印机就绪 sio 打印buf2的内容 读卡机 打印机可并行操作 读卡机 打印机可并行操作 8 2缓冲技术 15 一 设备分配原则1 静态分配和动态分配独占设备 静态分配 共享设备 动态分配2 I O设备分配算法先请求先服务优先级最高者优先3 设备分配的安全性防止发生死锁 对独占设备一般采用静态分配 不会产生死锁 若采用动态分配 如一个进程只提出一个I O请求 则也不会产生死锁 但如一个进程可同时操作多个外设时 就有可能产生死锁 8 3设备分配 16 设备分配的主要技术 独享 共享 虚拟技术二 独享分配1 什么是独享设备让一个作业在整个运行期间独占使用的设备 2 什么是独享分配在一个作业执行前 将它所要使用的设备分配给它 当它结束撤离时 将分配给它的这类设备收回 三 共享分配1 什么是共享设备由多个作业 进程共同使用的设备称为共享设备 磁盘 2 什么是共享分配共享分配就是动态分配 当进程提出资源申请时 由设备管理模块进行分配 进程使用完毕后 立即归还 8 3设备分配 17 三 虚拟分配虚拟分配 分配虚拟设备 使用SPOOLing系统 1 SPOOL SimultaneousPeripheralOperationOnLine ing系统 即外部设备联机同时操作实现思想 用常驻内存的进程去模拟一台外围机 从而用一台主机就可完成脱机技术中需要多台计算机完成的工作 该系统在作业执行前将作业信息通过独占设备预先输入到辅存上一个特定的区域 称为 井 存放好 称为预输入 作业执行中 不必直接启动独占设备输出数据 而只要将作业输出数据写入磁鼓或磁盘中存放 在作业执行完毕后 由操作系统来组织信息输出 称为缓输出 Spool系统利用通道和中断技术 在主机控制之下 由通道完成输入 输出工作 系统包括预输入程序 缓输入程序和预输入表 缓输出表等数据结构 8 3设备分配 18 8 3设备分配 2 虚拟设备和虚拟分配通过外部设备联机操作技术后 一台设备可以和辅存中若干个存储区域相对应 所以在形式上就好像把一台输入设备 或输出设备 变成了许多虚拟的输入设备 或输出设备 即 把一台不能共享的输入输出设备转换成了一台可以共享的缓冲输入输出设备 虚拟设备 通常把用来代替独占型设备的那部分外存空间 包括有关的控制表格 称为虚拟设备 虚拟分配技术 当某进程需要与独占型设备交换信息时 Spool系统就将与该独占设备所对应的那部分磁盘 磁鼓的一部分存储空间分配给它 19 虚拟设备 8 3设备分配 20 3 虚拟打印功能4 SPOOLING系统的优点 1 提供虚拟设备 2 加快作业处理速度 3 外围设备同时联机操作 8 3设备分配 21 8 4输入 输出控制 一 I O硬件端口 port 计算机端口是设备与计算机通信的一个连接点 总线 如果一个或多个设备使用一组共同的线 这种连接称为总线 bus 总线是一组线和可以描述在线上传输信息的协议 控制器 OS软件和硬件设备之间接口 它接收CPU的命令 并控制I O设备进行实际的操作 控制器通常有四种寄存器 状态 控制 数据输入 数据输出寄存器 22 二 输入 输出控制方式CPU一般通过I O控制器与物理设备打交道 按照I O控制器智能化程度的高低 将I O设备的控制方式分为四类 循环测试I O方式I O中断方式DMA方式通道方式 8 4输入 输出控制 23 1 循环测试I O方式该方式中I O控制器是操作系统和软件和硬件设备之间的接口 它接收CPU的命令 并控制I O设备进行实际操作 循环测试I O工作过程 假如一个程序要从某一输入设备输入一个数据 那么将按如下步骤进行 把一个启动位为 1 的控制字写入该设备的控制状态寄存器 从而启动该设备进行输入操作 反复读控制寄存器的内容 并测试其中的完成位 若为0 转 否则转 把数据缓冲区中的数据读入CPU或主存单元 优点 控制简单 无须太多硬件支持 缺点 CPU利用率低 8 4输入 输出控制 24 8 4输入 输出控制 2 I O中断方式I O中断方式实现了CPU与I O设备并行工作 提高了CPU利用率 它要求在控制状态寄存器中有一位 中断允许位 在I O中断方式下 数据的输入按如下步骤进行 要求输入数据的进程把一个启动和中断允许位为 1 的控制字写入设备控制状态寄存器中 从而启动该设备进行物理操作 上述进程因等待输入操作的完成而进入等待状态 于是进程调度程序调另一进程运行 当输入完成时 输入设备通过中断申请线向CPU发中断请求信号 通过中断进入 CPU转向该设备的中断处理程序 25 8 4输入 输出控制 中断处理程序首先保护被中断程序的现场 然后把输入缓冲寄存器中的输入数据转送到某一特定单元中去 以便要输入的进程使用 同时 还把等待输入完成的那个进程唤醒 最后中断处理程序恢复被中断程序的现场 并返回到被中断的进程继续执行 在以后某个时刻 进程调度程序将调度到要求输入的进程 该进程从约定的特定单元中取出做进一步处理 优点 CPU的利用率大大提高 缺点 每台设备每次输入输出都会产生中断 中断次数太多 影响CPU的有效计算时间 26 8 4输入 输出控制 3 通道方式通道 一个独立于CPU的专管输入 输出控制的处理机 它控制设备和内存直接进行数据交换 它有自己的通道指令 这些通道指令受CPU启动 并在操作结束时向CPU发中断信号 通道也被称为 I O处理机 通道的三种类型 字节多路通道 多个通道程序轮流执行 选择通道 一个通道程序从头到尾执行 数组多路通道 分时方式执行几个通道程序 优点 有关I O工作 CPU委托通道去做 使CPU基本摆脱了I O控制工作 大大提高了CPU和外设的并行工作程度 27 8 4输入 输出控制 28 8 4输入 输出控制 4 DMA方式在外设和主存之间开辟直接的数据交换通路 DMA控制器取代I O控制器 控制外设和主存之间成批的进行数据交换 而不用CPU干预 DMA控制器中包含有 控制状态寄存器 数据缓冲寄存器 传送字节数寄存器 内存地址寄存器 CPU只在两处参与数据传输工作 数据块传送开始时发启动命令 整个数据块传输结束时发中断信号请求CPU进行中断处理 DMA控制器与CPU 主存及I O设备这间的关系如图 29 8 4输入 输出控制 30 三 I O子系统为了对不同的设备按统一的标准方式来处理 为用户建立虚拟环境 I O子系统采用了抽象 包装与软件分层的方法 每个通用类型都可以通过一组标准函数 接口 来访问 8 4输入 输出控制 31 8 4输入 输出控制 1 各类设备的接口块设备接口块设备接口规定了访问磁盘驱动器和其他基本块设备所需要的各方面 一般而言设备应提供read和write命令 随机访问还提供seek命令 它们描述了块存储设备的基本特点 应用程序就不必关注这些设备的低层细节差别 主存映射接口主存映射接口不提供read和write操作 而是通过主存中的字节数组来访问磁盘存储信息 系统调用将文件映射在主存上 并返回一个字符数组的虚拟主存地址 该字符数组包含了文件的拷贝 实际数据的传输在需要时才执行 32 8 4输入 输出控制 字符流设备接口这类设备的基本系统调用使应用程序可get或put字符 网络套接字接口基于套接字 套接字 简单的说就是通信的两方的一种约定 接口的系统调用可以让应用程序创建一个套接字 连接本地套接字和远程地址 将本地应用程序与由远程应用程序创建的套接字相连 监听要与本地套接字相连的远程应用程序 连接后可以发送和接收数据 套接字接口还提供了select函数 用来管理一组套接字 33 2 I O子系统功能I O子系统使进程能与外部设备及网络进行通信 主要功能 1 解释用户的I O系统调用 2 设备驱动 3 中断处理设备处理程序设备处理程序是能直接控制设备运转的程序 它根据各类设备的特点和性能来编写 每一类设备有一个相应的设备处理程序 能控制同类中多台物理设备同时工作 8 4输入 输出控制 34 3 调用I O核心模块的方式控制设备I O工作的核心模块通常称为设备驱动程序 该核心模块有以下两种实现方式 1 通过设备处理进程的方式为每一类设备设置一个设备处理进程 对应的程序就是设备处理程序 该进程当有I O请求来到时 被唤醒 进行设备驱动工作当没有I O请求时 就睡眠I O控制模块的接口程序 负责解释用户的I O系统调用 转换成I O控制模块认识的命令形式 将I O请求发给对应设备处理进程 2 将设备与文件一样对待将设备与文件一样对待 使用文件系统的系统调用命令进行设备的读 写 8 4输入 输出控制 35 四 I O控制的例I O接口程序 I O过程 1 将逻辑设备转换为物理设备根据I O系统调用中给出的逻辑设备名 ldev 根据逻辑设备描述器 将逻辑设备名转换为物理设备名2 合法性检查对所需进行的操作进行合法性检查 根据I O系统调用中给出的操作模式mode根据DCB中命令转换表中允许的操作3 形成I O请求块 发消息给对应的设备处理进程将请求的参数输入到I O请求块 IORB 将I O请求块 IORB 挂到对应的设备请求队列上 8 4输入 输出控制 36 I O请求接口程序的描述算法doio输入 设备的逻辑名ldev操作类型mode传送数据数目amount传数数据地址addr输出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论