收藏 分享(赏)

第五章 设备管理.ppt

上传人:kpmy5893 文档编号:10097654 上传时间:2019-10-09 格式:PPT 页数:100 大小:2.16MB
下载 相关 举报
第五章 设备管理.ppt_第1页
第1页 / 共100页
第五章 设备管理.ppt_第2页
第2页 / 共100页
第五章 设备管理.ppt_第3页
第3页 / 共100页
第五章 设备管理.ppt_第4页
第4页 / 共100页
第五章 设备管理.ppt_第5页
第5页 / 共100页
点击查看更多>>
资源描述

1、1,5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 I/O软件 5.5 设备分配 5.6 磁盘存储器管理,2,教学目的与要求,了解I/O系统的硬件组成和控制方式。 掌握缓冲技术、SPOOLing技术。 理解设备驱动程序和I/O中断处理程序。 掌握磁盘存储器的管理。,教学重点:缓冲技术、SPOOLing技术和磁盘存储器的管理 教学难点:缓冲技术,磁盘调度,3,引言,设备管理的基本任务: 完成用户提出的I/O请求 提高I/O速率 提高I/O设备的利用率 为用户提供一个友好的透明接口,4,引言,设备管理的主要功能: 缓冲区管理 设备分配 设备处理 虚拟设备及实现设备独立性,5,

2、5.1 I/O系统 -用于实现数据输入、输出及数据存储的系统,5.1.1 I/O设备 1、类型 (1)按速度分: 低:键盘 中:打印机 高:磁盘。 (2)按信息交换单位分: 块:磁盘,可定位 字符:打印机、串口,6,5.1 I/O系统,5.1.1 I/O设备 1、类型 (3)按设备的共享属性分: 独占:如临界资源 共享:磁盘 虚拟:如本身因有属性为独占,但通过虚拟技术将其变换为几个逻辑设备。,7,2、设备与控制器之间的接口,CPU控制器设备三种信号: (1)数据信号:双向,有缓存 (2)控制信号:控制器发给设备;要求其完成相关操作 (3)状态信号:传送指示设备当前状态的信号;,图 5-1 设备

3、与控制器间的接口,8,5.1.2 设备控制器,1、功能:接收CPU命令,控制I/O设备工作,解放CPU. 1)接收和识别命令。 应有相应的Register来存放命令(“命令寄存器”) 2)数据交换 CPU控制器的数据寄存器设备 3)设备状态的了解和报告 设备控制器中应用“状态寄存器” 4)地址识别 CPU通过“地址”与设备通信,设备控制器应能识别它所控制的设备地址以及其各寄存器的地址。,9,5.1.2 设备控制器,1、功能:接收CPU命令,控制I/O设备工作,解放CPU, 5)数据缓冲 6)差错控制2、组成(图5.2) 各类寄存器:数据、控制、状态 信号线:数据线(独立寻址、内存寻址)、地址线

4、、控制线 I/O逻辑:在其控制下完成与CPU、设备的通信。,10,图 5-2 设备控制器的组成,11,5.1.3 I/O通道,1、引入 通道一种特殊的执行I/O指令的处理机,与CPU共享内存,可以有自己的总线。 引入目的解脱CPU对I/O的组织、管理。 CPU只需发送I/O命令给通道,通道通过调用内存中的相应通道程序完成任务。,12,5.1.3 I/O通道,2、类型 1.字节多路通道:(图5-3) 各子通道以时间片轮转方式共享通道,适用于低、中速设备。 2.数组选择通道: 无子通道,仅一主通道,某时间由某设备独占,适于高速设备。 但通道未共享,利用率低。 3.数组多路通道: 综合了前面2种通道

