PURSUING EXCELLENCE / TOWARD SUCCESS WUCHANG UNIVERSITY OF TECHNOLOGY

Slides:



Advertisements
Similar presentations
阻塞操作. 在 linux 里,一个等待队列由一个 wait_queue_head_t 类型的结构来描述 等待队列的初始化: static wait_queue_head_t testqueue; init_waitqueue_head(&testqueue);
Advertisements

Linux 系统. 操作系统发展需求 1 没有操作系统 2 简单批处理操作系统 3 多道程序设计的批处理 4 多道程序设计的分时操作系统 5 多处理机并行系统 6 网络操作系统 7 分布式操作系统.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
第三节    缓冲管理 缓冲技术实现基本思想 当一个进程执行写操作输出数据时,先向系统申请一个主存区域──缓冲区,然后,将数据高速送到缓冲区。若为顺序写请求,则不断把数据填到缓冲区,直到它被装满为止。此后,进程可以继续它的计算,同时,系统将缓冲区内容写到I/O设备上。 当一个进程执行操作输入数据时,先向系统申请一个主存区域──缓冲区,系统将一个物理记录的内容读到缓冲区域中,然后根据进程要求,把当前需要的逻辑记录从缓冲区中选出并传送给进程。
实用操作系统概念 张惠娟 副教授 1.
第五章 设备管理 5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 设备分配 5.5 设备处理 5.6 磁盘存储器管理.
第五章 设备管理 5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 设备分配 5.5 设备处理 5.6 磁盘存储器管理.
第五章 设 备 管 理 5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 I/O软件 5.5 设备分配
设备管理.
在PHP和MYSQL中实现完美的中文显示
计算机基础知识 丁家营镇九年制学校 徐中先.
第5节 磁盘 磁盘的结构 磁盘的地址 磁盘访问的优化 磁盘使用过程 举例.
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
Hadoop I/O By ShiChaojie.
存储系统.
中国科学技术大学计算机系 陈香兰 Fall2013 第九讲 设备管理 中国科学技术大学计算机系 陈香兰 Fall2013.
大学计算机基础 典型案例之一 构建FPT服务器.
走进编程 程序的顺序结构(二).
操作系统教程(第3版) 第五章 设备管理 面向21世纪课程教材 高等教育出版社 2003年8月.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
Windows网络操作系统管理 ——Windows Server 2008 R2.
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
Online job scheduling in Distributed Machine Learning Clusters
逆向工程-汇编语言
第五章 设备管理.
CPU结构和功能.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
设备管理 第7章 设备管理.
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
微机系统的组成.
第11章 设备管理 (Chapter 11 Device Management)
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
实验四、TinyOS执行机制实验 一、实验目的 1、了解tinyos执行机制,实现程序异步处理的方法。
第五章 设备管理 5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 设备分配 5.5 设备处理 5.6 磁盘存储器管理.
实验七 安全FTP服务器实验 2019/4/28.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
信号量(Semaphore).
iSIGHT 基本培训 使用 Excel的栅栏问题
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
数据报分片.
HSC高速输出例程 HORNER APG.
第六章设备管理 本章重点: 1.掌握设备管理的功能和任务; 2.掌握设备的分类方法; 3.掌握I/O控制的实现;
临界区问题的硬件指令解决方案 (Synchronization Hardware)
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
本节内容 Windows线程切换_时钟中断切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
PURSUING EXCELLENCE / TOWARD SUCCESS WUCHANG UNIVERSITY OF TECHNOLOGY
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
上节复习(11.14) 1、方式2、方式0的特点? 2、定时/计数器的编程要点? 3、实验5方案优化问题.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第十七讲 密码执行(1).
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
上节复习(11.7) 1、定时/计数器的基本原理? 2、定时/计数器的结构组成? 3、定时/计数器的控制关系?
李元金 计算机与信息工程学院 第 18 讲 设备管理(2) 李元金 计算机与信息工程学院 1/
5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 设备分配 5.5 设备处理 5.6 磁盘存储器管理
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
入侵检测技术 大连理工大学软件学院 毕玲.
工业机器人入门使用教程 ESTUN机器人 主讲人:李老师
第七章设备管理 概述 I/O软件的组成 I/O硬件特点 有关技术 设备处理 典型外部设备.
实验六、COM类型病毒分析实验 实验开发教师: 刘乃琦 谌黔燕.
DSP技术与应用 电子与信息技术系.
Presentation transcript:

