当前位置:文档之家› 第6章设备管理(2)

第6章设备管理(2)


图 5-14 循环缓冲 2015-1-26
6.7.4 缓冲池
循环缓冲区一般用于特定的进程,属于专用缓 冲区,当系统较大时,将会有许多这样的环 形缓冲区,这不仅要消耗大量的内存空间, 利用率也不高。 为了提高缓冲区的利用率,目前广泛流行公用 缓冲池,池中的缓冲区可供多个进程共享。
2015-1-26
17
23

2015-1-26
பைடு நூலகம்
缓冲技术中的缓冲池在____中.
A、内存 B、外存 C、ROM D、寄存器
如果I/O所花费的时间比CPU处理时间短得多 的话,则缓冲区____. A、最有效 B、几乎无效 C、均衡 D、以上都不是

2015-1-26
24
操作系统中采用缓冲技术的目的是为了增强系
统()能力;为了使多个进程能有效地同时
2015-1-26 4
常用的缓冲技术
1、单缓冲 2、双缓冲 3、环形缓冲 4、缓冲池
2015-1-26
5
6.7.2 单缓冲
最简单的一种缓冲形式。当进程发出一I/O请求 时,OS为之分配一缓冲区。 对于输入:设备先将数据送入缓冲区,OS再将 数据传给进程。 对于输出:进程先将数据传入缓冲区,OS再将 数据送出到设备。
Procedure Getbuf(type) begin
Wait(RS(type));
Wait(MS(type)); B(number) ∶=Takebuf(type);
Signal(MS(type));
end Procedure Putbuf(type, number) begin Wait(MS(type)); Addbuf(type, number); Signal(MS(type));
区的时间T为100us,将缓冲区中的数据传送到用户
区的时间M为50us,而CPU对这一块数据进行计算
的时间C为50us。这样,系统对每一块数据的处理
时间为 () ;如果将单缓冲改为双缓冲,则系统对每
一块数据的处理时间为()

A、50us B、100us C、150us D、200us E、250us
1位缓冲 8位缓冲寄存器
(b )
9 .6 Kb /s
送内存 8位缓冲寄存器
(c)
9 .6 Kb /s
送内存
图 5-10 利用缓冲寄存器实现缓冲
2015-1-26 3
#如用一位缓冲来接收,则必须在每收到一位数 据时便中断一次CPU,并在下一位数据到来之 前要求CPU进行中断处理以取走输入数据 #若设一个8位的缓冲,则可每收8位数据中断一 次 CPU ,但在第 9 位数据到来之前仍必须完成 中断处理 #若再增加8位的缓冲,则可每收8位数据中断一 次CPU,并允许CPU在下8位数据到来期间处理 前8位数据的中断。
6 00 Bytes/Secto r Syn ch Track By te # By tes 1 2 Head Sector CRC # # 1 1 3 Syn ch Data By te 1 5 12 CRC 2
图 5-22 磁盘的格式化
2015-1-26
37
磁盘的类型

常见的分类有: 硬盘和软盘 单片盘和多片盘 固定头磁盘和活动头磁盘
2015-1-26 12

2015-1-26
13
1. 环形缓冲的组成 多个缓冲区(R,G,C) 多个指针
Nex ti R 1 G G 6 5 4 G 2 3 R G Nex tg G G 6 5 4 G Nex tg
14 2015-1-26
Nex ti R 1 2 3 R C curren t
2015-1-26
35
磁盘的格式化


温盘中一条磁道格式化的情况。每条磁道含 有30个固定大小的扇区,每个扇区容量为600 个字节,其中512个字节存放数据,其余用作 存放控制信息。每个扇区包括两个字段: 标识符字段 数据字段
2015-1-26
36
磁盘的格式化
Sector Phy sical Sector 0 Phy sical Sector 1 Phy sical Sector 29 ID Data ID Data Gap Field Gap Field Gap Gap Field Gap Field Gap 1 0 2 0 3 1 29 2 29 3 By tes 17 7 4 1 5 15 2 0 1 7 7 4 1 5 15 2 0 ID Data Gap Field Gap Field Gap 1 29 2 29 3 17 7 4 1 5 15 2 0
26
6.8 磁盘存储器管理
目前,几乎所有随机存取的文件,都是 存放在磁盘上,磁盘I/O速度的高低将直接 影响文件系统的性能。
2015-1-26
27
6.8.1 磁盘性能简述



