ch5-5.4缓冲技术5.5驱动调度技术5.6设备分配5.7虚拟设备

上传人:野鹰 文档编号:2923485 上传时间:2017-07-28 格式:PPT 页数:49 大小:313KB
返回 下载 相关 举报
ch5-5.4缓冲技术5.5驱动调度技术5.6设备分配5.7虚拟设备_第1页
第1页 / 共49页
ch5-5.4缓冲技术5.5驱动调度技术5.6设备分配5.7虚拟设备_第2页
第2页 / 共49页
ch5-5.4缓冲技术5.5驱动调度技术5.6设备分配5.7虚拟设备_第3页
第3页 / 共49页
ch5-5.4缓冲技术5.5驱动调度技术5.6设备分配5.7虚拟设备_第4页
第4页 / 共49页
ch5-5.4缓冲技术5.5驱动调度技术5.6设备分配5.7虚拟设备_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《ch5-5.4缓冲技术5.5驱动调度技术5.6设备分配5.7虚拟设备》由会员分享,可在线阅读,更多相关《ch5-5.4缓冲技术5.5驱动调度技术5.6设备分配5.7虚拟设备(49页珍藏版)》请在金锄头文库上搜索。

1、5.4缓冲技术,5.4.1 单缓冲 5.4.2 双缓冲 5.4.3 多缓冲,5.4缓冲技术(1),引入缓冲技术的目的 改善中央处理器与外围设备之间速度不配的矛盾, 协调逻辑记录大小与物理记录大小不一致, 提高CPU和I/O设备的并行性。,缓冲技术(2)缓冲技术实现基本思想,进程执行写操作输出数据时,向系统申请一个缓冲区,若为顺序写请求,则不断把数据填到缓冲区,直到被装满。此后,进程继续它的计算,系统将缓冲区内容写到I/O设备上。进程执行操作输入数据时,向系统申请一个缓冲区,系统将一个物理记录的内容读到缓冲区,根据进程要求,把当前需要的逻辑记录从缓冲区中选出并传送给进程。在输出数据时,只有在系统

2、还来不及腾空缓冲而进程又要写数据时,它才需要等待;在输入数据时,仅当缓冲区空而进程又要从中读取数据时,它才被迫等待。,5.4.1 单缓冲,对于块设备,单缓冲机制如下工作: 数据处理过程 数据处理时间约为maxC,T+M, 进程 系统 设备,T,M,C,5.4.2 双缓冲(1),输入数据时,首先填满缓冲区1,操作系统可从缓冲区1把数据送到用户进程区,用户进程便可对数据进行加工计算;与此同时,输入设备填充缓冲区2当缓冲区1空出后,输入设备再次向缓冲区1输入。操作系统又可把缓冲区2的数据传送到用户进程区,用户进程开始加工缓冲2的数据。,双缓冲(2),传输和处理一块的时间(1)如果CT,当上一块数据计

3、算完毕后,需把一个缓冲区中的数据传送到用户区,花费时间为M,再对这块数据进行计算,花费时间为C,所以,一块数据的传输和处理时间为C+M、即max(C,T)+M,这种情况下进程不必要等待I/O。,双缓冲(4),进程 系统 设备 (1)CT,MT, MT max(C,T)+M=C+M,保证进程不等I/O。,C,M,T,5.4.3 多缓冲(1),操作系统从主存区域中分配一组缓冲区组成循环缓冲,每个缓冲区的大小等于物理记录的大小。多缓冲的缓冲区是系统的公共资源,可供各个进程共享,并由系统统一分配和管理。缓冲区可用途分为:输入缓冲区,处理缓冲区和输出缓冲区。,5.5 驱动调度技术(1),5.5.1 存储

4、设备的物理结构 5.5.2 循环排序 5.5.3 优化分布5.5.4 搜查定位 5.5.5 独立磁盘冗余阵列 5.5.6 提高磁盘I/O速度的一些方法,驱动调度技术(2),驱动调度和驱动调度算法。驱动调度能减少为若干个I/O请求服务所需的总时间,提高系统效率、除了I/O请求的优化排序外,信息在辅助存储器上的排列方式,存储空间分配方法都能影响存取访问速度。,5.5.1 存储设备的物理结构(1),顺序存取存储设备是严格依赖信息的物理位置进行定位和读写的存储设备 具有存储容量大、稳定可靠、卷可装卸和便于保存等优点,存储设备的物理结构(2)直接存取存储设备,磁盘是一种直接(随机)存取存储设备。每个物理