5、类型的优点。,13,图 5-3 字节多路通道的工作原理,14,5.1.3 I/O通道,3、通道“瓶颈”问题:,图 5-4 单通路I/O系统,15,图 5-5 多通路I/O系统,解决瓶颈:采用复联的多通路方式,16,5.1.4 总线系统,1、微机I/O系统,设备控制器:与设备是一对多的关系,系统是通过它与设备通信 系统设备控制器 设备 缺点:总线瓶颈,CPU瓶颈。,17,5.1.4 总线系统,2、主机I/O系统(四级结构) 计算机I/O通道I/O控制器设备 I/O通道相当于对总线的扩展,即多总线方式,且通道有一定的智能性,能与CPU并行,解决其负担。 3、常见的总线 ISA EISA Local

6、BUS VESA PCI,18,A Typical PC Bus Structure,19,5.2 I/O控制方式,四个阶段: 程序I/O中断I/ODMA控制通道控制。 趋势:提高并行度。,20,5.2.1 程序I/O(忙等待方式),查询方式:CPU需花代价不断查询I/O状态(图5-7a) CPU资源浪费极大。 例:99.9ms+0.1ms=100ms 在5.2.1中99.9在忙等,21,5.2.2 中断I/O,向I/O发命令返回执行其它任务。 I/O中断产生CPU转相应中断处理程序。 如:读数据,读完后以中断方式通知CPU,CPU完成数据从I/O内存,22,5.2.3 DMA方式用于块设备中

7、,1、引入 中断I/O,CPU“字节”干预一次,即每“字节”传送产生一次中断。 DMA:由DMA控制器直接控制总线传递数据块。DMA控制器完成从I/O内存。 图5.7c 2、组成 一组寄存器+控制逻辑。图5.8 CR(命令/状态); DR(数据); MAR(内存地址); DC(计数),23,图 5-8 DMA控制器的组成,24,Direct Memory Access,25,图 5-9 DMA方式的工作流程,3、DMA工作过程,26,DMA,27,DMA,28,DMA,29,5.2.4 I/O通道控制方式,DMA方式:对需多离散块的读取仍需要多次中断。 通道方式:CPU只需给出 (1)通道程序

8、首址。 (2)要访问I/O设备 后,通道程序就可完成一组块操作,30,5.3 缓冲管理,5.3.1 缓冲的引入,缓和CPU与I/O设备间速度不匹配的矛盾。 (2) 减少对CPU的中断频率, 放宽对CPU中断响应时间的限制。 (3) 提高CPU和I/O设备之间的并行性。,31,图 5-10 利用缓冲寄存器实现缓冲,32,5.3.2 单缓冲和双缓冲,1. 单缓冲(Single Buffer),图 5-11 单缓冲工作示意图,Max(C,T)M,33,2. 双缓冲(Double Buffer),图 5-12 双缓冲工作示意图,Max(C,T),34,图 5-13 双机通信时缓冲区的设置,35,例:,

9、假设T是从磁盘输入一块数据的时间,C是CPU对一块数据进行处理的时间,而M是将一块数据从缓冲区传送到用户区的时间。当用户进程按顺序访问的方式处理大量的数据时,请问在单缓冲和双缓冲的情况下,系统对一块数据的处理时间分别是多少?,36,答:,从单缓冲的工作示意图和时序图可以看出:数据有I/O控制器到缓冲区和数据由缓冲区到工作区,必须串行操作;同样,数据从缓冲区到工作区和CPU从工作区取出数据进行处理,也需串行进行。但由于在顺序访问时可采用预先读的方式,即CPU在处理一块数据时,可从磁盘输入下一块数据。因此,系统对一块数据处理的时间为Max(C,T)+M。而双缓冲,数据由I/O控制器到双缓冲,以及数

10、据由双缓冲到工作区,可以并行工作,因此系统对一块数据处理的时间为Max(T,M+C)。如果TC,由于 MT,则此时系统对一块数据处理的时间约为Max(T ,C),即T。,37,5.3.3 循环缓冲,1. 循环缓冲的组成,图 5-14 循环缓冲,38,2. 循环缓冲区的使用,Getbuf过程。(2) Releasebuf过程。,3. 进程同步,Nexti指针追赶上Nextg指针。(2) Nextg指针追赶上Nexti指针。,39,5.3.4 缓冲池(Buffer Pool),1. 缓冲池的组成,公用缓冲池,含有以下三种类型的缓冲区: 空(闲)缓冲区; 装满输入数据的缓冲区; 装满输出数据的缓冲区

