280 likes | 566 Views
第七章 设备管理. 教学目的与要求: 1.掌握设备、缓冲等基本概念 2.理解 I/O 控制的几种方式、缓冲区及其作用 3.理解设备分配与设备管理 重点与难点: 1. I/O 控制方式的理解 2.缓冲区的引入及其管理 3.设备分配与管理. 主要内容: 7.1 I/O 系统组成 7.2 I/O 控制方式 7.3 缓冲管理 7.4 设备分配 7.5 设备处理 7.6 作业. 设备管理是对计算机输入输出系统的管理,是操作系统中最具多样性和复杂性的部分。其主要任务是: (1) 选择和分配输入输出设备以进行数据传输操作;
E N D
第七章 设备管理 教学目的与要求: 1.掌握设备、缓冲等基本概念 2.理解I/O控制的几种方式、缓冲区及其作用 3.理解设备分配与设备管理 重点与难点: 1.I/O控制方式的理解 2.缓冲区的引入及其管理 3.设备分配与管理
主要内容: • 7.1 I/O系统组成 • 7.2I/O控制方式 • 7.3 缓冲管理 • 7.4 设备分配 • 7.5 设备处理 • 7.6 作业
设备管理是对计算机输入输出系统的管理,是操作系统中最具多样性和复杂性的部分。其主要任务是:设备管理是对计算机输入输出系统的管理,是操作系统中最具多样性和复杂性的部分。其主要任务是: (1) 选择和分配输入输出设备以进行数据传输操作; (2) 控制输入输出设备和CPU(或内存)之间交换数据; (3) 为用户提供友好的透明接口,把用户和设备硬件特性分开,使得用户在编制应用程序时不必涉及具体设备,系统按用户要求控制设备工作。另外,这个接口还为新增加的用户设备提供一个和系统核心相连接的入口,以便用户开发新的设备管理程序; 7.1 I/O系统组成
(4) 提高设备和设备之间、CPU和设备之间,以及进程和进程之间的并行操作度,以使操作系统获得最佳效率。 我们先从设备的结构谈起。
2.四级结构,由低到高分为 (1)I/O设备 (2)设备控制器 (3)I/O通道 (4)计算机 7.1.2 I/O设备 一.I/O设备的类型 1.按传输速率分 低速设备——几个~数百个 B/S 键盘.鼠标等 中速设备——数K~数十KB/S 打印机等 高速设备——数百K~数MB/S 磁盘、光驱等
2.按信息交换的单位分类 (1)块设备,用于存储信息,信息的存取以数据块为单位. 特征:传输速率较高;可寻址;采用DMA方式 (2)字符设备,用于数据的输入和输出,基本单位是字符. 特征:传输速率较低;不可寻址;采用中断驱动方式. 3.按设备的共享属性分类 (1)独占设备:每次只允许一个进程访问的设备. (2)共享设备:每次允许多个进程同时访问的设备. (3)虚拟设备:采用虚拟技术将一台独占设备变换为若干台逻辑设备.
二.设备与控制器之间的接口 设备要通过控制器才能与CPU进行间接的通信.设备与控制器之间通信时的信号类型有三种 1.数据信号,是设备与控制器之间的输入输出信号; 2.控制信号,是设备控制器发送给设备的、用于规定设备执行何种操作的信号; 3.状态信号,用于指示设备的当前状态
7.1.3 设备控制器 设备控制器是CPU与设备之间的接口,也称接口卡.可分为字符设备控制器和块设备控制器 一.设备控制器的功能 1.接收和识别命令 2.数据交换 3.设备状态的了解和报告 4.地址识别 二.设备控制器的组成 1.与处理机的接口:共有三类信号线,即数据线、地址线和控制线
2.与设备的接口,一个接口对应一个设备,每个设备控制器上可有多个接口,即每个设备控制器可以连接多个设备 2.与设备的接口,一个接口对应一个设备,每个设备控制器上可有多个接口,即每个设备控制器可以连接多个设备 3.I/O逻辑,用于实现对设备的控制。I/O逻辑通过一组控制线与处理器交互,处理器利用该逻辑相控制器发送I/O命令;I/O逻辑对收到的命令进行译码。 7.1.4 I/O通道(I/O处理机) 一.通道设备的引入 1.通道也叫I/O处理机,引入通道设备的根本目的是为了进一步减轻CPU的压力。 2.I/O通道是一种特殊的处理机,可以执行I/O指令,通过执行通道程序来控制I/O操作 3.一台I/O通道可连接多台设备。
二.通道类型 1.字节多路通道:含有多个非分配型子通道;用于低中速设备,可避免信息丢失 2.数组选择通道:用于高速设备,只含一个分配型子通道 3.数组多路通道:兼顾了上述二者的优点,应用广泛。 三.“瓶颈”问题 1.由于通道价格昂贵,通常系统中所设置的通道数目不多,使得通道工作极为繁忙,容易形成I/O瓶颈。 2.解决的方法:增加设备到主机间的通路,而不增加通道,以节省开支。
一.设备管理的主要任务之一是控制设备和内存或CPU之间的数据传送,常用数据传送控制方式有程序直接控制方式、中断控制方式、DMA方式和通道方式四种。一.设备管理的主要任务之一是控制设备和内存或CPU之间的数据传送,常用数据传送控制方式有程序直接控制方式、中断控制方式、DMA方式和通道方式四种。 选择和衡量控制方式有如下几条原则: 1.数据传送速度足够高,能满足用户的需要但又不丢失数据; 2.系统开销小,所需的处理控制程序少; 3.能充分发挥硬件资源的能力,提高I/O设备和CPU的利用率。 7.2 I/O控制方式
二.I/O控制方式 1.程序I/O方式 (1)就是由用户进程直接控制内存或CPU和外围设备之间的信息传送; (2)程序直接控制方式控制简单,不需要多少硬件支持; (3)缺点: ①CPU和外围设备只能串行工作,这使得CPU的利用率大大降低; ② CPU在一段时间内只能和一台外围设备交换数据信息,从而不能实现设备之间的并行工作;
由于程序直接控制方式依靠测试设备标志触发器的状态位来控制数据传送,因此无法发现和处理由于设备或其他硬件所产生的错误。所认,程序直接控制方式只适用于那些CPU执行速度较慢,而且外围设备较少的系统。由于程序直接控制方式依靠测试设备标志触发器的状态位来控制数据传送,因此无法发现和处理由于设备或其他硬件所产生的错误。所认,程序直接控制方式只适用于那些CPU执行速度较慢,而且外围设备较少的系统。 2.中断驱动I/O控制方式 (1)这种方式要求CPU与设备(或控制器)之间有相应的中断请求线,而且在设备控制器的控制状态寄存器的相应的中断允许位。 (2)中断驱动方式CPU的利用率大大提高且能支持多道程序和设备的并行操作;
(3)存在问题: ①在一次数据传送过程中,发生中断次数太多,这将耗去大量的CPU处理时间; ②由于中断次数的急剧增加而造成CPU无法响应中断和出现数据丢失现象; ③如果外围设备的速度也非常高,则可能造成数据缓冲寄存器的数据由于CPU来不及取走而丢失 3.直接存储器访问DMA控制方式 (1)DMA控制器的组成 主要由命令/状态寄存器CR,内存地址寄存器MAR,数据寄存器DR,数据计数器DC等构成;
(2)基本思想是在外围设备和内存之间开辟直接的数据交换通路。在DMA方式中,I/O控制器具有比中断方式和程序直接控制方式时更强的功能。DMA控制器可用来代替CPU控制内存和设备之间进行成批的数据交换。(2)基本思想是在外围设备和内存之间开辟直接的数据交换通路。在DMA方式中,I/O控制器具有比中断方式和程序直接控制方式时更强的功能。DMA控制器可用来代替CPU控制内存和设备之间进行成批的数据交换。 (3)DMA方式仍存在着一定的局限性 首先,DMA方式对外围设备的管理和某些操作仍由CPU控制。同时,多个DMA控制器的同时使用也是不经济的。 4.I/O通道控制方式 (1)通道是一个独立于CPU的专管输入输出控制的处理机,
它控制设备与内存直接进行数据交换。它有自己的通道指令,这些通道指令受CPU启动,并在操作结束时向CPU发中断信号。它控制设备与内存直接进行数据交换。它有自己的通道指令,这些通道指令受CPU启动,并在操作结束时向CPU发中断信号。 (2)通道控制(channel control)方式与DMA方式相类似,也是一种以内存为中心,实现设备和内存直接交换数据的控制方式。与DMA方式不同的是,在DMA方式中,数据的传送方向、存放数据的内存始址以及传送的数据块长度等都由CPU控制,而在通道方式中,这些都由专管输入输出的硬件——通道来进行控制。另外,与DMA方式时每台设备至少一个DMA控制器相比,通道控制方式可以做到一个通道控制多台设备与内存进行数据交换,从而,通道方式进一步减轻了CPU的工作负担和增加了计算机系统的并行工作程度。
一.缓冲的引入原因 1.缓和CPU和I/O设备速度不匹配的矛盾; 2.减少CPU的中断频率,放宽对中断响应时间的限制; 3.提高CPU和I/O设备之间的并行性。 二.单缓冲 单缓冲是在设备和处理机之间设置一个缓冲器。设备和处理机交换数据时,先把被交换数据写入缓冲器,然后,需要数据的设备或处理机从缓冲器取走数据。由于缓冲器属于临界资源,即不允许多个进程同时对一个缓冲器操作,因此,设备和设备之间不能通过单缓冲达到并行操作。 7.3 缓冲管理
三.双缓冲 双缓冲只是一种说明设备和设备、CPU和设备并行操作的简单模型,并不能用于实际系统中的并行操作。这是因为计算机系统中的外围设备较多,另外,双缓冲也很难匹配设备和处理机的处理速度。 四.循环缓冲 1.组成:多个缓冲区,多个指针 2.缓冲区的使用:Getbuf过程,Releasebuf过程 3.进程同步:Nexti指针追上Nextg指针,Nextg指针追上Nexti指针
五.缓冲池 1.缓冲池的组成: 空缓冲队列emq,输入队列inq、输出队列outq 2.缓冲区的工作方式,主要有以下几种 收容输入工作方式; 提取输出工作方式; 收容输出工作方式; 提取输出工作方式
一.设备分配中的数据结构 逻辑设备表(LUT)→系统设备表(SDT)→设备控制表(DCT)→控制器控制表(COCT)→通道控制表(CHCT) 二.设备分配时应考虑的若干因素 1.考虑设备的固有属性 设备的固有属性包括独占和共享两类。对于独占型设备,通过某种技术处理后可改造成为虚拟设备 7.4 设备分配
2.设备分配算法: 与进程调度相似,动态设备分配也是基于一定的分配策略的。常用的分配策略有先来先服务、优先级高者优先等等 三.设备独立性 1.设备独立性 定义:应用程序独立于具体使用的物理设备 设备独立性优点:设备分配时的灵活性;易于实现I/O重定向 2.设备独立性软件 完成功能:执行所有设备的公有操作;向用户层(或文件层)软件提供统一的接口
3.逻辑设备名到物理设备名映射的实现 (1)逻辑设备表(LUT):将应用程序中的逻辑设备名映射为物理设备名,表中的每个表目含有逻辑设备名、物理设备名和设备驱动程序的入口地址; (2)LUT的设置问题:有两种方法 整个系统设置一张LUT或者每个用户设置一张LUT 四.独占设备的分配程序 1.基本的设备分配程序 设备分配步骤:分配设备→分配控制器→分配通道 2.设备分配程序的改进,两个方面 增加设备的独立性和考虑多通路情况
五.SPOOLING技术 1. SPOOLING技术,也称假脱机操作,它是一种将独占设备改造为共享设备的技术 2.SPOOLING系统的组成 输入井和输出井、输入缓冲区和输出缓冲区、输入进程和输出进程 3.共享打印机 4.SPOOLING系统的特点 提高了I/O速度;将独占设备改造为共享设备;实现了虚拟设备功能
一.设备驱动程序的功能和特点 1.设备驱动程序的功能 2.设备处理方式 3.设备驱动程序的特点 二.设备驱动程序的处理过程 1.将抽象要求转换为具体要求; 2.检查I/O请求的合法性; 3.读出和检查设备的状态; 4.传送必要的参数; 5.方式的设置;6.启动I/O设备。 7.5 设备处理
三.中断处理程序的处理过程 1.唤醒被阻塞的驱动程序进程; 2.保护被中断进程的CPU环境; 3.分析中断的原因,转入相应的设备中断处理程序; 4.进行中断处理; 5.恢复被中断进程的现场。
教材P225习题:3,6,7,9,15,17,18 7.6 作业