PURSUING EXCELLENCE / TOWARD SUCCESS WUCHANG UNIVERSITY OF TECHNOLOGY 武昌理工学院 操作系统原理 第八章 设备管理 我们毕业啦 其实是答辩的标题地方 主讲人 温 静 院系 信息工程学院

主要内容 1 I/O系统概述 2 I/O控制方式 3 缓冲技术 4 设备分配 CONTANTS 5 I/O软件 6 磁盘存储器管理

I/O系统概述 计算机系统的两个主要任务: 计算处理 输入/输出(I/O)处理 I/O系统是用于实现数据输入、输出及数据存储的系统。

I/O设备 在计算机系统中,设备的概念具有广义性。 设备: 进行实际I/O操作的物理设备; 控制这些物理设备并进行I/O操作的控制部件和支持部件,如设备控制器、DMA控制器等; 为提高设备利用率,采用某种I/O技术形成的逻辑设备和虚拟设备。

设备的类型 按使用特性分: 按传输速率分: 按信息交换单位分: 按资源属性分: 按从属关系分: 存储设备、输入/输出设备 低速设备、中速设备、高速设备 按信息交换单位分: 字符设备、块设备 按资源属性分: 独占设备、共享设备、虚拟设备 按从属关系分: 系统设备、用户设备

设备控制器 I/O设备: 设备控制器: 由电子部件和机械部件两部分组成; 设备的电子部分通常称为设备控制器; 机械部件则是设备本身。 可编址设备; 仅控制一个设备时,它只有一个唯一的设备地址; 若连接多个设备时,则应含有多个设备地址,并使每一个设备 地址对应一个设备。

设备控制器的功能 接收和识别CPU或通道发来的命令; 实现CPU与设备控制器、设备控制器与设备之间的数 据交换; 识别控制的每个设备的地址; 数据缓冲; 兼管对由I/O设备传送来的数据进行差错检测。

设备控制器的组成 设备控制器与CPU的接口 设备控制器与设备的接口 I/O逻辑

I/O通道 通道的目的: 使原来由CPU处理的I/O任务转由通道来承担, 从而把CPU从繁杂的I/O任务中解脱出来。

通道程序 通道指令: 通道命令字(Channel Command Word,CCW); 一条通道命令字往往只能实现一种功能。 通道程序: 用通道指令编写的程序称为通道程序; 通道程序由多条通道命令组成。 每次执行时,通道从内存中依次取出并执行CCW,从而 控制I/O设备完成复杂的I/O操作。

通道系统 通道系统: 存储器、通道、设备控制器和设备之间采用四级连接, 实施三级控制。 一个存储器可以连接若干个通道,一个通道又可以连接 若干个设备控制器,一个设备控制器再连接若干个设备。 CPU通过I/O指令控制通道,通道通过执行通道指令来控 制设备控制器,设备控制器发出动作序列控制相关设备 执行相应的I/O操作。

通道系统的I/O处理过程 CPU在执行主程序时若遇到用户进程的I/O请求,则执 行I/O指令启动相关通道; 通道控制结束后向CPU发出中断信号,CPU停止当前工 作,转去处理I/O操作结束事件。

通道类型 (1)字节多路通道(Byte Multiplexer Channel) (2)数组选择通道(Block Selector Channel) (3)数组多路通道(Block Multiplexer Channel)

“瓶颈”问题 “瓶颈”问题: 由于通道价格昂贵,致使机器中所设置的通道数量 势必较少,这往往又使它成了I/O的“瓶颈”,进而造 成整个系统吞吐量的下降。 解决方法: 增加设备到主机间的通路而不是增加通道。