11、。,40,缓冲区的首部,41,缓冲区队列,为了管理上的方便,可将相同类型的缓冲区链成一个队列,于是可形成以下三个队列:,(1) 空缓冲队列emq。 (2) 输入队列inq。 (3) 输出队列outq。,42,2. Getbuf过程和Putbuf过程,Procedure Getbuf(type)beginWait(RS(type);Wait(MS(type);B(number)=Takebuf(type);Signal(MS(type);endProcedure Putbuf(type, number)beginWait(MS(type);Addbuf(type, number);Signal(

12、MS(type);Signal(RS(type);end,43,3. 缓冲区的工作方式,图 5-15 缓冲区的工作方式,44,5.4 I/O软件,1)与具体设备无关 2)统一命名 3)对错误的处理 4)缓冲技术 5)设备的分配和释放 6)I/O控制方式,5.4.1 I/O软件的设计目标和原则,总体设计目标:高效率和通用性,45,I/O系统的层次和功能,46,5.4.2 中断处理程序,流程 设备启动I/O完成发送中断CPU调用中断处理过程 中断处理过程 唤醒被阻塞的驱动程序进程 保护被中断进程CPU环境 转入相应的设备处理程序 中断处理(特性) 恢复被中断进程的现场,47,图 5-17 中断现场

13、保护示意图,48,图 5-18 中断处理流程,49,5.4.3 设备驱动程序,设备处理程序即是设备驱动程序。设备驱动程序的功能和特点设备驱动程序的处理过程,50,5.4.3 设备驱动程序,1.功能: 接收进程的I/O命令 检查I/O命令合法性、检查设备状态、设置设备工作方式 驱动I/O操作 响应设备中断 构成通道程序,51,2. 设备处理方式,为每一类设备设置一个进程,专门用于执行这类设备的I/O操作 .(2) 在整个系统中设置一个I/O进程,专门用于执行系统中所有各类设备的I/O操作。 (3) 不设置专门的设备处理进程,而只为各类设备设置相应的设备处理程序(模块), 供用户进程或系统进程调用

14、。,52,3.特点: 设备驱动程序主要是指在请求I/O的进程与设备控制器之间的一个通信和转换程序和I/O控制方式、硬件紧密相关各个设备有自己的设备驱动,5.4.3设备驱动程序,53,4 设备驱动程序处理过程,包括 启动过程 中断处理过程启动过程 将抽象要求转化为具体要求 检查I/O请求合法性 读出和检查设备状态 传送必要的参数 设置工作方式 启动I/O设备,54,5.4.4 设备独立性软件,1、概念: 即设备无关性,指应用程序独立于具体使用的物理设备。 逻辑设备 物理设备 逻辑设备表(LUT):分配流程:进程给出逻辑名通过LUT得到物理设备及其driver入口。,55,5.4.4 设备独立性,

15、优点: 1)设备分配更灵活; 逻辑设备和物理设备间可以是多多的映射关系。提高了物理设备的共享性,以及使用的灵活性。如: 某逻辑名可对应这一类设备,提高均衡性与容错性。 几个逻辑名可对应某一个设备,提高共享性。 2)易于实现I/O重定向。 不变程序,只需改变LUT表的映射关系。,56,5.4.4 设备独立性,2、设备独立性软件 执行所有设备的公有操作 分配回收 名字映射 保护 缓冲 差错控制 向用户层软件提供统一接口 read、write,57,5.4.4 设备独立性,3.名字映射 LUT的生成 在用户进程第一次请求设备时完成映射并在LUT中生成相应项 LUT的配置 (1)整个系统一张LUT表:

