第6章设备管理(2)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2015-1-26 8
双缓冲技术
对于一块数据的处理时间约为Max(C,T)
用户进程 缓冲区1 (a ) 工作区 缓冲区2 I/O 设备
T1 (缓冲 1 ) (b ) M1 C1
T2 (缓冲 2 ) M2 C2
T3 (缓冲 3 ) M3 C3
T4 (缓冲 4 ) M4 C4
2015-1-26
9
双缓冲技术
2015-1-26 4
常用的缓冲技术
1、单缓冲 2、双缓冲 3、环形缓冲 4、缓冲池
2015-1-26
5
6.7.2 单缓冲
最简单的一种缓冲形式。当进程发出一I/O请求 时,OS为之分配一缓冲区。 对于输入:设备先将数据送入缓冲区,OS再将 数据传给进程。 对于输出:进程先将数据传入缓冲区,OS再将 数据送出到设备。
26
6.8 磁盘存储器管理
目前,几乎所有随机存取的文件,都是 存放在磁盘上,磁盘I/O速度的高低将直接 影响文件系统的性能。
2015-1-26
27
6.8.1 磁盘性能简述
磁盘设备可包括一或多个盘片,每片分为两 面,每面可分成若干条磁道,各磁道之间留 有必要的间隙,每条磁道上可存储相同数目 的二进制位。 磁盘密度:每英寸中所存储的位数,显然而 内层磁道的密度较外层磁道的密度高。 每条磁道又分成若干个扇区,每个扇区的大 小相当于一个盘块,各扇区之间也保留一定 的间隙。
处理输入和输出,最好使用()
A、串行操作 B、并行操作 C、控制操作D、 中断操作
A、缓冲池 B、单缓冲 C、双缓冲 D、循环缓冲
引入缓冲区能使 CPU与I/O设备之间速度不匹 配的情况得到改善,但并不能减少设备中断 CPU的次数。 ( )
2015-1-26 25
2011
2013
2015-1-26
用户进 程 (a ) 处理(C ) 工作区 传送(M) 缓冲区 输入(T) I/O设备
T1 (b ) M1
T2 M2 C1
T3 M3 C2
T4
C3 t
2015-1-26
7
双缓冲技术
为了加快输入输出速度,引入双缓冲技术。 原理:设置两个缓冲区buf1和buf2。读入数据 时,首先输入设备向buf1填入数据,然后进 程从buf1提取数据,在进程从buf1提取数据 的同时。输入设备向buf2中填数据。当buf1 取空时,进程又从buf2中提取数据,与此同 时输入设备向buf1填数。如此交替使用两个 缓冲区,使CPU和设备的并行操作的程度进 一步提高。
为 9.6kb/s(b 为 bit) 。如果在通信接口中仅设
置了一个8位寄存器作为缓冲寄存器,这意味
着大约每隔()的时间便要中断一次 CPU , 且要求CPU必须在()时间内予以响应。
A、80us B、0.1ms C、0.8ms D、1ms E、8ms
2015-1-26 22
假定把磁盘上一个数据块中的信息输入到一单缓冲
6.7 缓冲管理
6.7.1缓冲的引入 缓冲技术的主要原因是: #缓和CPU与I/O设备间速度不匹配的矛盾。 计算机系统中的各种设备 ( 包括中央处理机 ) 的运行速度差异甚大,CPU的运行速度是以微 秒甚至以纳秒计,而设备的运行速度则是以 毫秒甚至以秒计;(速度的差异) 事实上,凡在数据到达速率与其离去速率不 同的地方,都可设置缓冲区,以缓和它们之 间的速率不匹配的矛盾。
2015-1-26
38
磁盘的类型
固定头磁盘:每个磁道设置一个磁头,变换 磁道时不需要磁头的机械移动,速度快但成 本高 移动头磁盘:一个盘面只有一个磁头,变换 磁道时需要移动磁头,速度慢但成本低
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
磁盘的类型
常见的分类有: 硬盘和软盘 单片盘和多片盘 固定头磁盘和活动头磁盘
队列,既用于输入,也用于输出。它是多缓冲的一
种变异,以避免缓冲区使用上忙闲不均的现象。
缓冲Hale Waihona Puke Baidu组成:
3类缓冲区,3个队列和4种工作缓冲区。
无论现在用于输入的还是用于输出的,它们在用完
后,都归还到空闲的缓冲区队列中,受系统的统一
管理和调配。
2015-1-26 19
2. Getbuf过程和Putbuf过程 (互斥与同步)
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));
6.7.4 缓冲池
缓冲池由内存中一组大小相等的缓冲区组成, 池中各缓冲区的大小与用于I/O的设备的基本 信息单位相似,缓冲池属于系统资源,由系 统进行管理。 缓冲池中各缓冲区可用于输出信息,也可用于 输入信息,并可根据需要组成各种缓冲区队 列。
2015-1-26
18
缓冲池:系统为同类型的I/O设备设置一个公共缓冲
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位数据的中断。
23
2015-1-26
缓冲技术中的缓冲池在____中.
A、内存 B、外存 C、ROM D、寄存器
如果I/O所花费的时间比CPU处理时间短得多 的话,则缓冲区____. A、最有效 B、几乎无效 C、均衡 D、以上都不是
2015-1-26
24
操作系统中采用缓冲技术的目的是为了增强系
统()能力;为了使多个进程能有效地同时
2015-1-26 1
#减少对CPU中断频率,放宽对CPU中断的响应时 间的限制。例(p209) #解决数据粒度不匹配的问题。 #为了提高CPU与外设的并行程度 缓冲的引入可显著的提高 CPU 和 I/P 设备间的 并行操作程度,提高系统在吞吐量和设备的 利用率。
2015-1-26
2
(a )
9 .6 Kb /s
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
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
区的时间T为100us,将缓冲区中的数据传送到用户
区的时间M为50us,而CPU对这一块数据进行计算
的时间C为50us。这样,系统对每一块数据的处理
时间为 () ;如果将单缓冲改为双缓冲,则系统对每
一块数据的处理时间为()
A、50us B、100us C、150us D、200us E、250us
#对于字符设备,若采用行输入方式,则采用双缓 冲通常能消除用户的等待时间,即用户在输入 完第一行后,在 CPU 执行第一行中的命令时, 用户可继续向第二缓冲区输入下一行数据 #双向通信(P211)
A机 B机 A机 发送 缓冲区 B机 接收 缓冲区
缓冲区
缓冲区
接收 缓冲区 (b ) 双缓冲
发送 缓冲区
(a ) 单缓冲
2015-1-26
10
6.7.3 环形缓冲技术
当生产和消费数据的速度基本匹配时, 双缓冲能获得较好效果。但若两者速度相差 甚远时,效果不太理想。但随着缓冲区的数 量增加,使情况有所改善。因此引入环形缓 冲技术。
2015-1-26
11
环形缓冲技术是在主存中分配一组大小相等的 存储区作为缓冲区,并将这些缓冲区链接起 来。 系统中有个缓冲区链首指针,指向第一个缓冲 区,每个缓冲区中有一个指向下一个缓冲区 的指针,最后一个缓冲区中的指针指向第一 个缓冲区,从而形成循环缓冲区链。如图所 示。系统可循环使用这些缓冲区。环形缓冲 区用于输入 ( 输出 ) 时,还要有两个指针 IN 和 OUT。
图 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,但它却仍然没 有脱离“温彻斯特”的动作模式。
图 5-14 循环缓冲 2015-1-26
6.7.4 缓冲池
循环缓冲区一般用于特定的进程,属于专用缓 冲区,当系统较大时,将会有许多这样的环 形缓冲区,这不仅要消耗大量的内存空间, 利用率也不高。 为了提高缓冲区的利用率,目前广泛流行公用 缓冲池,池中的缓冲区可供多个进程共享。
2015-1-26
17
2015-1-26 28
侧视图
扇区
磁臂
柱面
磁头
2015-1-26
29
俯视图
扇区
磁道
2015-1-26 30
柱面、磁头、扇区
信息记录在磁道上,多个盘片,正反两面都 用来记录信息,每面一个磁头 所有盘面中处于同一磁道号上的所有磁道组 成一个柱面 物理地址形式: 柱面号(磁道号) 磁头号 扇区号
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
6
单缓冲:只为设备设置一个缓冲区的情形称为 “单缓冲”。图是单缓冲的工作示意,它表示产 生数据者(即生产者)不是把数据直接送给接收 数据者(即接收者),而是把数据送入到所设置 的缓冲区中。接收数据者总是从缓冲区中去取所 需要的数据。 对于块设备:系统处理时间为MAX(C,T)+M
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接口进行通信时,其通信速率
双缓冲技术
对于一块数据的处理时间约为Max(C,T)
用户进程 缓冲区1 (a ) 工作区 缓冲区2 I/O 设备
T1 (缓冲 1 ) (b ) M1 C1
T2 (缓冲 2 ) M2 C2
T3 (缓冲 3 ) M3 C3
T4 (缓冲 4 ) M4 C4
2015-1-26
9
双缓冲技术
2015-1-26 4
常用的缓冲技术
1、单缓冲 2、双缓冲 3、环形缓冲 4、缓冲池
2015-1-26
5
6.7.2 单缓冲
最简单的一种缓冲形式。当进程发出一I/O请求 时,OS为之分配一缓冲区。 对于输入:设备先将数据送入缓冲区,OS再将 数据传给进程。 对于输出:进程先将数据传入缓冲区,OS再将 数据送出到设备。
26
6.8 磁盘存储器管理
目前,几乎所有随机存取的文件,都是 存放在磁盘上,磁盘I/O速度的高低将直接 影响文件系统的性能。
2015-1-26
27
6.8.1 磁盘性能简述
磁盘设备可包括一或多个盘片,每片分为两 面,每面可分成若干条磁道,各磁道之间留 有必要的间隙,每条磁道上可存储相同数目 的二进制位。 磁盘密度:每英寸中所存储的位数,显然而 内层磁道的密度较外层磁道的密度高。 每条磁道又分成若干个扇区,每个扇区的大 小相当于一个盘块,各扇区之间也保留一定 的间隙。
处理输入和输出,最好使用()
A、串行操作 B、并行操作 C、控制操作D、 中断操作
A、缓冲池 B、单缓冲 C、双缓冲 D、循环缓冲
引入缓冲区能使 CPU与I/O设备之间速度不匹 配的情况得到改善,但并不能减少设备中断 CPU的次数。 ( )
2015-1-26 25
2011
2013
2015-1-26
用户进 程 (a ) 处理(C ) 工作区 传送(M) 缓冲区 输入(T) I/O设备
T1 (b ) M1
T2 M2 C1
T3 M3 C2
T4
C3 t
2015-1-26
7
双缓冲技术
为了加快输入输出速度,引入双缓冲技术。 原理:设置两个缓冲区buf1和buf2。读入数据 时,首先输入设备向buf1填入数据,然后进 程从buf1提取数据,在进程从buf1提取数据 的同时。输入设备向buf2中填数据。当buf1 取空时,进程又从buf2中提取数据,与此同 时输入设备向buf1填数。如此交替使用两个 缓冲区,使CPU和设备的并行操作的程度进 一步提高。
为 9.6kb/s(b 为 bit) 。如果在通信接口中仅设
置了一个8位寄存器作为缓冲寄存器,这意味
着大约每隔()的时间便要中断一次 CPU , 且要求CPU必须在()时间内予以响应。
A、80us B、0.1ms C、0.8ms D、1ms E、8ms
2015-1-26 22
假定把磁盘上一个数据块中的信息输入到一单缓冲
6.7 缓冲管理
6.7.1缓冲的引入 缓冲技术的主要原因是: #缓和CPU与I/O设备间速度不匹配的矛盾。 计算机系统中的各种设备 ( 包括中央处理机 ) 的运行速度差异甚大,CPU的运行速度是以微 秒甚至以纳秒计,而设备的运行速度则是以 毫秒甚至以秒计;(速度的差异) 事实上,凡在数据到达速率与其离去速率不 同的地方,都可设置缓冲区,以缓和它们之 间的速率不匹配的矛盾。
2015-1-26
38
磁盘的类型
固定头磁盘:每个磁道设置一个磁头,变换 磁道时不需要磁头的机械移动,速度快但成 本高 移动头磁盘:一个盘面只有一个磁头,变换 磁道时需要移动磁头,速度慢但成本低
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
磁盘的类型
常见的分类有: 硬盘和软盘 单片盘和多片盘 固定头磁盘和活动头磁盘
队列,既用于输入,也用于输出。它是多缓冲的一
种变异,以避免缓冲区使用上忙闲不均的现象。
缓冲Hale Waihona Puke Baidu组成:
3类缓冲区,3个队列和4种工作缓冲区。
无论现在用于输入的还是用于输出的,它们在用完
后,都归还到空闲的缓冲区队列中,受系统的统一
管理和调配。
2015-1-26 19
2. Getbuf过程和Putbuf过程 (互斥与同步)
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));
6.7.4 缓冲池
缓冲池由内存中一组大小相等的缓冲区组成, 池中各缓冲区的大小与用于I/O的设备的基本 信息单位相似,缓冲池属于系统资源,由系 统进行管理。 缓冲池中各缓冲区可用于输出信息,也可用于 输入信息,并可根据需要组成各种缓冲区队 列。
2015-1-26
18
缓冲池:系统为同类型的I/O设备设置一个公共缓冲
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位数据的中断。
23
2015-1-26
缓冲技术中的缓冲池在____中.
A、内存 B、外存 C、ROM D、寄存器
如果I/O所花费的时间比CPU处理时间短得多 的话,则缓冲区____. A、最有效 B、几乎无效 C、均衡 D、以上都不是
2015-1-26
24
操作系统中采用缓冲技术的目的是为了增强系
统()能力;为了使多个进程能有效地同时
2015-1-26 1
#减少对CPU中断频率,放宽对CPU中断的响应时 间的限制。例(p209) #解决数据粒度不匹配的问题。 #为了提高CPU与外设的并行程度 缓冲的引入可显著的提高 CPU 和 I/P 设备间的 并行操作程度,提高系统在吞吐量和设备的 利用率。
2015-1-26
2
(a )
9 .6 Kb /s
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
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
区的时间T为100us,将缓冲区中的数据传送到用户
区的时间M为50us,而CPU对这一块数据进行计算
的时间C为50us。这样,系统对每一块数据的处理
时间为 () ;如果将单缓冲改为双缓冲,则系统对每
一块数据的处理时间为()
A、50us B、100us C、150us D、200us E、250us
#对于字符设备,若采用行输入方式,则采用双缓 冲通常能消除用户的等待时间,即用户在输入 完第一行后,在 CPU 执行第一行中的命令时, 用户可继续向第二缓冲区输入下一行数据 #双向通信(P211)
A机 B机 A机 发送 缓冲区 B机 接收 缓冲区
缓冲区
缓冲区
接收 缓冲区 (b ) 双缓冲
发送 缓冲区
(a ) 单缓冲
2015-1-26
10
6.7.3 环形缓冲技术
当生产和消费数据的速度基本匹配时, 双缓冲能获得较好效果。但若两者速度相差 甚远时,效果不太理想。但随着缓冲区的数 量增加,使情况有所改善。因此引入环形缓 冲技术。
2015-1-26
11
环形缓冲技术是在主存中分配一组大小相等的 存储区作为缓冲区,并将这些缓冲区链接起 来。 系统中有个缓冲区链首指针,指向第一个缓冲 区,每个缓冲区中有一个指向下一个缓冲区 的指针,最后一个缓冲区中的指针指向第一 个缓冲区,从而形成循环缓冲区链。如图所 示。系统可循环使用这些缓冲区。环形缓冲 区用于输入 ( 输出 ) 时,还要有两个指针 IN 和 OUT。
图 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,但它却仍然没 有脱离“温彻斯特”的动作模式。
图 5-14 循环缓冲 2015-1-26
6.7.4 缓冲池
循环缓冲区一般用于特定的进程,属于专用缓 冲区,当系统较大时,将会有许多这样的环 形缓冲区,这不仅要消耗大量的内存空间, 利用率也不高。 为了提高缓冲区的利用率,目前广泛流行公用 缓冲池,池中的缓冲区可供多个进程共享。
2015-1-26
17
2015-1-26 28
侧视图
扇区
磁臂
柱面
磁头
2015-1-26
29
俯视图
扇区
磁道
2015-1-26 30
柱面、磁头、扇区
信息记录在磁道上,多个盘片,正反两面都 用来记录信息,每面一个磁头 所有盘面中处于同一磁道号上的所有磁道组 成一个柱面 物理地址形式: 柱面号(磁道号) 磁头号 扇区号
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
6
单缓冲:只为设备设置一个缓冲区的情形称为 “单缓冲”。图是单缓冲的工作示意,它表示产 生数据者(即生产者)不是把数据直接送给接收 数据者(即接收者),而是把数据送入到所设置 的缓冲区中。接收数据者总是从缓冲区中去取所 需要的数据。 对于块设备:系统处理时间为MAX(C,T)+M
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接口进行通信时,其通信速率