I/O控制方式 随着计算机技术的发展,I/O控制方式也在不断 地发展。 程序I/O方式 中断驱动方式 DMA控制方式 通道方式

程序I/O控制方式 出现: 早期的计算机系统中,由于无中断机构,处理机对 I/O设备的控制采取程序I/O方式,或称为忙-等待方式。 缺点: CPU的绝大部分时间都处于等待I/O设备完成数据I/O 的循环测试中,造成对CPU的极大浪费。

程序I/O控制方式 向I/O控制器发读命令 CPU→I/O 读I/O控制器的状态 I/O→ CPU 未就绪 检查状态? 出错 向存储器中写字 CPU→内存 未完 传送完成? 完成 下一条指令

中断驱动I/O控制方式 出现: 计算机系统中引入了中断机构后,当某进程要启动 某个I/O设备工作时,便由CPU向相应的设备控制器发出 一条I/O命令,然后立即返回继续执行原来的任务。设 备控制器于是按照该命令的要求去控制指定I/O设备。 此时,CPU与I/O设备并行操作。

中断驱动I/O控制方式 CPU→I/O 向I/O控制器发读命令 读I/O控制器的状态 I/O→ CPU 检查状态? 出错 向存储器中写字 CPU→内存 未完 传送完成? 完成

DMA控制方式 特点: 数据传输的基本单位是数据块,即在CPU与I/O设备之 间,每次传送至少一个数据块; 所传送的数据是从设备直接送入内存的,输出时则相 反; 仅在传送一个或多个数据块的开始和结束时,才需要 CPU的干预,整块数据的传送是在控制器的控制下完 成的。

DMA控制方式 向I/O控制器发布读块命令 CPU→DMA CPU做其它事 读DMA控制器的状态 中断 DMA→CPU 下一条指令

DMA控制方式 为了实现直接存储器存取操作,DMA控制器至少需要以 下一些逻辑部件。 命令/状态寄存器(CR) 内存地址寄存器(MAR) 字计数器(DC) 数据缓冲寄存器或数据缓冲区(DR) 设备地址寄存器 中断机制和控制逻辑

DMA工作过程 设置MAR和DC初值 启动DMA传送命令 挪用存储器周期传送数据字 在继续执行用户程序的同时,准备又一次传送 存储器地址增1 字计数寄存器减1 否 DC=0? 是 请求中断

I/O通道控制方式 DMA方式的缺点: 每发出一次I/O指令,只能读写一个数据块,用户希 望一次能够读写多个离散的数据块,并把它们传送到不 同的内存区域或相反,则需要由CPU发出多条启动I/O的 指令及进行多次I/O中断处理才能完成。 通道方式的出现: 是DMA方式的发展,能够再次减少CPU对I/O操作的干 预。

I/O通道控制方式 通道通过执行通道程序,与设备控制器共同实现对I/O 设备的控制。通道程序由一系列通道指令构成。 通道指令:操作码、内存地址、计数、通道程序结束位 及记录结束标志。 通道指令的一般格式为: 操作码 P R 计数 内存地址

I/O通道控制方式 下面是一个包含3条指令的简单的通道程序: WRITE 0 0 250 1000 前两条指令的功能:将内存地址为1000开始的250个单 元中的字符与内存地址为4500开始的80个单元中的字符 写成一条记录; 第三条指令:把内存地址为600开始的100个单元中的字 符单独写成一条记录。

通道方式的处理过程 当进行数据输入时,CPU发出启动指令; 通道接收到指令后,取出通道程序,并开始执行通道指令; 执行一条通道指令,设置设备控制器的控制/状态寄存器; 设备控制器控制设备将数据送往内存指定区域。若本指令 不是通道程序中的最后一条指令,则取出下一条指令,转 步骤(3)处理;否则转步骤(5)执行; 通道处理结束,向CPU发出中断信号,等待CPU响应; CPU接收到中断信号后进行中断处理,然后返回继续执行。