16、 要求:逻辑名不重复,(一般用于单用户系统) (2)每个用户一张LUT表。 可重名/可限制用户对某些设备的使用。,58,5.4.5 用户层的I/O软件,大部分的I/O软件在操作系统中 小部分在用户层,如用户程序链接在一起的库函数 用户层软件通过系统调用取得OS的服务,59,5.5 设 备 分 配,5.5.1 设备分配中的数据结构,1. 设备控制表DCT,图 5-16 设备控制表,60,2. 控制器控制表、 通道控制表和系统设备表,图 5-17 COCT、 CHCT和SDT表,61,5.5.2 设备分配时应考虑的因素,1. 设备的固有属性,独享设备。(2) 共享设备。(3) 虚拟设备。,62,2

17、. 设备分配算法,先来先服务。 (2) 优先级高者优先。,3. 设备分配中的安全性,安全分配方式 2) 不安全分配方式,63,5.5.4 独占设备分配程序,1. 基本的设备分配程序,分配设备 2) 分配控制器 3) 分配通道,2. 设备分配程序的改进,增加设备的独立性2) 考虑多通路情况,64,5.5.4 SPOOLING技术,1、概念 脱机技术:利用专门的外围控制机,将低速I/O设备上的数据传送到高速磁盘上,缓和CPU的高速性与I/O设备低速性间的矛盾;假脱机技术,在联机情况下同时出现外围操作 假脱机技术的作用:通过缓冲方式,将独占设备改造为共享设备,65,2、SPOOLing系统的组成:,

18、1)输入和输出: 在磁盘上开辟的2个大存储空间,模拟输入和输出设备。 2)输入buf和输出buf(内存中) 输入设备输入buf输入#用户区(1) 用户区输出#输出buf设备(2) 3)输入Spi和输出SPo进程。 分别控制(1),(2)的动作。 SPi相当于脱机输入控制器。 SPo相当于脱机输出控制器。,66,2、SPOOLing系统的组成:,67,3、共享,(1)输入 a.进程n请求 SPi为n在输入中分配空间设备数据由输入buf送输入#生成输入请求表挂输入请求队列。 b.CPU空取请求表中的任务,送进程缓冲区。(2)输出:(打印) a.进程n请求SPo为n在输出#中分配空间将数据由进程bu

19、f转到输出#生成一打印请求表挂打印请求队列。 b.打印机空查打印请求表中的任务 取输出中对于数据输出buf 打印,68,4. SPOOLing的特点,1)提高I/O速度: 对低速设备操作变为对输入/出#操作。2)将独占设备改造为共享设备 分配设备的实质是分配输入/出#3)实现了虚拟设备功能,69,5.6 磁盘存储器管理,5.6.1 磁盘性能简述 1、数据组织和格式(图524) 磁道号磁头号扇区字节 2、类型 1)固定头磁盘: 每个磁道上有一个磁头,快 2)移动头磁盘: 每个盘面仅有一个磁头,慢,70,图 5-24 磁盘的格式化,71,5.6.1 磁盘性能简述,3、磁盘访问时间:1)寻道时间:T

20、S=m*n+s m:常量,n:磁道数,s:磁臂启动时间。2)旋转延时间Tr: 指定扇区旋转到磁头下所需时间。 设每秒r转,则Tr1/2r(均值)3)数据传输时间Ttb/rN b:读写字节数 N:每道上的字节数 访问时间:Ta=Ts+1/2r+b/rN 可见,由于特定磁盘,适当地集中数据传输,将更好提高传输效率。,72,5.6.2 磁盘调度,目标:减少寻道时间 1、FCFS(Fisrt Come First Served)先来先服务 特点:公平、简单,寻道时间长,相当于随机访问模式。 仅适用于请求磁盘I/O的进程数目较少的场合。 2、SSTF(最短寻道优先)最短寻道时间优先SSTF比FCFS有更

21、好的寻道性能 贪心的算法 饥饿现象 不能保证平均寻道时间最短 ?,73,FCFS,Illustration shows total head movement of 640 cylinders.,74,SSTF (Cont.),75,图 5-25 FCFS调度算法,图 5-26 SSTF调度算法,76,3、SCAN 扫描算法(也称为电梯算法)。 进程“饥饿现象” SSTF存在。 SCAN算法: 在移动方向固定的情况下采用了SSTF,以避免饥饿现象 存在请求进程等待延迟现象4、循环扫描CSCAN 磁头单向移动 一个方向读完,不是象SCAN那样回头,而是循环扫描。 请求延迟时间:2TT+Smax,

