资源预览内容
第1页 / 共54页
第2页 / 共54页
第3页 / 共54页
第4页 / 共54页
第5页 / 共54页
第6页 / 共54页
第7页 / 共54页
第8页 / 共54页
第9页 / 共54页
第10页 / 共54页
亲,该文档总共54页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
,第5章 设备管理,5.1 I/O系统 5.2 缓冲技术 5.3设备分配 5.4虚拟设备 5.5磁盘存储器管理 5.6设备驱动程序,5.1 I/O系统,5.1.1 I/O设备 5.1.2 设备控制器 5.1.3 I/O控制方式,5.1.1 I/O设备,计算机的外设种类: 存储型设备,又称为辅助存储器,以存储大量信息和快速检索为目标。 输入/输出型设备,它们是计算机与外部交换信息的设备。 I/O设备按不同的角度分类: 按数据传输率分类 按信息交换的单位分类 按设备的共享属性分类,5.1.1 I/O设备,按数据传输率分类 低速设备 中速设备 高速设备 按信息交换的单位分类 字符设备 块设备,5.1.1 I/O设备,按设备的共享属性分类 独占设备 共享设备 共享设备,5.1.2 设备控制器,设备控制器有以下主要功能: 接收和识别CPU或通道发来的命令 实现数据交换 标识和报告设备的状态。 设备地址识别 设备控制器必须含有以下三个部分: 1、设备控制器与CPU的接口 2、设备控制器与设备的接口 3、I/O逻辑,5.1.3 I/O控制方式,I/O设备的控制方式分为四类: 循环测试方式 中断方式 DMA方式 通道方式,5.1.3 I/O控制方式,循环测试方式的实现过程: (1)把一个启动位为“1”的控制字写入该设备的控制寄存器,从而启动该设备进行输入操作。 (2)CPU反复读取控制寄存器的内容,并测试其中的完成位,若为“0”,则转(2),否则转(3)。 (3)把数据缓冲区的数据读入CPU或主存。,5.1.3 I/O控制方式,中断方式的实现过程: 要求输入数据的进程将一个启动和中断允许位为“1”的控制字写入设备控制状态寄存器中 该进程因等待输入操作的完成而进入等待状态。于是进程调度程序调度另一进程运行,5.1.3 I/O控制方式,中断方式的实现过程(续): 当完成了输入工作时,设备向CPU发出中断信号。通过中断进入,CPU转向该设备的中断处理程序 中断处理程序先保护现场,然后把输入缓冲寄存器的输入数据转送到指定单元中,同时把该进程唤醒。最后中断处理程序恢复被中断程序的现场,并返回到被中断的进程继续执行,5.1.3 I/O控制方式,DMA的实现过程: 当一个进程准备要求输入一批数据时,把要求传送的主存始址和要传送的字节数分别送入DMA控制器的主存地址寄存器和传送字节数计数器。 将一个启动位和中断允许位为“1”的控制字写入设备控制状态寄存器中,从而启动设备开始进行数据的成批传送。,5.1.3 I/O控制方式,DMA的实现过程(续): 该进程将自己挂起,等待一批数据输入完成,于是进程调度程序调度另一进程运行。 当一批数据输入完成时,输入设备完成中断信号以中断正在运行的进程,控制转向中断处理程序。,5.1.3 I/O控制方式,DMA的实现过程(续): 中断处理程序首先保护现场,唤醒等待输入完成的进程,然后恢复现场,并返回到被中断的进程继续执行。 当进程调度程序调度到要求输入的进程时,该进程按照指定的主存始址和字节数对输入数据进行加工处理。,5.1.3 I/O控制方式,DMA控制器与CPU、主存及I/O设备之间的关系,5.1.3 I/O控制方式,通道可分为三种类型: 字节多路通道 它以字节为单位传输信息,可以分时地执行多个通道程序 选择通道 该类型通道一次从头到尾执行一个通道程序,只有执行完一个通道程序之后再执行另一个通道程序 数组多路通道 它以分时的方式执行几个通道程序,每执行一个通道程序的一条通道指令就转向另一通道程序,5.2 缓冲技术,5.2.1 单缓冲 5.2.2双缓冲 5.2.3 循环缓冲 5.2.4 缓冲池,5.2.1 单缓冲,单缓冲工作示意图:,5.2.2双缓冲,双缓冲工作示意图:,5.2.3 循环缓冲,在循环缓冲中包括多个缓冲区,每个缓冲区的大小相同。并且每个缓冲区有一个指针用以指示下一个缓冲区的地址,最后一个缓冲区指针指向第一个缓冲区地址,这样N个缓冲区就形成了一个环状 循环缓冲中应包含有三种状态的缓冲区: 用于装输入数据的空缓冲区E 已装满数据的缓冲区F 计算进程正在使用的缓冲区U,5.2.4 缓冲池,缓冲池机制 从自由主存区中分配一组缓冲区组成缓冲池 每个缓冲区的大小可以等于物理记录的大小 各个缓冲区作为系统公共资源为若干进程所共享 缓冲区的类型 缓冲区 装满输入数据的缓冲区 装满输出数据的缓冲区,5.2.4 缓冲池,三种队列: 空缓冲队列 输入队列 输出队列,5.3设备分配,5.3.1设备独立性 5.3.2设备分配的原则 5.3.3设备分配中的数据结构,5.3.1设备独立性,设备独立性: 指定逻辑设备,使得用户作业和物理设备独立开来,再通过其它途径建立逻辑设备和物理设备之间的对应关系 设备独立性带来的好处: 用户应用程序与物理的外设无关,系统增减或变更外设时程序不必修改;易于对付输入输出设备的故障,从而提高了系统的可靠性,增加了外设分配的灵活性,能更有效地利用外设资源,实现多道程序设计技术,5.3.2设备分配的原则,静态分配和动态分配: 静态分配:对独占设备一般采用静态分配,一旦分配给作业或者进程,就由它们独占使用,直至该进程完成或释放该设备 分配方法:共享设备采用动态分配方法,需要使用某台设备进行I/O传输时向系统提出要求,系统根据设备情况和分配策略实施分配,一旦I/O传输完成,就释放该设备,5.3.2设备分配的原则,设备分配算法 先来先服务分配算法:当有多个进程对设备提出I/O请求或同一进程要求在同一设备上进行多次传输时,均要形成I设备请求队列。当设备空闲时,它将处理该队列中的第一个I/O请求 优先级最高者优先分配算法:根据进程的优先级高低进行排序,即将进程的优先级赋予相应的I/O请求块。,5.3.2设备分配的原则,设备分配的安全性 独占设备:一般在作业调度时就进行分配,而且一旦分配,该独占设备一直为这个作业所占有 动态分配:1.不会产生死锁:每当进程以命令形式发出I/O请求后,它便立即进入阻塞状态,直到所提出的I/O请求完成才被唤醒。2.可能产生死锁:仅当进程所请求的设备为另一进程占用时才进入阻塞状态。设备分配程序应先作死锁的检测工作,以避免死锁的发生,5.3.3设备分配中的数据结构,进行设备分配时所需的数据结构有: 设备控制表DCT 系统设备表SDT 控制器表COCT 通道控制表CHCT,5.3.3设备分配中的数据结构,设备控制表DCT包括以下内容: 设备标识符。用来区别设备的。 设备类型。反映设备的特性 设备地址或设备号。 设备状态。指设备是处于工作状态还是空闲中。 等待队列指针。等待使用该设备的进程组成等待队列,其队首和队尾指针存放在其中。 I/O控制器指针。该指针指向该设备相连接的I/O控制器。,5.3.3设备分配中的数据结构,系统设备表SDT包括以下内容: DCT指针。该指针指向有关设备的设备控制表。 正在使用设备的进程标识。 设备类型和设备标识符,其含义与DCT中的相同。 控制器表COCT 每个控制器都有一张控制器表COCT,它反映I/O控制器的使用状态以及和通道的连接情况等(在DMA方式时,该项是没有的),5.3.3设备分配中的数据结构,通道控制表CHCT 该表仅在通道控制方式的系统中存在,也是每个通道一张。,5.3.3设备分配中的数据结构,SDT、DCT、COCT和CHCT之间的关系,5.3.3设备分配中的数据结构,设备分配程序执行步骤: 分配设备 分配控制器 分配通道,5.4虚拟设备,5.4.1 Spooling技术 5.4.2 Spooling系统的组成和实现 5.4.3 Spooling应用实例,5.4.1 Spooling技术,Spooling技术: Simultaneous Peripheral Operation On Line:联机的同时外围设备操作,又称作假脱机操作 Spooling的特点: 提高了I/O的速度。 将独占设备改造为共享设备 实现了虚拟设备功能,5.4.2 Spooling系统的组成和实现,Spooling系统的组成:,5.4.2 Spooling系统的组成和实现,输入井和输出井: 输入井是模拟脱机输入时的磁盘设备,用于暂存I/O设备输入的数据 输出井是模拟脱机输出时的磁盘,用于暂存用户程序的输出数据,5.4.2 Spooling系统的组成和实现,输入缓冲区和输出缓冲区: 输入缓冲区用来暂存由输入设备送来的数据,以后再传送到输入井 输出缓冲区用于暂存从输出井送来的数据,以后再传送给输出设备,5.4.2 Spooling系统的组成和实现,预输入进程和缓输出进程: 预输入进程,将用户要求的数据从输入机通过输入缓冲区再送到输入井。当CPU需要输入数据时,直接从输入井读到内存 缓输出进程,把用户要求输出的数据先从内存送到输出井。当CPU有空闲时,操作系统调出缓输出进程进行缓输出工作 井管理程序: 用来控制作业和辅助存储器缓冲区域之间交换信息的程序,5.4.3 Spooling应用实例,共享打印机 网络通信Spooling守护进程,5.5磁盘存储器管理,5.5.1磁盘的物理结构 5.5.2磁盘调度 5.5.3提高磁盘I/O速度的其它方法,5.5.1磁盘的物理结构,查找时间Ts: 指磁盘机根据柱面号控制磁臂作机械的横向移动,带动读写磁头到达指定柱面所经历的时间 Ts=mn+s 启动磁臂的时间s,磁头移动n条磁道,m常数,5.5.1磁盘的物理结构,搜索延迟T: 从磁头号可以确定数据所在的盘,然后等待被访问的信息块旋转到读写头下面所经历的时间,5.5.1磁盘的物理结构,传输时间Tt: 指把数据从磁盘读出或向磁盘写入数据所经历的时间 Tt=b/rN b为每次所读/写的字节数;r为磁盘每秒钟的转数;N为一条磁道上的字节数,5.5.1磁盘的物理结构,访问时间Ta: Ta=Ts+T+Tt Ta=mn+s+1/2r+b/rN,5.5.2 磁盘调度,常用的磁盘调度算法(续): 先来先服务FCFS: 按照进程请求访问磁盘的先后次序进行调度 最短查找时间优先算法SSTF 先执行查找时间最短的那个磁盘请求 扫描算法SCAN: 不仅考虑了欲访问的磁道与当前磁道间的距离,更有限考虑的是磁头当前移动的方向,5.5.2 磁盘调度,常用的磁盘调度算法: 循环扫描算法CSCAN: 克服了分布在远离磁头的请求等待的时间长的缺陷 电梯调度算法 每次总是选择沿臂的移动方向最近的那个柱 分步扫描算法N-Step-SCAN N步扫描算法是将I/O请求队列分成若干子队列,每个子队列不超过N个请求,每次选一个子队列进行扫描,5.5.3 提高磁盘I/O速度的其它方法,磁盘高速缓存 通常为磁盘设置高速缓存,这样能显著减少等待磁盘I/O的时间 提前读 用户经常采用顺序方式访问文件的各个盘块上的数据,在读当前盘块时已能知道下次要读出的盘块的地址,5.5.3 提高磁盘I/O速度的其它方法,延迟写 在执行写操作时,磁盘缓冲区中的数据本来应该立即写回磁盘,但考虑到该缓冲区中的数据不久之后再次被输出进程或其他进程访问 虚拟盘 指用内存空间去仿真磁盘,又叫RAM盘。该盘的设备驱动程序可以接受所有标准的磁盘操作,但这些操作的执行,不是在磁盘上而是在内存中。操作过程对用户是透明的,即用户不会发现这与真正的磁盘操作有什么不同,而仅仅是快一点,5.6设备驱动程序,5.6.1驱动技术的发展 5.6.2设备驱动程序的功能和特点 5.6.3设备驱动程序的处理过程,5.6.1驱动技术的发展,I/O设备及其驱动技术的发展的特点: I/O设备及其接口逐步标准化、智能化和网络化 I/O驱动软件编写、控制、
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号