缓冲技术 在设备管理中,引入缓冲的原因主要可归纳为以下几点: 缓和CPU与I/O设备间速度不匹配的矛盾。 协调逻辑记录大小与物理记录大小不一致的问题,以 及设备间不同大小数据的传输问题。

单缓冲 用户进程 处理(C) (a) (b) 传送(M) 输入(T) 缓冲区 I/O设备 工作区 T4 T1 T2 T3 M3 M2 M1

双缓冲 用户进程 缓冲区1 (a) (b) 工作区 I/O设备 缓冲区2 T4 (缓冲4) T1(缓冲1) T2 (缓冲2) M3 M3 M4 M2 M1 C2 C3 C4 C1

循环缓冲 采用双缓冲技术虽然能提高设备的并行工作程 度,但在设备和处理进程速度不匹配的情况下 仍不十分理想。 为了改善这种情况,获得较高的并行度,常常 采用多缓冲所组成的循环缓冲技术。

循环缓冲的组成 循环缓冲中的缓冲区按用途可分为: (1)空缓冲区E (2)满缓冲区F (3)当前工作 缓冲区W 三个链接指针指向不同缓冲区: NextE Working NextF 循环缓冲中的缓冲区按用途可分为: (1)空缓冲区E (2)满缓冲区F (3)当前工作 缓冲区W 三个链接指针指向不同缓冲区: (1)NextE:第一个空缓冲区; (2)NextF:第一个满缓冲区; (3)Working:当前工作缓冲区。

循环缓冲的使用 调用两个过程: getbuf过程:计算进程要使用缓冲区中的数据时;输 入进程要使用空缓冲区来装入数据时。 releasebuf过程:计算进程把C缓冲区中的数据提取 完毕时; 输入进程把缓冲区装满时。 使用过程中的进程同步: NextE指针追赶上NextF指针:系统受计算限制 。 NextF指针追赶上NextE指针:系统受I/O限制。

设备分配 每当进程提出I/O请求时,OS将按一定的策略 把设备分配给它,在有的系统中,为了确保 CPU和设备之间能进行通信,还必须为进程分 配相应的控制器和通道。

设备分配的数据结构 1.设备控制表DCT 2.控制器控制表COCT,通道控制表CHCT,系统设备表SDT 设备类型type 设备控制表集合 设备标识符:deviceid 设备状态:等待/不等待 忙/闲 DCT2 指向控制器表的指针 重复执行次数或时间 DCTn 设备队列的队首指针 2.控制器控制表COCT,通道控制表CHCT,系统设备表SDT

设备分配策略 为了使系统有条不紊地工作,系统在分配设备 时,应考虑这样几个因素: 设备的固有属性 设备分配算法 设备分配中的安全性 设备独立性

设备独立性 用户在应用程序中使用逻辑设备名来请求设备, 而系统在实际分配时使用的是物理设备名,从 而实现了应用程序和物理设备之间的独立。 系统再采用某种方法建立逻辑设备和物理设备 之间的关系,把逻辑设备名转换成物理设备名, 这就是“设备独立性”,或称设备无关性。

设备独立性 在实现了设备独立性的功能后,可带来以下两 个方面的好处。 设备分配时的灵活性 2. 易于实现I/O重定向

设备独立性 设备独立性的实现主要体现在逻辑设备与物理 设备之间的转换上。 为了实现这种转换,系统必须设置一张逻辑设 备表(Logical Unit Table,LUT)。在该表的 每个表目中包含了三项内容:逻辑设备名、物 理设备名和设备驱动程序的入口地址。

SPOOLing技术 为了缓和CPU的高速性与I/O设备的低速性之间 的矛盾而引入了脱机输入输出技术。 为了减少硬件成本,用软件来模拟输入输出时 外围机的功能,由此产生的这种在联机情况下 实现的同时外围操作称为SPOOLing (Simultaneaus Periphernal Operating On Line),或称为假脱机操作。