磁盘设备可包括一或多个盘片,每片分为两 面,每面可分成若干条磁道,各磁道之间留 有必要的间隙,每条磁道上可存储相同数目 的二进制位。 磁盘密度:每英寸中所存储的位数,显然而 内层磁道的密度较外层磁道的密度高。 每条磁道又分成若干个扇区,每个扇区的大 小相当于一个盘块,各扇区之间也保留一定 的间隙。
Signal(RS(type));
end
2015-1-26 20
3. 缓冲区的工作方式
收容输入;提取输入;收容输出;提取输出
缓冲池 收容输入 提取输出 h in sou t sin h ou t 提取输入 收容输出 用户 程序
图 5-15 缓冲区的工作方式
2015-1-26 21

在利用RS-232接口进行通信时,其通信速率
(a ) 单缓冲
2015-1-26
10
6.7.3 环形缓冲技术
当生产和消费数据的速度基本匹配时, 双缓冲能获得较好效果。但若两者速度相差 甚远时,效果不太理想。但随着缓冲区的数 量增加,使情况有所改善。因此引入环形缓 冲技术。
2015-1-26
11
环形缓冲技术是在主存中分配一组大小相等的 存储区作为缓冲区,并将这些缓冲区链接起 来。 系统中有个缓冲区链首指针,指向第一个缓冲 区,每个缓冲区中有一个指向下一个缓冲区 的指针,最后一个缓冲区中的指针指向第一 个缓冲区,从而形成循环缓冲区链。如图所 示。系统可循环使用这些缓冲区。环形缓冲 区用于输入 ( 输出 ) 时,还要有两个指针 IN 和 OUT。
2015-1-26 1
#减少对CPU中断频率,放宽对CPU中断的响应时 间的限制。例(p209) #解决数据粒度不匹配的问题。 #为了提高CPU与外设的并行程度 缓冲的引入可显著的提高 CPU 和 I/P 设备间的 并行操作程度,提高系统在吞吐量和设备的 利用率。
2015-1-26
2
(a )
9 .6 Kb /s
#对于字符设备,若采用行输入方式,则采用双缓 冲通常能消除用户的等待时间,即用户在输入 完第一行后,在 CPU 执行第一行中的命令时, 用户可继续向第二缓冲区输入下一行数据 #双向通信(P211)
A机 B机 A机 发送 缓冲区 B机 接收 缓冲区
缓冲区
缓冲区
接收 缓冲区 (b ) 双缓冲
发送 缓冲区
为 9.6kb/s(b 为 bit) 。如果在通信接口中仅设
置了一个8位寄存器作为缓冲寄存器,这意味
着大约每隔()的时间便要中断一次 CPU , 且要求CPU必须在()时间内予以响应。

A、80us B、0.1ms C、0.8ms D、1ms E、8ms
2015-1-26 22


假定把磁盘上一个数据块中的信息输入到一单缓冲
3.进程同步
(1) Nexti指针追赶上Nextg指针。系统受计算限制 (2) Nextg指针追赶上Nexti指针。 系统受I/O限制
Nex ti R 1 G G 6 5 4 G 2 3 R G Nex tg G G 6 5 4 G Nex tg
16
Nex ti R 1 2 3 R C curren t
2015-1-26 28
侧视图
扇区
磁臂
柱面
磁头
2015-1-26
29
俯视图
扇区
磁道
2015-1-26 30
柱面、磁头、扇区


信息记录在磁道上,多个盘片,正反两面都 用来记录信息,每面一个磁头 所有盘面中处于同一磁道号上的所有磁道组 成一个柱面 物理地址形式: 柱面号(磁道号) 磁头号 扇区号
图 5-14 循环缓冲
2. 环形缓冲的使用
Getbuf过程 Releasebuf过程
Nex ti R 1 G G 6 5 4 G 2 3 R G Nex tg G G 6 5 4 G Nex tg R 1 2 3 R C curren t Nex ti
图 5-14 循环缓冲
2015-1-26 15
2015-1-26 31

柱面、磁头、扇区
2015-1-26
32
柱面、磁头、扇区
2015-1-26
33
典型参数



20G: 39813 柱面 16 头 63 扇区 60G: 28733 柱面 16 头 255 扇区
2015-1-26 34
磁盘的格式化

温盘:IBM公司推出的Winchester(温氏)硬 盘,它的特点是:“工作时,磁头悬浮在高 速转动的盘片上方,而不与盘片直接接触。 使用时,磁头沿高速旋转的盘片上做径向移 动”,这便是现在所有硬盘的雏形。今天高 端硬盘容量虽然高达上百GB,但它却仍然没 有脱离“温彻斯特”的动作模式。
6.7.4 缓冲池
缓冲池由内存中一组大小相等的缓冲区组成, 池中各缓冲区的大小与用于I/O的设备的基本 信息单位相似,缓冲池属于系统资源,由系 统进行管理。 缓冲池中各缓冲区可用于输出信息,也可用于 输入信息,并可根据需要组成各种缓冲区队 列。
相关主题