22、77,SCAN (Cont.),78,C-SCAN (Cont.),79,图 5-27 SCAN调度算法示例,图 5-28 CSCAN调度算法示例,80,5.6.2 磁盘调度,5、NStepSCAN和FSCAN算法。 1) NStepSCAN 磁臂粘着:由于连续对某磁道访问引起的垄断访问,将磁盘请求队列分为长为N的子队列m个,如下图处理。当N=1时,为FCFS。当N很大时,为SCAN.,81,5.6.2 磁盘调度,2)FSCAN,82,5.6.3 磁盘高速缓存,1、形式 逻辑上是磁盘、物理上是驻留在内存中的盘块 固定大小和可变大小 2、数据交付方式 数据交付指将磁盘高速缓存中的数据传送给请求者

23、进程 步骤:先查缓存、后查磁盘并更新缓存 方式: 数据交付 指针交付,83,5.6.3 磁盘高速缓存,3、置换算法 最近最久 访问频率 可预见性 数据一致性:将需要一致性的块放在替换队列的头部,优先回写。 4、周期性回写磁盘 例:msdos采用写穿透方式,84,5.6.4 提高磁盘I/O速度的其它方法,提前读 延迟写 访问频率高的磁盘块放在替换队列的尾部,减少回写次数 优化物理块的分布 目的是减小磁头移动距离 簇分配方式:一个簇为多个连续的块 虚拟盘(RAM盘) 和磁盘高速缓存区别:虚拟盘由用户控制;磁盘高速缓存由系统控制。,85,5.6.5 廉价磁盘冗余阵列,并行交叉存取(条化存取) 冗余存

24、取 校验存取 优点 可靠性高 磁盘I/O速度高 性价比高,86,RAID 0 (不冗余),87,RAID 0,88,RAID 0,不冗余 不校验 分布式存储 低可靠性 低价格 并行 I/O 访问,89,RAID 1 (镜像),分布存放 镜像冗余 不校验,90,RAID 1,读性能比 RAID 0好 (选择寻道时间小的磁盘访问) 写性能比 RAID 0差 存储开销大 可靠性高,91,RAID 2 (汉明码校验冗余),92,RAID 3,用一个校验盘,93,RAID 4 (Block-Level Parity),94,RAID 4,和RADI3相比较,RAID4基于大的块校验,95,RAID 5,

25、96,RAID 5,解决了RAID4校验盘不可靠性问题,97,作业,假定磁盘有200 个柱面,编号0199,当前存取臂的位置在143 号柱面上,并刚刚完成了125 号柱面的服务请求,如果请求队列的先后顺序是:86,147,91,177,94,150,102,175,130;试问:为完成上述请求,下列算法存取臂移动的总量是多少?并算出存取臂移动的顺序。(1)先来先服务算法FCFS;(2)最短查找时间优先算法SSTF;(3)扫描算法SCAN。(4)C-SCAN算法。,98,解,(1)先来先服务:磁头移动顺序为:143861479117794150102175130,磁头移动共565柱面。 最短寻道

26、时间优先(SSTF):磁头移动顺序为:143147150130102949186175177, 磁头移动共162柱面。 SCAN算法:磁头移动顺序为:143147150175177130102949186, 磁头移动共125柱面。 CSCAN算法:磁头移动顺序为:143147150175177869194102130, 磁头移动共169柱面。,99,假设磁盘有200 个磁道,磁盘请求队列中是一些随机请求,它们按照到达的次序分别处于98、183、37、122、14、124、65、67号磁道上,当前磁头在53号磁道上,并向磁道号减小的方向上移动。请给出按先来先服务算法(FCFS)、最短寻道时间优先算法(SSTF)、扫描算法(SCAN)及循环扫描算法(CSCAN)算法进行磁盘调度时满足请求的次序,并算出它们的平价寻道长度 ?,100,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报