SPOOLing技术 SPOOLing系统主要由三部分组成: 输入井和输出井 输入缓冲区和输出缓冲区 输入进程SPi和输出进程SPo

SPOOLing技术 引入SPOOLing技术,把一个共享的硬盘改造成若干 台输入设备(对作业调度程序而言)和若干台输出 设备(对各作业而言)。 这样的设备称为虚拟设备,它们的物理实体是输入 (出)井。 这样改造后,保持了物理输入(出)设备繁忙地与 主机并行工作,提高了整个系统的效率。

SPOOLing技术 当用户进程请求输出打印时,SPOOLing系统同意为它 打印输出,但并不真正把打印机分配给该用户进程, 而只是做两件事。 由输出进程在输出井中为之申请一个空闲磁盘块区, 并将要打印的数据送入其中; 输出进程再为用户进程申请一张空白的用户打印请 求表,并将用户的打印要求填入表中,再将该表挂 到请求打印队列中。

SPOOLing技术 SPOOLing系统具有如下主要特点: 提高了I/O的速度。对数据进行的I/O操作,已从 对低速I/O设备进行的I/O操作演变成为对输入井 或输出井中数据的存取。 将独占设备改造为共享设备。 实现了虚拟设备功能。

I/O软件 I/O软件应达到以下几个方面的目标: 设备无关性 出错处理 同步/异步传输 缓冲技术

I/O软件 I/O软件层次结构: 中断处理程序 设备驱动程序 设备独立性软件 用户层软件

中断处理程序 中断处理程序在设备管理软件中是一个相当重 要的部分。 1. 中断的基本概念 2. 中断类型 3. 中断处理过程

中断的基本概念 所谓中断是指某个事件(例如电源掉电、定点加法溢出 或I/O传输结束等)发生时,系统中止现行程序的运行、 引出处理该事件程序进行处理,处理完毕后返回断点, 继续执行。 用户程序 中断进入 中断处 理程序 中断信号 中断 返回

中断类型 (1)按中断功能分类 ① 输入/输出(I/O)中断 ② 外部中断 ③ 机器故障中断 ④ 程序性中断 ⑤ 访管中断

中断类型 (2)按中断方式分类 ① 强迫性中断 ② 自愿性中断 按中断功能所划分的五大类中断中,I/O中断、外部中 断、机器故障中断及程序性中断都属于强迫性中断,而 访管中断则属于自愿性中断。

中断类型 (3)按中断来源分类 ① 中断 由处理机外部事件引起的中断称为外中断,又称 为中断。包括I/O中断、外中断。 ② 俘获 由处理机内部事件引起的中断称为俘获。包括访管 中断、程序性中断及机器故障中断。 若系统中同时发生中断和俘获请求时,俘获总是优 先得到响应和处理,所以它也称为高优先级中断。

中断处理过程 对于为每一类设备设置一个I/O进程的设备处理方式,其 中断处理程序的处理过程可分成以下几个步骤。 (1)唤醒被阻塞的驱动(程序)进程 (2)保护被中断进程的CPU环境 (3)转入相应的设备处理程序 (4)中断处理 (5)恢复被中断进程的现场

设备驱动程序 所有与设备相关的代码放在设备驱动程序中,设备驱 动程序通常又称之为设备处理程序,它是I/O进程与 设备控制器之间的通信程序,又由于它经常以进程的 形式存在,所以也可以简称之为设备驱动进程。

设备驱动程序 设备驱动程序的处理过程: (1)将抽象命令转换为具体命令。 (2)检查I/O请求的合法性 (3)读出和检查设备的状态 (4)传送必要的参数 (5)工作方式的设置 (6)启动I/O设备

用户层的I/O软件 一般来说,大部分I/O软件都包含在操作系统中,但是 用户程序仍有一小部分是与库函数连接在一起的,甚至 还有在内核之外运行的程序。通常的系统调用,包括 I/O系统调用,是由库函数实现的。

