Download presentation
Presentation is loading. Please wait.
Published by王 杭 Modified 7年之前
1
第五章 设备管理 5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 设备分配 5.5 设备处理 5.6 磁盘存储器管理
2
5.1 I/O 系 统 5.1.1 I/O设备 1. I/O设备的类型 1) 按传输速率分类
低速设备,每秒钟几个字节至数百个字节,(键盘、 鼠标器、语音的输入和输出等设备) 中速设备,每秒钟数千个字节至数万个字节。(针式打印机、激光打印机等) 高速设备, 数百千个字节至数十兆字节。 (磁带机、 磁盘机、 光盘机等)
3
2) 按信息交换的单位分类 块设备(Block Device),用于存储信息。(以数据块为存取单位),如磁盘,每个盘块的大小为512 B~4 KB。特征: 1、传输速率较高 2、可寻址(可随机读/写任一块);3、DMA方式。 字符设备(Character Device),用于数据的输入和输出。 其基本单位是字符, 故称为字符设备。如打印机,特征: 1、传输速率低 2、不可寻址(不能指定源地址和目标地址) 3、中断驱动
4
3) 按设备的共享属性分类 这种分类方式可将I/O设备分为如下三类: 独占设备。 (临界资源) (2) 共享设备。 (一段时间允许多个进程同时访问,如磁盘) (3) 虚拟设备。 (将一个独占设备变换为若干逻辑设备,如CPU)
5
2. 设备与控制器之间的接口 输出:先到缓冲,再到转换器(信号/数据) 输入:先到转换器,再到缓冲 控制信号:读操作,写操作,磁头移动等 状态:正在读或写,读写完成等
6
5.1.2 设备控制器 1. 设备控制器的基本功能 接收和识别命令(CPU的命令。控制寄存器存放命令和参数,译码,如磁盘的read,write,format) 2) 数据交换 (控制器中数据寄存器,CPU/控制器/设备) 3) 标识和报告设备的状态 (状态寄存器) 4) 地址识别 (每个设备都有一个地址,配有地址译码器) 5) 数据缓冲 (IO设备与CPU之间速度矛盾,主机/控制器/设备) 6) 差错控制 (对IO设备传来的数据进行差错检测)
7
2. 设备控制器的组成 图 5-2 设备控制器的组成
8
三部分组成: 1、设备控制器与处理器的接口 2、设备控制器与设备的接口 3、IO逻辑 三类信号线:数据线、地址线、控制线
两类寄存器:数据寄存器、控制\状态寄存器 2、设备控制器与设备的接口 一个控制器可接多个设备,一个接口接一个设备 3、IO逻辑 实现对设备的控制, CPU启动设备过程:发送控制命令和地址给控制器,IO逻辑接收命令并译码
9
5.1.3 I/O通道 1. I/O通道(I/O Channel)设备的引入
I/O通道是一种特殊的处理机。它具有执行I/O指令的能力,并通过执行通道(I/O)程序来控制I/O操作。 IO通道的目的使原来由CPU执行的IO任务承担下来 但I/O通道又与一般的处理机不同: 指令类型单一,主要局限于与I/O操作有关的指令; 通道没有自己的内存,与CPU共享内存。
10
2. 通道类型 1) 字节多路通道(Byte Multiplexor Channel) 字节多路通道不适于连接高速设备 图 5-3 字节多路通道的工作原理
11
2) 数组选择通道(Block Selector Channel)
可以连接多台高速设备, 只含有一个分配型子通道,在一段时间内只能控制一台设备进行数据传送,并独占该通道。 这种通道的利用率很低。
12
3) 数组多路通道(Block Multiplexor Channel)
数组多路通道是以上二种通道结合而形成的一种新通道 数据传送是按数组方式进行 有多个非分配型子通道, 数据传输速率很高,通道利用率也高 广泛地用于连接多台高、中速的外围设备
13
3. “瓶颈”问题 图 5-4 单通路I/O系统
14
多通路方式:增加通路,不增加通道,通道很贵
解决了:瓶颈,增加了可靠性 图 5-5 多通路I/O系统
15
5.1.4 总线系统 对总线的时钟频率,带宽,传输速率要求越来越高。 图 5-6 总线型I/O系统结构
16
2. 局部总线(Local Bus) VESA(Video Electronic Standard Association)总线 2) PCI(Peripheral Component Interface)总线 EISA,VESA,PCI,AGP,PCI-Express(1X-16X最高可达到10GB/s )
17
5.2 I/O控制方式 5.2.1 程序I/O方式 (轮询方式或忙-等待方式)
CPU发出指令后,置busy =1,不断测试busy,直到busy=0表示指令完成 CPU的绝大部分时间都处于等待I/O设备完成循环测试中,造成对CPU的极大浪费。
18
图 5-7 程序I/O和中断驱动方式的流程
19
5.2.2 中断驱动I/O控制方式 CPU发出IO指令后返回继续执行原任务,控制器完成指令后向CPU发出中断信号,CPU利用花费极短时间处理中断 CPU与I/O设备并行工作,提高资源利用率及吞吐量。 例如,从终端输入一个字符的时间约为100 ms, 而将字符送入终端缓冲区的时间小于 0.1 ms。 此方式,CPU约有 99.9 ms的时间处于忙—等待中。 采用中断驱动方式后,CPU可利用这 99.9 ms的时间去做其它事情,而仅用 0.1 ms的时间来处理由控制器发来的中断请求。 程序IO和中断IO都是以字为单位进行干预。 如从硬盘读1K的数据块,要中断1K次。
20
5.2.3 直接存储器访问DMA I/O控制方式 1. DMA(Direct Memory Access)控制方式的引入
① 数据传输的基本单位是数据块; ② 所传送的数据是从设备直接送入内存的,或者相反; ③ 仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。 可见,DMA方式成百倍地减少了CPU对I/O的干预。
21
2. DMA控制器的组成 图 5-8 DMA控制器的组成
22
在DMA控制器中设置如下四类寄存器: (1) 命令/状态寄存器CR。用于接收从CPU发来的I/O命令或有关控制信息, 或设备的状态。 (2) 内存地址寄存器MAR。在输入时,它存放把数据从设备传送到内存的起始目标地址;在输出时,它存放由内存到设备的内存源地址。 (3) 数据寄存器DR。用于暂存从设备到内存,或从内存到设备的数据。 (4) 数据计数器DC。 存放本次CPU要读或写的字(节)数。
23
5.2.4 I/O通道控制方式 1. I/O通道控制方式的引入 以一组数据块的读(或写)及有关的控制和管理为单位的干预。
可实现CPU、通道和I/O设备三者的并行操作 例如,当CPU只需向I/O通道发送一条I/O指令,以给出通道程序的首址和要访问的I/O设备,通道接到并执行该指令。
24
(2) 内存地址。 (读出或写入时的内存首址) (3) 计数。 (读、写数据字节数) (4) 通道程序结束位P。(通道程序最后一条指令)
2. 通道程序 --由一系列通道指令构成 指令包含信息: 操作码。( 读、写、控制) (2) 内存地址。 (读出或写入时的内存首址) (3) 计数。 (读、写数据字节数) (4) 通道程序结束位P。(通道程序最后一条指令) (5) 记录结束标志R。 (R=0代表数据在同一记录,R=1表示记录的最后一条数据)
25
操作 P R 计数 内存地址 WRITE 80 813 140 1034 1 60 5830 300 2000 250 1850 720
26
5.3 缓 冲 管 理 5.3.1 缓冲的引入 缓和CPU与I/O设备间速度不匹配的矛盾。
5.3 缓 冲 管 理 5.3.1 缓冲的引入 缓和CPU与I/O设备间速度不匹配的矛盾。 (2) 减少CPU的中断频率,放宽CPU中断响应时间的限制。 (网络通信,906K/S,100us中断一次,否则缓冲区内数据冲掉) (3) 提高CPU和I/O设备之间的并行性。
27
图 5-10 利用缓冲寄存器实现缓冲
28
5.3.2 单缓冲和双缓冲 1. 单缓冲(Single Buffer) 图 5-11 单缓冲工作示意图
29
2. 双缓冲(Double Buffer) 图 5-12 双缓冲工作示意图
30
单向 双向 图 5-13 双机通信时缓冲区的设置
31
5.3.3 循环缓冲 (速度相差很大时采用) 1. 循环缓冲的组成(每个缓冲区大小相同;R:空,G:满,C:计算) 图 5-14 循环缓冲
Nexti:指向下一个R,Nextg:指向下一个G,current:指向正在计算 图 5-14 循环缓冲
32
2. 循环缓冲区的使用 Getbuf过程。 (2) Releasebuf过程。
计算过程:Current→ Nextg,Nextg移向下一个G 输入过程:当前Nexti指向的R提供出来,Nexti 指向下一个R。 (2) Releasebuf过程。 计算过程将C中的数据取完,用Releasebuf 将C释放
33
说明:输入数据大于处理数据,全部缓冲区已满。
3. 进程同步 Nexti指针追赶上Nextg指针。 说明:输入数据大于处理数据,全部缓冲区已满。 (2) Nextg指针追赶上Nexti指针。 说明:输入数据小于处理数据,全部缓冲区已空。
34
5.3.4 缓冲池(Buffer Pool) 1. 缓冲池的组成 三种类型的缓冲区: ① 空(闲)缓冲区; 形成以下三个队列:
三种类型的缓冲区: ① 空(闲)缓冲区; ② 装满输入数据的缓冲区; ③ 装满输出数据的缓冲区。 形成以下三个队列: (1)空缓冲队列emq。 (2) 输入队列inq。 (3) 输出队列outq。
35
3. 缓冲区的工作方式 图 5-15 缓冲区的工作方式 1、收容输入:调用Getbuf(emq)在emq中摘下一空区,并装满数据,挂到inq中。 2、提取输入:调用Getbuf(inq)从inq摘一区,提取数据,并挂入emq。 3、收容输出:调用Getbuf(emq)从emq中摘一区,装入输出数据,并挂入outq。 4、提取输出:调用Getbuf(outq)从out中摘一满区,提取数据,并挂入emq。
36
5.4 设 备 分 配 5.4.1 设备分配中的数据结构 1. 设备控制表DCT 图 5-16 设备控制表
37
2. 控制器控制表、 通道控制表和系统设备表 图 5-17 COCT、 CHCT和SDT表
38
设备分配时应考虑的因素 1. 设备的固有属性 独享设备。 (2) 共享设备。 (3) 虚拟设备。
39
2. 设备分配算法 先来先服务。 (2) 优先级高者优先。
40
3. 设备分配中的安全性 安全分配方式 一旦发出IO申请,便阻塞,不再继续运行,直到IO操作完成。摒弃“请求并保持”,防止死锁。 2) 不安全分配方式 发出IO申请后继续运行,需要时再发出IO申请, 允许“请求并保持”,但进行安全计算。
41
5.4.3 设备独立性 1. 设备独立性(Device Independence)的概念 即:应用程序独立于具体使用的物理设备。
逻辑设备和物理设备这两个概念。 请求时使用逻辑设备名称;实际执行时使用物理设备名称。 系统须具有将逻辑设备名称转换为物理设备名称的功能。
42
在实现了设备独立性的功能后,可带来以下两方面的好处。
1) 设备分配时的灵活性 避免了因指定物理设备,可能已被用,而不能用同类空闲设备。 2) 易于实现I/O重定向 不必改应用程序,便可实现设备重定向,如屏幕输出转为打印输出。
43
2. 设备独立性软件 ( 在驱动程序上的一层软件)
1) 执行所有设备的公有操作 ① 对独立设备的分配与回收; ② 将逻辑设备名映射为物理设备名,进一步可以找到相应物理设备的驱动程序; ③ 对设备进行保护,禁止用户直接访问设备; ④ 缓冲管理,即设备的缓冲区进行有效的管理,以提高I/O的效率; ⑤ 差错控制。绝大多数错误主要由设备驱动程序处理,而设备独立性软件只处理那些设备驱动程序无法处理的错误。
44
2) 向用户层(或文件层)软件提供统一接口
无论何种设备, 它们向用户所提供的接口应该是相同的。 例如, 对各种设备的读操作,在应用程序中都使用read; 而对各种设备的写操作,也都使用write。
45
2) LUT(Logic Unit Table)的设置问题
3. 逻辑设备名到物理设备名映射的实现 逻辑设备表 2) LUT(Logic Unit Table)的设置问题 一个进程一个LUT(多用户) 整个系统一个LUT(单用户) 图 5-18 逻辑设备表
46
5.4.4 独占设备的分配程序 1. 基本的设备分配程序 分配设备
请求物理设备名→ 查系统设备表SDT → 查DCT → 忙否→ 忙,挂入设备队列;不忙,安全计算→安全则分配→ 不安全则等待。 2) 分配控制器 找DCT → 与之相联的控制器的COCT → 忙否→ 忙则等;不忙则分配。 3) 分配通道 找与之相联的通道的CHCT → 忙否→ 忙则等;不忙则分配。 只有设备、控制器、通道都分配成功,设备才算分配成功。
47
2. 设备分配程序的改进 增加设备的独立性 使用逻辑设备请求,从SDT找第一类该设备的DCT,若忙找第二类同类设备,所有都忙时挂入等待队列。 2) 考虑多通路情况 通道和控制器可多路选择,即若与设备相联的第一个控制器(通道)忙时,找第二个控制器(通道) 。
48
5.4.5 SPOOLing技术 1. 什么是SPOOLing 脱机输入、 脱机输出技术:即利用专门的外围控制机,脱机输入、 输出功能。
此时的外围操作与CPU对数据的处理同时进行 我们把这种在联机情况下实现的同时外围操作称为SPOOLing(Simultaneaus Periphernal Operating On-Line),或称为假脱机操作。模拟外围控制机脱机输入、 输出功能。
49
2. SPOOLing系统的组成 图 5-19 SPOOLing系统的组成
50
输入井和输出井:在磁盘中两大存储空间,输入井是模拟脱机输入时的磁盘暂存IO设备输入的数据;输出井是模拟脱机输出时的磁盘,存放模拟应用程序的输出数据。
输入缓冲区和输出缓冲区:在内存,输入缓冲区是暂存输入设备送来的数据,再传送到输入井;输出缓冲区是暂存从输出井送来的数据,再送给输出设备。 输入进程SPi和输出进程SPo:输入进程SPi模拟脱机IO输入时的外围控制机,将用户要求的数据从输入机通过输入缓冲区再送到输入井;输出进程SPo 模拟脱机IO输出时的外围控制机,把用户要求输出的数据先从内存送到输出井,待输出设备空闲时,再从输出井的数据经输出缓冲区送到输出设备上。
51
打印机空闲时,从请求打印队列取出一张表,从输出井中传送数据到输出缓冲区中,打印。
3. 共享打印机 请求打印输出时, SPOOLing系统同意为它打印输出,但并不真正分配打印机,而只为它做两件事: ① 由输出进程在输出井中为之申请一个空闲磁盘块区, 并将要打印的数据送入其中; ② 输出进程再为用户进程申请一张空白的用户请求打印表,并将用户的打印要求填入其中, 再将该表挂到请求打印队列上。 打印机空闲时,从请求打印队列取出一张表,从输出井中传送数据到输出缓冲区中,打印。
52
4. SPOOLing系统的特点 提高了I/O的速度。 (2) 将独占设备改造为共享设备。 (3) 实现了虚拟设备功能。
53
5.5 设 备 处 理 5.5.1 设备驱动程序的功能和特点 1. 设备驱动程序的功能
5.5 设 备 处 理 5.5.1 设备驱动程序的功能和特点 1. 设备驱动程序的功能 (1) 接收由I/O进程发来的命令和参数,并将命令中的抽象要求转换为具体要求,例如,将磁盘块号转换为磁盘的盘面、 磁道号及扇区号。 (2) 检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式。
54
(3) 发出I/O命令,如果设备空闲,便立即启动I/O设备;如果设备忙,则挂在设备请求队列上等待。
(4) 及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应的中断处理程序进行处理。 (5) 对于设置有通道的计算机系统,驱动程序还应能够根据用户的I/O请求,自动地构成通道程序。
55
2. 设备处理方式 各个操作系统方式不同,可分为三类: (1) 为每一类设备设置一个进程,专门用于执行这类设备的I/O操作 。
(2) 在整个系统中设置一个I/O进程,专门用于执行系统中所有各类设备的I/O操作。 (3) 不设置专门的设备处理进程,而只为各类设备设置相应的设备处理程序(模块), 供用户进程或系统进程调用。
56
(1) 驱动程序主要是指在请求I/O的进程与设备控制器之间的一个通信和转换程序。(把请求传给控制器,把状态传给控制器)
3. 设备驱动程序的特点 (1) 驱动程序主要是指在请求I/O的进程与设备控制器之间的一个通信和转换程序。(把请求传给控制器,把状态传给控制器) (2) 驱动程序与设备控制器、I/O设备的硬件特性紧密相关, 因而对不同类型的设备应配置不同的驱动程序。(不同厂家) (3) 驱动程序与I/O设备所采用的I/O控制方式紧密相关。(如中断方式,DMA方式) (4) 由于驱动程序与硬件紧密相关, 因而其中的一部分必须用汇编语言书写。
57
5.5.2 设备驱动程序的处理过程 将抽象要求转换为具体要求(如将盘块号→磁头数、磁道数、扇区)
2. 检查I/O请求的合法性(如试图从打印机输入,试图写只读的数据 ) 3. 读出和检查设备的状态 (检查是否处于接收就绪状态) 4. 传送必要的参数 (如传送的字节数,及内存首址) 5. 工作方式的设置 (同步,异步) 6. 启动I/O设备
58
5.5.3 中断处理程序中的处理过程 1、唤醒被阻塞的驱动(程序)进程 2、保护被中断的进程的CPU环境 3、转入相应的设备中断处理程序
5.5.3 中断处理程序中的处理过程 1、唤醒被阻塞的驱动(程序)进程 2、保护被中断的进程的CPU环境 3、转入相应的设备中断处理程序 4、中断处理 (正常中断则向控制器发出新命令或结束,异常中断则作终止处理) 5、恢复被中断的进程现场
59
图 5-20 中断现场保护示意图
60
图 5-21 中断处理流程
61
5.6 磁盘存储器管理 5.6.1 磁盘性能简述 1、每条磁道上可存储相同数目的二进制位 2、内层磁道的密度较外层磁道的密度高
5.6 磁盘存储器管理 5.6.1 磁盘性能简述 1、每条磁道上可存储相同数目的二进制位 2、内层磁道的密度较外层磁道的密度高 3、温盘每条磁道分为30个扇区,每个扇区600个字节,512个字节存数据,其余存控制信息。 4、磁盘存数据之前,必须先格式化。
62
每个扇区包括两个字段: 1、标识符字段: 利用磁道号、磁头及扇区号来标识一个扇区;CRC用于段校验。 2、数据字段。 SYNCH Byte:定界符; Data:数据 CRC:校验码
63
1. 数据的组织和格式 图 5-22 磁盘的格式化 Synch Byte:定界符
64
2. 磁盘的类型 1) 固定头磁盘 这种磁盘在每条磁道上都有一读/写磁头,有效地提高了磁盘的I/O速度。 这种结构的磁盘主要用于大容量磁盘上。 2) 移动头磁盘 每一个盘面仅配有一个磁头,也被装入磁臂中。磁头必须能移动以进行寻道。速度较慢,但由于其结构简单,故仍广泛应用于中小型磁盘设备中。
65
其中s为启动磁臂的时间, n为磁头移动磁道数
3. 磁盘访问时间 1) 寻道时间Ts 指把磁臂(磁头)移动到指定磁道上所经历的时间。 Ts=m×n+s, 其中s为启动磁臂的时间, n为磁头移动磁道数 ,m是一常数,与磁盘驱动器的速度有关,对一般磁盘, m=0.2;对高速磁盘,m≤0.1,磁臂的启动时间约为2 ms。 其寻道时间将随寻道距离的增加而增大,大体上是5~30 ms。
66
2) 旋转延迟时间Tτ 指定扇区移动到磁头下面所经历的时间。 对于硬盘,典型的旋转速度大多为5400 r/min,每转需时11.1 ms,平均旋转延迟时间Tτ为5.55 ms;
67
3) 传输时间Tt 数据从磁盘读出或向磁盘写入数据所经历的时间。 Tt的大小与每次所读/写的字节数b和旋转速度有关: 其中,r为磁盘每秒钟的转数;N为一条磁道上的字节数, 访问时间Ta表示为: Ta = Ts + Tτ + Tt
68
5.6.2 磁盘调度 1. 先来先服务FCFS(First-Come, First Served) 图 5-23 FCFS调度算法
磁盘调度 1. 先来先服务FCFS(First-Come, First Served) 1、按进程请求访问磁道的先后次序调度 2、公平、简单,不会长时间请求得不到满足 3、未对寻道优化 图 5-23 FCFS调度算法
69
2. 最短寻道时间优先SSTF(Shortest Seek Time First)
1、访问与当前磁头最近的磁道。 2、每次寻道时间最短,但不能保证平均寻寻道时间最短。 图 5-24 SSTF调度算法
70
3. 扫描(SCAN)算法 1) 进程“饥饿”现象 SSTF算法可能导致某个进程发生“饥饿”(Starvation)现象。 因为只要不断有新的、且其所要访问的磁道与磁头当前所在磁道的距离较近进程的请求到达 解决访求:SCAN算法。
71
2) SCAN算法 1、考虑欲访问磁道与当前磁道的距离,也考虑当前磁头移动方向。 2、也叫电梯调度算法 图 5-25 SCAN调度算法示例
72
4. 循环扫描(CSCAN)算法 图 5-26 CSCAN调度算法示例 磁头单向读写
73
5. N-Step-SCAN和FSCAN调度算法
在以上算法中会出现磁臂粘着, 即:一些进程反复请求对某一磁道的I/O操作。 在高密度磁盘上容易出现此情况。 N步SCAN算法是将磁盘请求队列分成若干个长度为N的子队列,子队列之间按FCFS算法调度, 队列内部按SCAN算法调度。 出现新的磁盘I/O请求,将新请求进程放入其他队列。 当N值取得很大时,接近于SCAN算法; 当N=1时, N步SCAN算法便蜕化为FCFS算法。
74
2) FSCAN算法 FSCAN算法实质上是N步SCAN算法的简化, 即FSCAN只将磁盘请求队列分成两个子队列。 当前所有请求磁盘I/O的进程形成的队列,按SCAN算法进行处理。 新出现的所有请求磁盘I/O的进程, 放入另一个等待处理的请求队列。
75
5.6.3 磁盘高速缓存(Disk Cache) 1. 磁盘高速缓存的形式 定义:利用内存中的存储空间,来暂存从磁盘中读出的盘块中的信息。
高速缓存是一组在逻辑上属于磁盘, 而物理上是驻留在内存中的盘块。 高速缓存在内存中可分成两种形式。 第一种是内存单独的存储空间,其大小固定; 第二种是把所有未利用的内存空间变为缓冲池,大小不固定。 当磁盘I/O操作频繁时,大一些;而在应用程序运行得较多时,小一些。
76
数据交付:将磁盘Cache中的数据传送给请求进程的。
2. 数据交付方式 数据交付:将磁盘Cache中的数据传送给请求进程的。 系统可以采取两种方式, 将数据交付给请求进程: (1) 数据交付。这是直接将高速缓存中的数据,传送到请求者进程的内存工作区中。 (2) 指针交付。只将指向高速缓存中某区域的指针, 交付给请求者进程。 后一种方式由于所传送的数据量少,因而节省了数据从磁盘高速缓存到进程的内存工作区的时间。
77
除了考虑到最近最久未使用、最近未使用、最少使用原则外, 还考虑了以下几点:
3. 置换算法(Cache满时须置换) 除了考虑到最近最久未使用、最近未使用、最少使用原则外, 还考虑了以下几点: (1) 访问频率。 指令执行频率高,则对磁盘Cache的访问频率也高 (2) 可预见性。 可预见哪些数据可能被再访问,如:刚写入数据而未满的,可能再被访问。 (3) 数据的一致性。 高速缓存中的数据易因断电而丢失,引起与磁盘不一致。
78
4. 周期性地写回磁盘 在UNIX系统强制性地每隔30 s将所有在高速缓存中已修改的盘块数据写回磁盘。 在MS-DOS中,只要高速缓存中的某盘块数据被修改,便立即将它写回磁盘,几乎不会丢失数据,但须频繁地启动磁盘。
79
5.6.4 提高磁盘I/O速度的其它方法 提前读(Read-Ahead) 读当前块时,将顺序的下一块也读入Cache (用于顺序访问)
2. 延迟写 将本应立即回写的Cache ,挂在空闲Cache队列尾,直到移到队首时,才回写。 3. 优化物理块的分布 文件分配盘块时,尽可能分配在同一或相邻磁道,避免磁头移动过长。以簇为单位分配。 4. 虚拟盘 利用内存空间去仿真磁盘,RAM盘。因易失性只用于放临时文件。虚拟盘由用户控制,磁盘Cache由OS控制。
80
5.6.5 廉价磁盘冗余阵列 1. 并行交叉存取 图 5-27 磁盘并行交叉存取方式
81
2. RAID的分级 RAID 0级。(并行存取,但无冗余) (2) RAID 1级。 (并行存取,镜像,如8个磁盘,4个并行,4个镜像) (3) RAID 3级。 (并行存取,一台奇偶校验盘) (4) RAID 5级。 (并行存取,奇偶位分布在N个盘中) (5) RAID 6级和RAID 7级。
82
3. RAID的优点 可靠性高。(镜像、冗余。根据未损信息恢复。) (2) 磁盘I/O速度高。 (并行交叉存取) (3) 性能/价格比高。 (以容量换性能,相比于大容量磁盘,性价比高)
83
设某作业占有7个页面,如果在主存中只允许装入4个工作页面(即工作集为4),作业运行时,实际访问页面的顺序是1, 2, 3, 6, 4, 7, 3, 2, 1, 4, 7, 5, 6, 5, 2, 1。试用FIFO与LRU页面调度算法,列出各自的页面淘汰顺序和缺页中断次数,以及最后留驻主存4页的顺序。(假设开始的4个页面已装入主存)
84
磁盘请求以10,22,20,2,40,6,38柱面的次序到达磁盘驱动器。寻道时每个柱面移动需要6ms,则采用先到先服务算法的寻道时间为__________;采用电梯算法(起始移动方向向外)的寻道时间为__________。(假设磁头开始位置在柱面20)
Similar presentations