5、记录有确定的位置和唯一的地址,存取任何一个物理块所需的时间几乎不依赖于此信息的位置。 访问磁盘记录参数:柱面号、磁头号、块号,5.5.2循环排序(1),考虑磁道保存4个记录的旋转型设备,假定收到四个I/O请求。 请求次序 记录号 (1) 读记录4 (2) 读记录3 (3) 读记录2 (4) 读记录1,循环排序(2)多种I/O请求排序方法,方法1:按照I/O请求次序读记录4、3、2、1,平均用1/2周定位,再加上1/4周读出记录,总处理时间等于3周,即60毫秒。 方法2:如果次序为读记录1、2、3、4。总处理时间等于1.5周,即30毫秒。 方法3:如果知道当前读位置是记录3,则采用次序为读记录4

6、、1、2、3。总处理时间等于周,即20毫秒。,5.5.3 优化分布(1),考虑10个逻辑记录A,B,J被存于旋转型设备上,每道存放10个记录,安排如下: 物理块 逻辑纪录 1-10 A-J (A B C D E .)处理10个记录的总时间 10毫秒(移动到记录A的平均时间)+ 2毫秒(读记录A)+4毫秒(处理记录A)+916毫秒(访问下一记录) +2毫秒(读记录)+4毫秒(处理记录) 214毫秒,优化分布(2)按照下面方式对信息优化分布,物理块 逻辑纪录1 A2 H3 E4 B5 I6 F7 C8 J9 G10 D,优化分布(3)处理10个记录的总时间为,10毫秒(移动到记录A的平均时间)+1

7、02毫秒(读记录)4毫秒(处理记录) =70毫秒,5.5.4 交替地址,每个记录重复记录在设备的多个区域,读相同的数据,有几个交替地址,也称为多重副本或折迭。成功与否取决于下列因素:数据记录总是读出使用,不需修改写入;数据记录占用的存储空间总量不太大;数据使用极为频繁。,5.5.5 搜查定位(1),移臂调度有若干策略 (1)“电梯调度”算法 (2)“最短查找时间优先”算法 (3)“扫描”算法 (4)“分步扫描”算法 (5)“单向扫描”算法,搜查定位(2) “电梯调度”算法,搜查定位(4) “最短查找时间优先”算法,本算法考虑了各个请求之间的区别,总是先执行查找时间最短的那个磁盘请求,从而,较“

8、先来先服务”算法有较好的寻道性能。,搜查定位(5) “扫描”算法,磁盘臂每次沿一个方向移动,扫过所有柱面,遇到最近的I/O请求便进行处理,直到最后一个柱面后,再向相反方向移动回来。,搜查定位(6) “分步扫描 ”算法,将I/O请求分成组,每组不超过N个请求,每次选一个组进行扫描,处理完一组后再选下一组。,搜查定位(7) “循环扫描”算法,移动臂总从0号柱面至最大号柱面顺序扫描,然后,直接返回0号柱面重复进行,归途中不再服务,构成了一个循环。,5.5.6 独立磁盘冗余阵列(1),独立磁盘冗余阵列是利用一台磁盘阵列控制器统一管理和控制一组磁盘驱动器,组成一个速度快 、可靠性高、性能价格比好的大容量

9、磁盘系统。RAID填补CPU速度快与磁盘设备速度慢之间的间隙,其策略是:,独立磁盘冗余阵列(2) RAID共同特性,RAID是一组物理磁盘驱动器,可被操作系统看作是单一逻辑磁盘驱动器; 数据被分布存储在阵列横跨的物理驱动器上; 冗余磁盘的作用是保存奇偶校验信息,当磁盘出现失误时它能确保数据的恢复。,独立磁盘冗余阵列(3),RAID Level 0(1),独立磁盘冗余阵列(4) RAID level 0(2),RAID Level 1 (Mirrored),独立磁盘冗余阵列(5) RAID level 1,独立磁盘冗余阵列(6) RAID level 2,独立磁盘冗余阵列(7) RAID lev