磁盘存储器的管理 在现代计算机系统中都配置了磁盘,并以它为主来存放 文件,因此,对文件的操作,都将涉及到对磁盘的访问。 磁盘不仅存储容量大,而且可以实现随机存取,也是实 现虚拟存储器的必备硬件之一。磁盘I/O速度的快慢, 将直接影响系统的性能,因此,如何提高磁盘I/O的性 能,已成为现代操作系统的重要任务之一。

磁盘性能概述 磁盘是由表面涂有磁性物质的金属或塑料构成 的圆形盘片,是典型的直接存取设备,这种设 备允许文件系统直接存取磁盘上的任意物理块。

磁盘结构 每个磁盘划分若干个柱面。 对应每一个柱面,将磁盘表面划分为若干个磁道。信息线性地记录在每条磁道上。 按照由内到外的顺序,依次标记为磁道0、磁道1等等。每条磁道的大小约为若干KB。 将磁道进一步划分为若干个扇区。扇区可以是定长的,也可以是变长的,主要由硬件决定。

磁盘类型 (1)固定头磁盘 每条磁道上都有一个读/写磁头,所有磁头都被装在一刚 性磁臂中,磁臂可以伸展,通过这些磁头可访问所有的 磁道,并进行并行读/写,有效地提高了磁盘的I/O速度。 这种结构主要用于大容量磁盘上。 (2)移动头磁盘 每一个盘面上仅配有一个磁头,也被装入磁臂中。由于 磁头必须能够定位在任何一个磁道上,磁臂为这个目的 可以伸展或缩回。

磁盘访问时间 对于采用移动磁头的磁盘要访问某特定的磁盘块时, 所用时间通常包括以下三部分时间: (1)寻道时间Ts (2)旋转延迟时间Tr (3)传输时间Tt 传输时间 寻道时间 旋转延迟时间 磁臂

磁盘调度 系统采用一定的调度策略来决定各等待访问者的执行次 序,把决定等待访问者执行次序的工作称为驱动调度, 采用的调度策略称为驱动调度算法。 对磁盘来说,驱动调度包括“移臂调度”和“旋转调度” 两部分。 先进行移臂调度,再进行旋转调度。 移臂调度目标:尽可能地减少寻找磁道的时间。 旋转调度目标:尽可能地减少延迟时间。

移臂调度 移臂调度:根据等待访问者指定的柱面位置来决定次序。 目的:尽可能地减少输入/输出操作中的寻找磁道的时间。 常用的移臂调度算法: 先来先服务调度算法 最短寻道时间优先调度算法 扫描算法 循环扫描算法

先来先服务调度算法(FCFS) 优点: 公平、简单; 不会出现饥饿; 缺点: (从100号磁道开始) 被访问的下一个磁道号 移动距离(磁道数) 56 44 60 4 40 20 19 21 95 76 165 70 150 15 38 112 185 147 平均寻道长度:56.6 优点: 公平、简单; 不会出现饥饿; 缺点: 平均寻道时间较长;与后面要讲的几种高速算法相比,其平均寻道长度最大。

最短寻道时间优先调度算法(SSTF) 优点: 能获得较好的寻道性能; 缺点: 可能导致饥饿; 只要不断有新进程的请求到达,且其所要访问的磁道与磁头当前所在磁道的距离较近,这种新进程的I/O请求必被优先满足。 (从100号磁道开始) 被访问的下一个磁道号 移动距离(磁道数) 95 5 60 35 56 4 40 16 38 2 19 150 131 165 15 185 20 平均寻道长度:27.4

扫描算法(SCAN) 该算法与电梯的运行规律相似,也称为电梯调度。 优点: 较好的寻道性能; 防止进程饥饿; 缺点: (从100号磁道开始,向磁道号增加方向访问) 被访问的下一个磁道号 移动距离(磁道数) 150 50 165 15 185 20 95 90 60 35 56 4 40 16 38 2 19 平均寻道长度:27.9 该算法与电梯的运行规律相似,也称为电梯调度。 优点: 较好的寻道性能; 防止进程饥饿; 缺点: 某些进程的请求可能会被严重地推迟。

