版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机操作系统
主讲教师:周星
1课程主要内容
诙操作系统引论(1章)
育进程管理(2・3章)
党存储管理(4章)
育设备管理(5章)
诙文件管理(6章)
货操作系统接口(7章)
的系统安全性(9章)
甘*分布式操作系统
上设备管理概述
设备管理是操作系统对计算机系统中除CPU和内存之
外的外部设备进行管理、以及对数据传输进行控制的模块,
是操作系统资源管理中最复杂、最多样化的部分。
操作系统设备管理中,提高设备利用率的关键是实现
设备的并行操作。一方面,诸设备要与CPU并行,另一方
面,诸设备间也要并行。操作系统的设备管理模块要在硬
件提供的通道和中断机制、以及设备提供的物理性能的支
持下,实现多任务、多进程共享多种外部设备,高效地完
成数据传输工作。
上第5章设备管理
5.1I/O系统
5.2I/O控制方式
5.3缓冲管理
5.4设备分配
5・5设备处理
本章作业
5.6磁盘存储器管理
5.7*UNIX系统中的设备管理
*5.1I/O系统
■I/O系统:用于实现数据输入、输出及数据存储
的系统。
511I/O设备
5」.2设备控制器
513I/O通道
5.1,4I/O系统的总线系统
5.1.5I/O系统的结构
*5.1」I/O设备
1、I/O设备的类型
1)按设备的从属关系分类
力系统设备:指操作系统生成时即安装操作系统时,
就纳入系统管理范围的各种标准设备。如键盘、
显示器、打印机等。
力用户设备:它是指系统设备之外的非标准设备,
在安装操作系统时没有配置,而由用户自己安装
配置的设备。如绘图仪、扫描仪等。
上5.1.1I/O设备
2)按信息交换的单位分类
o块设备:信息交换的基本单位为字符块,属
于有结构设备,块大小一般为512B-4KB,
典型的有:磁盘、磁带等。
o字符设备:信息交换的基本单位为字符,典
型的有:键盘、打印机和显示器等。
5,1.1I/O设备----------.
-------------------------f包括所有的字符型
3>)按使用方式/共享属性分类备和磁带机,
力独享/独占设备:这类设备一旦分配给某个实体(用
户、作业、任务或进程)使用,在没被释放前,其
它实体不得使用。多数低速设备属于此类,打印机
就典型的独享设备。]包世浮堂名以外的所有块型设备
力共享设备:在一段吁商关浑姿了用户进程同时访问
的设备。磁盘就典型的共享设备。
口虚拟设备:通过一定的辅助存储器和控制程序,可
将一台独享设备模拟为共享设备,这个具有了新特
性的设备就称为虚拟设备。
上5.1」改设备
4)按传输速率分类
力低速设备:传输速率仅为每秒钟几个字节至数
百个字节的设备。典型的有:键盘、鼠标、语音
的输入/输出等。
力中速设备:传输速率仅为每秒钟数千个字节至数
数万个字节的设备。典型的有:打印机等。
力高速设备:传输速率仅为每秒钟数百千个字节至
数十兆字节的设备。典型的有:磁盘机、磁带机、
光盘机等。
*54.2设备控制器
■传统的设备=机械部分+电子部分
■电子部分在系统的控制下驱动机械部分运转,完成
I/O操作
■由于设备中电子部分比机械部分的速度快得多,为
了降低硬件成本,将电子部分从设备中分离出来作
为一个独立的部件,这就是控制器。在小型和微型
机中,它常采用印刷电路卡插入计算机中。
■分离之后的设备仅由机械部分构成,一个控制器可
与多个设备相连(因为控制器的速度快于机械部
分),交替地或分时地控制与其相连的设备。例如,
磁盘控制器可以控制多个磁盘驱动器。
・512设备控制器
■设备控制器
>是处于CPU与I/O设备之间的接口,接可攵CPU发
来的命令,并控制I/O设备工作,是一个可编址
设备。
A功能:接收和识别命令、实现数据交换、了解
设备状态以及识别设备地址。
上5.1.2设备控制器
A设备控制器的组成
O设备控制器与处理机的接口
力设备控制器与设备接口
3/0逻辑
。寄存器:控制寄存器(存放命令及参数)、数据寄
存器(存放数据)、状态寄存器(记录设备状态)。
1设备控制器的组成
CPU与控制器接口控制器与设备接口
数据
状态
控制
数据
状态
控制
返回
5.1.3I/O通道
■引入原因
■根据信息交换方式的不同,通道可分成以下几种类型:
A字节多路通道
A数组选择通道
A数组多路通道
■注:“瓶颈”问题
岂3字节多:路通道
>1)有'一个主通道。
>2)含有多个子通道A、、C
>3)每子通道通过一控制器与一台中/低速的I/O设
备相连,可同时并行向主通道传数据。
>4)各子通道以时间片轮转方式按字节交叉使用主
通道。
■优点:可连多台中/低速设备;能分时并行操作。
■缺点:传输率较低。
案GOOOO
数组选择通道
■数据传送是按成组方式进行工作,每次传输一批数
据。主要用于连接高速I/O设备。
>1)有一个主通道
>2)含有多个子通道A、B、C...
>3)每子通道通过一控制器与一台中/低速的I/O设
备相连,在一段时间内只能选择一个子通道程序
执行。
■优点:可连多台高速设备;传输率较高。
■缺点:某子通道不传数据,而使主通道闲置,其它
子通道也不能传数据。所以通道的利用率很低。
n
数组多路通道
■数据传送仍是按数组方式工作。工作原理(结合
两者:并行十数组)
>1)有一>个主通道
A2)含有多个子通道A、B、C
a3)每子通道通过一控制器与一台高/中速的I/O设
备相连,可同时并行向主通道传数据。
>4)各子通道以时间片轮转方式按数组方式使用
主通道。
■优点:可连多台高/中速设备;能分时并行操作,
传输率较高。口
lnJ
存储器
单通路I/O系统
I解天”施颊〃I可题的万法一多路万
___
多通路I/O系统
口
上5.1.5I/O系统的结构
磁盘驱动器打印机
CPU存储器
微型机I/O系统结构一总线型
设
备
主机I/O系统一具有通道
上5.2I/O控制方式
■常用的输入/输出控制方式:
[、程序控制方式
2、中断控制方式
3、一接存储器访问DMA方式
4、通道控制方式
返回
上1、程序直接控制方式
■程序控制输入/输出方式又称为状态驱动输入/输出
方式或应答输入/输出方式
■它采用程序查询的方式直接参与数据的输入/输出
(注意:程序就是CPU)
■问题:CPU等待每一个操作完成的时候会花费大量
时间“忙于什么也不做”(busydoing
nothing)----CPU大部分时间都处于检查和等待状
态,整个计算系统的效率十分低下。
■呈序控制输入/输出方式一以键盘为例
1、CPU向键盘的控制器发一条输入命令,启动键盘进
行输入操作,并将状态寄存器的“忙/闲位”置1,
表示忙。
2、然后CPU运行程序不断测试状态寄存器的完成位,
看键盘是否完成了输入。直到键盘已将数据输入到
了键盘控制器的数据寄存器中,状态寄存器的完成
位变为1时,CPU才停止测试。
3、CPU取走数据寄存器中的输入数据。
■目前IDE接口硬盘仍在使用这种方式,称为PIO
(ProgrammingInput/Output)模式。
上2、中断控制方式
1)需数据的进程向CPU发出指令启动I/O设备输入
数据。
2)该进程放弃处理机,等待输入完成。
3)输入完成后,I/O控制器向CPU发出中断请求,
CPU收到后,转向中断服务程序。中断服务程序
将输入寄存器中的数据送指定内存单元,并将原
进程唤醒,继续执行。
4)在以后,该进程再被调度,从内存单元取出数
据进行处理。
■断输入/输出方式一以键盘输入为例
(1)开中断。CPU把启动位和中断允许位为1的控制字写
入键盘控制状态寄存器中,启动键盘。(当中断允许位为1时,
中断程序可以被调用。)
(2)进程等待键盘输入完成(进入等待队列),由进程调度
程序调度其他就绪进程使用CPUo
(3)键盘启动后,当数据寄存器装满后,键盘控制器通过
中断请求线向CPU发出中断信号。
(4)CPU暂停正在进行的工作,转向执行中断处理程序。
(取出数据寄存器中的输入数据送到内存特定单元,并将等待输入完成的
进程唤醒。)
(5)中断处理程序完毕,CPU返回断点继续执行。
(6)以后某个时刻,进程调度程序选中正处于就绪状态的
那个进程,该进程从特定内存单元中取出所需的数据继
续工作。
优点:CPU不需等待数据传输
完成,I/O设备与CPU并行工
作,CPU的利用率因此提高。
缺点:CPU在响应中断后,还
需要时间来执行中断服务程序。
如果数据量大,需要多次执行
中断程序,CPU的效率仍然不
返回
上3、DMA方式
1)需数据的进程向CPU发出指令,向DMA控制器写入数
据存放的内存始址、传送的字节数,并置中断位和启动
位,启动I/O设备输入数据并允许中断。
2)该进程放弃处理机等待输入完成,处理机被其它进程
占据。
3)DMA控制器挪用CPU周期,将一批数据写入内存中。
4)DMA控制器传送完数据后向CPU发中断请求,CPU响
应后转向中断服务程序唤醒进程,并返回被中断程序。
5)在以后该进程再被调度,从内存单元取出数据进行处
理。
3、DMA方式
■优点.一CPU利用率进一步提高(并行度有所提
局)O
■缺点.一数据传送方向、字节数、内存地址等需由
CPU控制,且每一设备需一台DMA控制器,设备
增多时,不经济。
返回
4、通道控制方式
■通道是一个独立于CPU的专管输入/输出控制的处理
机,它控制设备与内存直接进行数据交换。
■通道有自己的一套简单的指令系统,称为通道指令。
每条通道指令规定了设备的一种操作,通道指令序列
便是通道程序,通道执行通道程序来完成规定动作。
■通道靠执行通道程序软件完成数据传输,通道控制器
的功能比DMA控制器更强大,它能够承担外设的大
部分工作。
4、通道控制方式
1)需数据的进程向CPU发出指令,CPU发出启动指令指
明I/O操作、设备号和对应的通道。
2)该进程放弃CPU等待输入完成,CPU被其它进程占据。
3)通道接收到CPU发来的启动指令后,取出内存中的通
道程序执行,控制设备将数据传送到内存指定区域。
4)传送完数据后,通道向CPU发中断请求,CPU响应后
转向中断服务程序,唤醒进程,并返回被中断程序。
5)在以后该进程再被调度,从内存取出数据进行处理。
、通道控制方式
■优点:一个通道可控制多设备,所需CPU干预更少;
CPU利用率较高(并行度较高)。
■缺点:通道价格较高。
口
・5.3缓冲管理
1、提高处理机与I/O设备的并行工作的技术:
1)数据传送控制方式2)缓冲技术
2、操作系统中,引入缓冲的主要原因
1)缓冲CPU与I/O设备间速度不匹配的矛盾
>如:计算----打印buffer------打印
2)减少中断CPU的次数
»如:buffer越大,“buffer满”信号发生频率越低。
3)提高CPU与I/O设备的并行性
35.3缓冲管理
3、缓冲的两种实现方法:
1)采用硬件缓冲器实现
2)用软件缓冲区来实现
>缓冲是用来对数据传送速度不同的设备的传送速
度进行匹配/缓冲的一种常用手段。其实现方法除
在关键地方可采用硬件缓冲器外,大都采用软件
缓冲来实现。软件缓冲区是指在I/O操作期间,专
门用来临时存放输入/输出数据的一块存储区域。
冲管理
4、缓冲技术的分类
单缓冲双缓冲
循环缓冲缓冲池
返回
上单缓冲
■在设备和处理机之间设置一个缓冲。设备与处理机
交换数据时,先把交换的数据写入缓冲区,然后需
要数据的设备/处理机再从缓冲区中取走数据。
■特点:缓冲区数只有一个;设备与处理机对缓冲区
的操作是串行的。
■图示
上一块数据的处理时间
工作区卜%-缓冲区卜辛
II/O设备
用户进程C操作系统
■无缓冲区时,该时间为T+C
■由于C和T可并行,M和C或M和T不能并行,因此处
理一块数据时间:Max(C,T)+M
返回
J.双缓冲
■增加一个缓冲区,两个缓冲区可以交替使用
■若用户进程阵发性I/O的数据超过一个缓冲区而不足两个
缓冲区,双缓冲使进程不会在I/O数据期间被阻塞。
■在设备和处理机之间设置2个缓冲。设备与处理机交换
数据时,先把交换的数据写入缓冲区,然后需要数据的
设备/处理机再从缓冲区中取走数据。因缓冲区有2个,
提高了设备与处理机并行操作的程度,只有当两个均为
空时,需数据的进程才等待。
■特点:缓冲区数有2个;设备与处理机对缓冲区的操作
可并行,提高了设备与处理机并行操作的程度。
上双缓冲
双缓冲示例
双缓冲图示
一块数据的处理时间
"簟鱼I/O设备
MrT
用户进程C操作系统
■当C>T:C+M即MAX(C,T)+M
■当C〈T:MAX(C,T)
口
】■循环缓冲
—I用户进程至理数据的速度较快、外部设备处理
数据的速度较慢,或者用户进程阵发性输入/输出
的数据较多时,必须考虑增加缓冲区的数量以改
善系统性能,这就是多缓冲区方式(被组织成循
环队列,故称为循环缓冲)。
■在设备和处理机之间设置多个大小相等的缓冲区,
这些缓冲区构成环形,每一个缓冲区中含一指针
指向下一个缓冲区,最后一个指向第一个缓冲区,
同时还含有2个用于输入/输出的指针IN和OUT。
■特点:缓冲区数有多个;设备与处理机对缓冲区
的操作可并行,进一步提高了设备与处理机并行
操作的程度。
上循环缓冲的组成
类型:
R:空缓冲;G:满缓冲;C:当前缓冲
1循环缓冲
■缓冲区的使用
»Getbuf过程
力计算进程取Nextg对应缓冲区使用,将Nextg置为
空,Nextg=(Nextg+1)ModN
◎输入进程取Nexti对应缓冲区使用,将Nexti置为
满,Nexti=(Nexti+1)ModN
»Releasebuf过程
◎若C满,则改为G;
0若C空,则改为R;
土循环缓冲
■进程同步
aNexti追上Nextg:表示输入速度)输出速度,
全部buf满,这时输入进程阻塞。
aNextg追上Nexti:输入速度〈输出速度,全部
buf空,这时输出进程阻塞。
口
上缓冲池
■上述三种缓冲区的组织形式仅适用于某种特定的I/O
进程和计算进程,属于专用缓冲。
■当系统中的设备很多时,将会有许多这样的循环缓
冲区,消耗大量的内存空间,而且其利用率也不高。
■为了提高缓冲区的利用率,可以采用公共缓冲池技
术,其中的缓冲区可为多个设备和进程服务。
上缓冲池
1、缓冲池:将系统内所有的缓冲区统一管理起来,就形
成了能用于输入/输出的缓冲池。缓冲池通常由若干大
小相同的缓冲区组成,是系统的公用资源,任何进程
都可以申请使用缓冲池中的各个缓冲区。
2、缓冲池的组成(数据结构)
»三个队列:空缓冲队列emq、装满输入数据队列
inq、装满输出数据队列outq
»四个工作缓冲区:收容输入缓冲区hin、提取输入
sin、收容输出hout、提取输出缓冲区sout
3、getbuf过程和putbuf过程
ProcedureGetbuf(type)ProcedurePutbuf(type)
beginbegin
wait(rs(type));wait(ms(type));
wait(ms(type));Addbuf(type,number);
B(number):=Takebuf(type);signal(ms(type));
signal(ms(type);signal(rs(type));
endend
、操作系统对缓冲池的管理一工作方式
缓冲池
收容输提取输入用
sin
户
程
提取输出收容输出
southout<序
缓冲区的工作方式
、操作系统对缓冲池的管理一工作方式
1)输入进程需要输入数据时:hin=getbuf(emq);输
入数据;putbuf(inq,hin)
从空缓冲队列的队首取一空缓冲区用作收容输
入缓冲区;
>2)输入设备将数据输入收容输入缓冲区并装满;
>3)将此缓冲区挂到装满输入数据队列队尾。
、操作系统对缓冲池的管理一工作方式
2)计算进程需要输入数据时:sin=getbuf(inq);计
算;putbuf(emq,sin)
>1)从装满输入数据队列队首取一满缓冲区用作提
取输入缓冲区;
>2)CPU从提取输入缓冲区中取出数据至用完;
>3)将空缓冲区挂至1空缓冲队列队尾。
、操作系统对缓冲池的管理一工作方式
3)计算进程需要输出数据时:hout=getbuf(emq);
输出数据;putbuf(outq,hout)
A1)从空缓冲队列队首取一空缓冲区用作收容输出
缓冲区;
>2)CPU将数据输入其中并装满;
>3)1寻收容输出缓冲区挂到装满输出数据队列队尾。
上4、操作系统对缓冲池的管理一工作方式
4)输出进程需要输出数据时:hout=getbuf(outq);
输出;putbuf(emq,hout)
A1)从装满输出数据队列队首取一满缓冲区用作
提取输出缓冲区;
A2)输出设备从中取出数据至用完;
>3)将空缓冲区挂到空缓冲队列队尾。
5.4设备分配
■包括:对设备、设备控制器、通道的分配
A设备分配中的数据结构
A设备分配的策略/应考虑的因素
A设备独立性
>设备分配程序
aSPOOLING技术
5.4.1设备分配中的数据结构
■系统设备表SDT(systemdevicetable)
■设备控制表DCT(devicecontroltable)
■控制器控制表COCT(controllercontroltable)
■通道控制表CHCT(channelcontroltable)
DCT
设备类型
设备标识符
设备状态:忙/闲
COCT指针
设备等待队列指针
COCTCHCT
控制器标识符通道标识符
控制器状态:忙/闲通道状态:忙/闲
CHCT指针
通道等待队列指针
控制器等待队列指针
5.4.2设备分配策略/应考虑的因素
1、设备的使用性质/固有属性
A独享分配、共享分配、虚拟分配
2、设备分配算法
A先请求先服务、优先级高者优先
3、设备分配的安全性(防止进程死锁)
4、设备独立性:是指用户在编制程序时所用的设备
(逻辑)与实际使用的设备无关
设备分配算法
■先请求先服务
A当有多进程对同一设备提出I/O请求时,系统根
据这些进程发出请求的先后次序将它们排成一个
设备请求队列,设备分配程序总是把设备分配给
队首的进程。
■优先级高者优先
A按照进程优先级的高低进行分配。即当多进程对
同一设备提出I/O请求时,谁优先级高,就将设
备分配给谁。若优先级相同,则按先请求先服务
进行分配。
・543设备独立性
■设备独立性概念(设备无关性)
A为提高OS的可适应性和可扩展性,而将应用程
序独立于具体使用的物理设备。
>逻辑设备
>物理设备
>逻辑设备表(LUT)
土543设备独立性
■设备独立性的实现
A逻辑设备(应用程序)和物理设备(执行)
O设备分配时的灵活性
/逻辑设备和物理设备间可以是多——多的映
射关系。提高了物理设备的共享性,以及使
用的灵活性。如:某逻辑名可对应这一类设
备,提高均衡性与容错性;几个逻辑名可对
应某一个设备,提高共享性。
力易于实现I/O重定向
t543设备独立性
■设备独立性的实现
>设备独立性软件
力执行所有设备的公有操作
力向用户层(文件层)软件提供统一的接口
/read、write
土543设备独立性
■设备独立性的实现
>逻辑设备名到物理设备名映射的实现
一逻辑设备表LUT(LoqicalUnitTable)
a分配流程:进程给出逻辑名——通过LUT得到物
理设备及其driver入口。
»LUT设置问题(图5・18)
由整个系统设置一张LUT;每个用户设一张LUT
上设备独立性相关概念
■I/O重定向
A指用于I/O操作的设备可以更换,即重定向,而不
必改变应用程序,只需改变LUT表的映射关系。
■所有设备的公有操作
A独立设备的分配与回收;将逻辑设备名映射为物
理设备名;对设备进行保护(禁直访);缓冲管
理;差错控制。f
逻辑设备表LUT(LoqicalUnitTable)
逻辑设备名物理设备名驱动程序入口地址
/dev/tty31024
/dev/print52046
■■■■■■■■■
(a)
逻辑设备名系统设备表指针
/dev/tty3
/dev/print5
■■■■■■
(b)
J.544独占设备的分配程序
■的设备分配程序
>分配设备
A分配控制器
A分配通道
>问题(“瓶颈”)
。进程以物理设备名来提出I/O请求
口采用的是单通路的I/O系统结构
■设备分配程序的改进
>增加设备的独立性(进程以逻辑设备名提出I/O请求)
A考虑多通路情况wt
口
分配设备
ASDTADCT
I设:状态I
进程插入~~[y
设彳等待队列1
本次分配的安全性
上分配控制器
物理设备分配
DCT^COCT
控制器状态
进程插入
控制器等待队列
分配控制器
返回
分配通道
控制手分配
COCipCHCT
进程插入
通道等待队列
分配通道
*返回
ISPOOUNG技术
^jg[SimultaneausPeriphernalOperationsOn-Line)
■脱机输入、输出技术
>为了缓和CPU的高速性与I/O设备的低速性间矛盾
而引入,该技术在外围控制机的控制下实现低速
的I/O设备与高速的磁盘之间进行数据传送。
■SPOOLING技术
■SPOOLING系统的组成
■SPOOLING系统的特点
SPOOUNG技术
(SimultaneausPeriphernaIOperationsOn-Line)
■SPOOLING技术
在多道程序下,用一程序来模拟外围控制机,
实现将数据从磁盘传送到低速的输出设备上,从而
可在主机的直接控制下,实现脱机输入、输出功能,
进而实现外围操作与CPU对数据处理的并行操作,
这种在联机情况下实现的同时外围操作称为
SPOOLING技术,是对脱机输入、输出工作的模
拟,是操作系统中采用的一项将独占设备改造成为
共享设备的技术。
上SPOOLING系统的组成
内存
组成:
1、输入井、输出井2、输入缓冲区、输出缓冲区
3、输入进程、输出进程4、请求打印队列
上SPOOLING系统的组成
1.输入井和输出井:
>在磁盘上开辟的2个大存储空间,模拟输入和输出
设备。
2.输入buf和输出buf(内存中)
>输入设咯----输入buf输入井----用户区(1)
»用户区——输出井——输出buf——设备(2)
3.输入SPi和输出SPo进程。
»分别控制(1),(2)的动作。
>SPi相当于脱机输入控制器。
>SPo相当于脱机输出控制器。
SPOOLING举例
⑴输入
>a.进程n请求一>SPi为n在输入井中分配空间一>设
备数据由输入buf送输入井一>生成输入请求表挂输
入请求队列。
ab.CPU空一>取请求表中的任务,送进程缓冲区。
⑵输出:(打印)
>a.进程n请求一>SPo为n在输出井中分配空间一>将
数据由进程buf转到输出井一>生成一打印请求表挂
打印请求队列。
>b.打印机空一>查打印请求表中的任务一>取输出井
中对于数据一>输出buf—>打印
工SPOOLING系统的特点
■提高了I/O速度(对低速设备操作变为对输入/输出井
操作)
■将独占设备改造为共享设备(分配设备的实质时分配
输入/输出井)
■实现了虚拟设备功能
虚拟设备实现了对独占设备的改造,而虚拟分配使进程对独占
设备的使用与物理设备分离,使进程与I/O设备之间的同步I/O
方式转变为异步I/O方式,提高了进程的并发度和执行效率。显
然,虚拟分配方式在逻辑上改造了设备特性,提高了设备的利
用率,同时也提高了进程的执行效率。其所付出的代价是外存
空间的开销,是操作系统利用空间换取时间的一个典型范例。
上SPOOLING技术
■在操作系统中,引入虚拟设备的原因
>引入虚拟设备是为了克服独占设备速度较慢、降
低设备资源利用率的缺点,从而提高设备的利用
率。
■虚拟设备
>是指通过虚拟技术将一台独占设备变换为若干台
逻辑设备,供若干个用户进程使用,通常把这种
经过虚拟技术处理后的设备称为虚拟设备。
口
・5.5设备处理
■设备驱动程序的功能和特点
A设备驱动程序的功能
A设备处理方式
A设备驱动程序的特点
■设备驱动程序的处理过程
■中断处理程序的处理过程
i设备驱动程序的功能
■将接收到的抽象要求转换为具体要求。
■检查用户I/O请求的合法性、I/O设备状态、传参数、
设置设备的工作方式。
■按处理机的I/O请求去启动指定的设备进行I/O操作。
■及时响应由控制器或通道发来的中断请求,并进行
相应处理。
■按I/O请求构成相应通道程序。
上设备处理方式
■为每一类设备设置一进程,专门执行其I/O操作。
■在整个系统中设置一个进程,执行所有的I/O操作。
■不设置专门的设备处理进程,而为各类设备设置
相应的设备驱动程序。
设备驱动程序的特点
■是请求I/O的进程与设备控制器之间的一个通信程序
■与I/O设备的特性紧密相关
■与I/O控制方式紧密相关
■与硬件紧密相关,因而其中一部分程序必须用汇编语
言编写
设备驱动程序的的处理过程
■将接收到的抽象要求转换为具体要求
■检查用户I/O请求的合法性
■读出和检查I/O设备状态
■传送必要参数
■设置设备的工作方式
■按处理机的I/O请求去启动指定的设备进行I/O操作
上中断处理程序的处理过程
■唤醒被阻塞的驱动程序进程
■保护被中断进程的CPU环境
■分析中断原因、转入相应的设备中断处理程序
■进行中断处理
■恢复被中断进程的现场
返回
5^6磁盘存储器
■提高磁盘I/O速度的主要途径:
>(1)选择性能好的磁盘
>(2)采用好的磁盘调度算法
>(3)设置磁盘高速缓存(DiskCache)
>(4)其它方法
>(5)采用高度可靠、快速的容量磁盘系统一■糜
价磁盘冗余阵列
上1、磁盘性能
■磁盘性能简述
>数据的组织
◎磁盘结构、磁道、柱面、扇区、磁盘格式化
力磁盘物理块的地址:柱面号磁头号扇区号
A磁盘类型(固定头磁盘、移动头磁盘)
1、磁盘性能
■访问时间
A寻道时间:将磁头从当前位置移到指定磁道所经历的
时间Ts=m*n+s
A旋转延迟时间:指定扇区移动到磁头下面所经历的时
间。设每秒r转,贝仃r=1/2r(均值)
»传输时间:将扇区上的数据从磁盘读出/向磁盘写入
数据所经历的时间Tt=b/rN。其中b:读写字节数,
N:每道上的字节数。
■在访问时间中,Ts和Tr基本上与所读/写数据的多少无关,
且通常占据了访问时间中的大头。故,适当地集中数据
传输,将有利于提高传输效率。
上信息分布优化
■例:信息在存储空间的排列方式也会影物理逻辑
块记录
响存取等待时间。考虑10个逻辑记录A,
1A
B……,J被存于旋转型设备上,每道存2B
放10个记录,安排如右图示。假定要经3C
常顺序处理这些记录,而旋转速度为204D
5E
毫秒,处理程序读出每个记录后花4毫
6F
秒进行处理。请计算依次读出这10个
7G
记录总共需花多长时间?如何优化最合8H
适?9I
10J
■Ji------------------------------
■解:由于旋转速度为20毫秒,且每道10条记录,
故读取每条记录的时间为2毫秒。
>又因为读出并处理记录A之后(4ms)将转到记录
D的开始。所以,为了读出B,必须再转一周。
A于是,处理10个记录的总时间为:10毫秒(移动
到记录A的平均时间)+2毫秒(读记录A)+4毫秒
(处理记录A)+9x[16毫秒(访问下一记录)+2毫
秒(读记录)+4毫秒(处理记录)]=214毫秒
物理逻辑
■按右图方案优化各记录的位置。当块记录
读出记录A并处理结束后,恰巧转1A
至记录B的位置,立即就可读出并2H
处理。按照这一方案,处理10个记3E
录的总时间为:10毫秒(移动到记4B
录A的平均时间)+10*[2毫秒(读5I
记录)+4毫秒(处理记录)]=70毫6F
秒7C
■比原方案速度几乎快3倍,如果有8J
众多记录需要处理,节省时间更可9G
D
观了。10
磁盘结构
・区iu・区n5IW
42、磁盘调度算法
■对于用来保存文件的磁盘等设备而言,同一l时刻可
能会有许多来自系统和应用程序的访问请求,每个
请求读或写一块。按什么次序为这些访问请求服务
是输入/输出调度所应解决的问题,而用来确定服务
次序的算法称为输入/输出调度算法。
■设计输入/输出调度算法应考虑两个基本因素
A公平性:一个I/O请求应当在有限时间内得到满足
A高效性:减少设备机械运动带来的时间开销
老盘2调、度磁算盘法调度算法
A早期的磁盘调度算法
■先来先月艮务FCFS
由最短寻道时间优先SSTF
>扫描算法
力扫描(SCAN)/电梯(LOOK)算法
力循环扫描(CSCAN)算法
力**N・STEP・SCAN调度算法
a**FSCAN调度算法
例:假设一个请求序列:98、183、37、122、
14、124、65、67,磁头当前的位置在53。
FCFS先来先服务
按进程请求访问磁盘的先后次序进行调度下磁道移道数
9845
queue=98,183,37,122,14,124,65,67
headstartsat5318385
O14
II375365679812212418319937146
iiIIiII
12285
14108
124110
6559
672
总道数640
平均80
tFCFS先来先服务性能评价
■磁头引臂横向移动的速度很慢,若按照请求发出
的次序依次读/写各个磁盘块,则磁头引臂在内磁
道和外磁道之间频繁地移动,造成较大的时间开
销,影响效率。
■这种算法通常可用于输入/输出负载较轻的系统。
最短寻道时间优先(SSTF)
选择从当前磁头位置所需寻道时间最短的请求。下磁道移道数
queue=98,183,37,122,14,124,65,676512
headstartsat53672
O4
3753656798122124183199
iII3730
1423
9884
12224
1242
18359
总道数236
平均29.5
■从此例可看出,按照上述服务次序,磁头引臂的
机械运动明显减少,所需时间大幅度降低。
■存在的缺点:假设某一时刻外磁道请求不断,则
内磁道请求可能长时间得不到满足,这种现象称
为“磁道歧视”。因此,本算法缺乏公平性,存
在饥饿和饿死的问题。
上扫描算法(SCAN)
■Scan算法往复扫描各个柱面(磁道)并为途经柱
面(磁道)的请求服务。
■起始时磁头处于最外柱面,并向内柱面移动。在移
动的过程中,如果途经的柱面有访问请求,则为其
服务,如此一直移动到最内柱面,然后改变方向由
内柱面向外柱面移动,并以相同的方式为途经的请
求服务。
■Scan算法每次都扫描到柱面的尽头,无论最内
(最外)柱面处是否有访问请求。
3描算法(SCAN)
下磁道移道数
6512
queue=98,183,37,122,14,124,65,67
672
headstartsat53
9831
12224
1242
18359
19916
37162
1423
假定:磁头向磁道号增加的方向移动。
总道数331
平均41.4
Look算法(电梯算法)
■Look算法也称电梯算法,因其基本思想与电梯的
工作原理相似而得名。
■无访问请求时,磁头引臂停止不动;当有访问请求
时,起始时磁头由最外柱面向内柱面移动,并为途
经的请求服务。一旦内柱面没有访问请求,则改变
移动方向(如外柱面有请求)或停止移动(外柱面
也无请求)。
算法(电梯算法)
Look下磁道移道数
6512
queue=98,183,37,122,14,124,65,67
headstartsat53672
9831
12224
1242
18359
37146
1423
假定:磁头向磁道号增加的方向移动。总道数299
平均37.4
上SCAN/LOOK算法评价
■对于SCAN(LOOK)算法来说,位于不同磁道(柱
面)的I/O请求与获取服务所需的等待时间是不同
的。
■对于靠近边缘的柱面,最坏情况的移动量为2N・1
(N为柱面数);对于靠近中部的柱面,最坏情况
为平均情况分别约为N和N/2。
上循环扫描算法(CircularSCAN/LOOK)
■是为了消除边缘柱面与中部柱面等待时间差异而
进行的改进。
■磁头只在单方向移动过程中才为途经的请求服务,
一旦达到边缘,则立即快速移动至另一边缘,在此
移动过程中并不处理访问请求,然后重新开始新一
轮扫描。
循环扫描算法(CSCAN)
下磁道移道数
queue=98,183,37,122,14,124,65,676512
headstartsat53
o.4672
13753656798122124183199
iilliIIII9831
12224
1242
18359
14169
3723
总道数322
平均40.3
特点:消除了对两端磁道请求的不公平。
N・STEP・SCAN调度算法
■SSTF、SCAN及CSCAN存在的问题“■磁臂粘着
在SSTF、SCAN及CSCAN几种调度算法中,可能
出现磁臂停留在某处的情况,即反复请求某一磁道,从
而垄断了整个磁盘设备,这种现象称为磁臂粘着。
■N・STEP-SCAN调度算法
将磁盘请求队列分成若干个长度为N的子队列,磁
盘调度将按FCFS算法依次处理这些子队列,而每一子
队列按SCAN算法处理。
N=1FCFS算法
N彳艮大SCAN算法
N取半长度FSCAN算法
心理置磁盘高速缓存(DiskCache)
目前,由于磁盘的I/O速度远低内存的访问速度,
而致使磁盘的I/O成为计算机系统的瓶颈。为提高
磁盘的I/O速度,便采用磁盘高速缓存。
力磁盘高速缓存的形式
0数据交付方式
◎置换算法
由周期性地写回磁盘
(1)磁盘高速缓存的形式
■磁盘高速缓存
A是指内存中的一部分存储空间,用来暂存从磁盘
读出的一系列盘块中的信息,所以它是一组在逻
辑上属于磁盘,而物理上是驻留在内存中的盘块
■磁盘高速缓存的形式
力内存中单独的存储空间(大小固定)
力未利用的存储空间_缓冲池(大小不固定)
(2)数据交付方式
■数据交付方式
>是指磁盘高速缓存中的数据传送给请求者进程。
系统采取两种方式,将数据交付给请求进程:
力数据交付:系统直接将磁盘高速缓存中的数据
传送到请求者进程的内存工作区。
力指针交付:只将指向磁盘高速缓存中该数据的
指针,交付给请求者进程。
(3)置换算法
将磁盘中的盘块读入到磁盘高速缓存中时,若因磁盘
高速缓存已满,则采用常用的算法进行置换:
>最近最久未使用算法LRU
>最近未使用算法NRU
>最少使用算法LFU
■置换时除算法外还应考虑的问题
>访问频率
>可预见性
>数据的一致性■一解决方法将系统中所有盘块数据拉
成一条LRU链,对将会严重影响到数据一致性的数
据和很久都可能不再使用的盘块数据放在LRU头部,
到时优先写回磁盘。
上(4)周期性地写回磁盘
■系统中所有盘块数据拉成一条LRU链,对会严重影
响到数据一致性的数据和很久都可能不再使用的盘
块数据,放在LRU头部,到时才优先写回磁盘。若
经常访问的数据一直保留磁盘高速缓存中,长期不
会被写回磁盘,若系统出故障,则存在磁盘高速缓
存中的数据将丢失。
■问题解决
»周期性地将磁盘高速缓存中的数据写回磁盘
A磁盘高速缓存中的数据若修改,则立即写回磁盘
«H
、提高磁盘I/O速度的其它方法
■提前读(Read_Ahead):由于用户对文件的访问常用
顺序方式,在读当前块时,可预知下一次要读的盘块,
所以,可采用预先读方式,即在读当前块的同时,连同
将下一块提前读入缓冲。当访问下一块数据时,其已在
缓冲中,而不需去启动磁盘I/O。
■延迟写:在缓存中的数据,本应立即写回磁盘,考虑不
久之后可能会再用,故不立即写回磁盘。
■优化物理块的分布:使磁头移动的距离最小(优化物理
块的分布、优化索引结点的分布)。
■虚拟盘:利用内存去仿真磁盘,又称为RAM盘。(与
磁盘高速缓存的区别:RAM盘中的内容由用户控制,
而缓存中的内容则由OS控制)
返回
15、廉价磁盘冗余阵列(RAID)
■RAID(RedundantArrayofIndependent/
InexpensiveDisks):独立或廉价磁盘冗余阵列
■“独立”是目前通用的一个行业术语,强调
RAID阵列的重要性和可靠性
■“廉价”是较早使用的一个术语,重在强调RAID
磁盘阵列中采用的相对较小的、价格较便宜的磁
盘。
上5、廉价磁盘冗余阵列(RAID)
■1987年由美国加利福尼来大学伯莱分校提出,
1988年问世,即利用一台磁盘阵列控制器,来
统一管理和控制一组磁盘驱动器,组成一个高
度可靠的、快速的大容量磁盘系统。
口并行交叉存取
口RAID的分级
◎RAID的优点
*(1)并行交叉存取
■为提高磁盘的访问速度而在大、中型机中采用的交
叉存取
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年放射性核素遥控后装机项目评价分析报告
- 2024至2030年中国锡制杯垫行业投资前景及策略咨询研究报告
- 2023年洗碗清洁剂项目综合评估报告
- 2023年工程和技术研究与试验发展服务项目综合评估报告
- 2024年酒店家具项目综合评估报告
- 2024年轻工涂料项目成效分析报告
- 2024至2030年中国管带直料半自动蛇形弯管机数据监测研究报告
- 2024至2030年中国方便式料桶数据监测研究报告
- 2024至2030年中国小阴角线数据监测研究报告
- 足太阳膀胱经、穴1(题后含答案及解析)
- 垫片冲压模具设计毕业设计论文
- 常见矩形管规格表
- 高中学生社区服务活动记录表
- Python-Django开发实战
- 小学道法小学道法1我们的好朋友--第一课时ppt课件
- 配电箱安装规范
- 中英文商务派遣函样板
- 幼儿园大班主题教案《超市》含反思
- 弯臂车床夹具设计说明书
- 企业员工健康管理存在的问题与解决途径探讨
- 浅谈初中数学教学新课标理念的运用
评论
0/150
提交评论