10、el 3,独立磁盘冗余阵列(8) RAID level 4,独立磁盘冗余阵列(9) RAID level 5,RAID Level 5 (Block level Distributed parity),5.5.6提高磁盘I/O速度的方法,提前读 延迟写 虚拟盘 UNIX/Linux提供两种读盘和三种写盘方式:正常读-把磁盘块信息块读入主存缓冲区;提前读-读磁盘当前块时,下一磁盘块也读入主存缓冲区;正常写-把主存缓冲区中的信息写到磁盘块,且写进程应等待写操作完成;异步写-写进程无需等待写盘结束就可返回工作;延迟写-仅在缓冲区首部设置延迟写标志,然后,释放此缓冲区,并把该缓冲区链入空闲缓冲区链表的

11、尾部,当其他进程申请到该缓冲区时,才真正把缓冲区信息写回磁盘块。,5.6 设备分配,5.6.1 设备独立性5.6.2 设备分配和设备分配数据结构,5.6.1 设备独立性,通常用户不指定特定的设备,而指定逻辑设备,使得用户作业和物理设备独立开来,再通过其它途径建立逻辑设备和物理设备之间的对应关系,称这种特性为“设备独立性”。设备独立性带来的好处 用户与物理的外围设备无关,系统增减或变更外围设备时程序不必修改;易于对付输入输出设备的故障。,5.6.2 设备分配(1),从设备的特性来看,可以把设备分成独占设备、共享设备和虚拟设备三类:相应的管理和分配外围设备的技术可分成:独占方式、共享方式和虚拟方式

12、 。常用的I/O设备分配算法 先请求先服务,优先级高者先服务等。此外,在多进程请求I/O设备分配时,应防止因循环等待对方所占用的设备而产生死锁,应预先进行性检查。,设备分配(2)I/O设备分配的实现(1),设备分配的数据结构:设备类表和设备表。系统中拥有一张设备类表,每类设备对应于表中一栏,包括内容有:设备类、总台数、空闲台数和设备表起始地址等。每一类设备都有各自的设备表,用来登记这类设备中每一台设备的状态,包含的内容有:物理设备名、逻辑设备名、占有设备的进程号、已分配/未分配、好/坏等。,设备分配(3)I/O设备分配的实现(2),采用通道结构的系统中,设备分配的数据结构设置:系统设备表、通道

13、控制表、控制器控制表和设备控制表。系统建立一张系统设备表,记录配置在系统中的所有物理设备的情况。每个通道、控制器、设备各设置一张表,记录各自的地址(标识符)、状态(忙/闲)、等待获得此部件的进程队列指针、及一次分配后相互勾链的指针,以备分配和执行I/O时使用。,5.7 虚拟设备,5.7.1 问题的提出 5.7.2 SPOOLING的设计和实现 5.7.3 SPOOLING应用例子,5.7.1问题的提出,静态分配方式是不利于提高系统效率 采用脱机外围设备操作(SPOOLING)联机同时外围设备操作(又称作假脱机操作),5.7.2 斯普林系统的设计和实现(1),“井”是用作缓冲的存储区域,采用井的

14、技术能调节供求之间的矛盾,消除人工干预带来的损失。“预输入程序”“缓输出程序”“井管理程序”,斯普林系统的设计和实现(2) SPOOLING组成和结构,斯普林系统的设计和实现(3)输入井中作业状态, 输入状态:作业信息正在从输入设备上预输入; 收容收态:作业预输入结束,但未被选中执行; 执行状态:正在执行,可读数据也可以写数据; 完成状态:作业已经撤离,结果等待输出。,斯普林系统的设计和实现(4)SPOOLING数据结构, 作业表 登记进入系统的所有作业的作业名、状态、预输入表位置等信息。预输入表 每个用户作业有一张用来登记该作业的各个文件的情况,包括设备类、信息长度及存放位置等。缓输出表 每个用户作业拥有一张包括作业名、作业状态、文件名、设备类、数据起始位置、数据当前位置等。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号