循环扫描算法(CSCAN) 优点: 为了减少这种延迟,CSCAN算法规定磁头单向移动,即将最小磁道号紧接着最大磁道号构成循环,进行循环扫描。 (从100号磁道开始,向磁道号增加方向访问) 被访问的下一个磁道号 移动距离(磁道数) 150 50 165 15 185 20 19 166 38 40 2 56 16 60 4 95 35 平均寻道长度:36.3 优点: 为了减少这种延迟,CSCAN算法规定磁头单向移动,即将最小磁道号紧接着最大磁道号构成循环,进行循环扫描。

旋转调度 当移动臂定位后,可能会有多个访问者访问该 柱面。 怎样来决定这些等待访问者的执行次序呢?从 效率上考虑,显然应优先选择延迟时间最短的 访问者去执行。 这种根据延迟时间来决定执行次序的调度称为 旋转调度。

旋转调度 在进行旋转调度时应区分如下几种情况: 对于1和2: 旋转调度总是对先到达读写磁头位置下的扇区进行信息 传送。 对于3: 若干请求者要访问同一磁头下的不同扇区; 若干请求者要访问不同磁头下的不同编号的扇区; 若干请求者要访问不同磁头下具有相同编号的扇区。 对于1和2: 旋转调度总是对先到达读写磁头位置下的扇区进行信息 传送。 对于3: 这些请求指定的扇区会同时到达磁头位置下,根据磁头 号从中任意选择一个磁头进行读/写操作,其余请求者必 须等磁盘再次把扇区旋转到磁头位置时才有可能被选中。

旋转调度 例如,有四个访问5号柱面的访问者,它们的访问要求如 下所示: 执行次序: (1)(2)(4)(3);或(1)(3)(4)(2); 请求次序 柱面号 磁头号 扇区号 (1) 5 4 1 (2) (3) (4) 2 8 执行次序: (1)(2)(4)(3);或(1)(3)(4)(2); 其中第(2)(3)两个请求都是访问第5个扇区,当第5个扇区旋转到磁头位置下时,只有其中一个请求可执行传送操作,而另一个请求必须等磁盘再一次把第5个扇区旋转到磁头位置下时才能执行。

信息的优化分布 信息在磁道上的排列方式也会影响旋转调度的 时间。

信息的优化分布 例:某系统对磁盘初始化时把每个盘面分成8个扇区,现有8个逻辑记录被存放在同一个磁道上供处理程序使用,处理程序要求顺序处理这8个记录,每次请求从磁盘上读一个记录,然后对读出的记录花5毫秒的时间进行处理,以后再读下一个记录进行处理,直至8个记录都处理结束。假定磁盘转速为20毫秒/周。 L3 L2 L4 L1 始点 L5 L8 L6 L7 旋转方向 (a)顺序存放 处理8条记录所要花费的时间:8×(2.5+5)+7×15=165毫秒

信息的优化分布 优化: 处理8条记录所要花费的时间:8×(2.5+5)=60毫秒 L7 L4 L2 L1 始点 L5 L6 L8 L3 旋转方向 (b)优化存放 处理8条记录所要花费的时间:8×(2.5+5)=60毫秒

提高磁盘I/O速度的方法 1. 磁盘高速缓存 2. 提高磁盘I/O速度的其它方法 (1)提前读(Read-ahead) (2)延迟写 (3)优化物理块的分布 (4)虚拟盘

本章小结 I/O控制方式 缓冲技术 设备分配 磁盘存储器 I/O系统概述 I/O设备的分类、I/O通道、“瓶颈”问题 四种I/O控制方式 单缓冲、双缓冲、循环缓冲 设备分配 设备独立性 磁盘存储器 磁盘调度算法

PURSUING EXCELLENCE / TOWARD SUCCESS WUCHANG UNIVERSITY OF TECHNOLOGY 武昌理工学院 Thank you!