Cha10 设备管理要求掌握
I/O设备的分类
缓冲区的分类
磁盘调度算法
I/O设备类型
按传输速度分
– 低速设备
– 中速设备
– 高速设备
按信息交换单位分
– 块设备
– 字符设备
按共享属性分
– 独占设备
– 共享设备
– 虚拟设备设备和控制器的接口
I/O设备缓冲 转换器控制逻辑数据信号线状态信号线控制信号线信号数据设备控制器设备控制器的组成数据寄存器控制 /状态寄存器
I/O逻辑设备接口数据线地址线控制线 设备接口数据状态控制与 CPU接口 与设备接口缓冲的引入
缓和 CPU-外设的速度矛盾
减少中断频率
提高 CPU-外设并行程度
9.6kb/s
9.6kb/s
1位缓冲
8位缓冲缓冲区的种类
单缓冲
双缓冲
循环缓冲
缓冲池单缓冲 single buffer
工作区 缓冲区 外设输入 T传送 M
处理 C
用户进程
T1
M1
C1
T2
M2
C2
T3
M3
C3
数据处理时间= max(C,T)+M
双缓冲 double buffer
工作区缓冲区 1
外设用户进程
T1
M1
C1
T2
M2
C2
T1
数据处理时间= max(C+M,T)
缓冲区 1
A B
循环缓冲
R空缓冲
G满缓冲
C正在计算的缓冲
Nexti下个计算的缓冲
Nextg下个输入的缓冲
C正在计算的缓冲
R
R
C
G
G
G
nextg
nexti
current
循环缓冲的使用
Getbuf
– 计算进程获取一个缓冲
– 输入进程获取一个缓冲
Releasebuf
– 计算进程释放一个缓冲
– 输入进程释放一个缓冲? Nexti赶上 nextg
– 缓冲满
nextg赶上 nexti
– 缓冲空缓冲池
emq空缓冲队列
inq输入队列
outq输出队列
sin hin
hout sout
用户程序工作方式
收容输入
Getbuf(emq)
hin……
Putbuf(inq,hin)
提取输入
Getbuf(inq)
sin……
Putbuf(emq,sin)
收容输出
Getbuf(emq)
hout ……
Putbuf(inq,hout)
提取输出
Getbuf(inq)
sout ……
Putbuf(emq,sout)
SPOOLING系统的组成输入进程 SPi
输入缓冲区 Bi
输出进程 SPo
输出缓冲区 Bo 输出井输入井输入设备输出设备内存 磁盘系统特点
提高 I/O速度
将独占设备改造为共享设备
实现虚拟设备磁盘访问时间
寻道时间
旋转延迟时间
传输时间磁盘调度
先来先服务
最短寻道时间优先
扫描算法
循环扫描
N-step-scan和 fscan算法算法对比下个磁道 移动距离
55 45
58 3
39 19
18 21
90 72
160 70
150 10
38 112
184 146
平均 55.3
下个磁道 移动距离
90 10
58 32
55 3
39 16
38 1
18 20
150 132
160 10
184 24
平均 27.5
FCFS SSTF
算法对比下个磁道 移动距离
150 50
160 10
184 24
90 94
58 32
55 3
39 16
38 1
18 20
平均 27.8
下个磁道 移动距离
150 50
160 10
184 24
18 166
38 20
39 1
55 16
58 3
90 32
平均 27.5
SCAN CSCAN
磁盘高速缓存
访问频率
可预见性
数据的一致性周期性写回磁盘提高磁盘 I/O速度的其他方法
提前读
延迟写
优化物理块的分布
虚拟盘廉价磁盘冗余阵列 RAID
把一组物理磁盘驱动器看作单个逻辑盘
数据分布在驱动器阵列中
使用冗余容量保存校验信息
RAID0-RAID6? 可靠性高
磁盘 I/O速度高
性价比高
RAID0-无冗余
strip12
strip8
strip4
strip0
strip13
strip9
strip5
strip1
strip14
strip10
strip6
strip2
strip15
strip11
strip7
strip3
RAID1-镜像
strip12
strip8
strip4
strip0
strip13
strip9
strip5
strip1
strip14
strip10
strip6
strip2
strip15
strip11
strip7
strip3
strip12
strip8
strip4
strip0
strip13
strip9
strip5
strip1
strip14
strip10
strip6
strip2
strip15
strip11
strip7
strip3
RAID2- hamming码冗余
b0 b1 b2 b3 f0(b) f1(b) f2(b)
RAID3-交错位奇偶校验
b0 b1 b2 b3 p(b)
RAID4-块奇偶校验
p(12-15)
p(8-11)
p(4-7)
p(0-3)
block12
block8
block4
block0
block13
block9
block5
block1
block14
block10
block6
block2
block15
block11
block7
block3
RAID5-块分布奇偶校验
block13
block10
block7
p(0-3)
block12
block8
block4
block0
p(12-15)
block9
block5
block1
block14
p(8-11)
block6
block2
block15
block11
p(4-7)
block3
RAID6-双重冗余
block14
block10
q(4-7)
p(0-3)
block12
block8
block4
block0
p(12-15)
block9
block5
block1
q(12-15)
p(8-11)
block6
block2
block13
q(8-11)
p(4-7)
block3
block15
block11
block7
q(0-3)
I/O设备的分类
缓冲区的分类
磁盘调度算法
I/O设备类型
按传输速度分
– 低速设备
– 中速设备
– 高速设备
按信息交换单位分
– 块设备
– 字符设备
按共享属性分
– 独占设备
– 共享设备
– 虚拟设备设备和控制器的接口
I/O设备缓冲 转换器控制逻辑数据信号线状态信号线控制信号线信号数据设备控制器设备控制器的组成数据寄存器控制 /状态寄存器
I/O逻辑设备接口数据线地址线控制线 设备接口数据状态控制与 CPU接口 与设备接口缓冲的引入
缓和 CPU-外设的速度矛盾
减少中断频率
提高 CPU-外设并行程度
9.6kb/s
9.6kb/s
1位缓冲
8位缓冲缓冲区的种类
单缓冲
双缓冲
循环缓冲
缓冲池单缓冲 single buffer
工作区 缓冲区 外设输入 T传送 M
处理 C
用户进程
T1
M1
C1
T2
M2
C2
T3
M3
C3
数据处理时间= max(C,T)+M
双缓冲 double buffer
工作区缓冲区 1
外设用户进程
T1
M1
C1
T2
M2
C2
T1
数据处理时间= max(C+M,T)
缓冲区 1
A B
循环缓冲
R空缓冲
G满缓冲
C正在计算的缓冲
Nexti下个计算的缓冲
Nextg下个输入的缓冲
C正在计算的缓冲
R
R
C
G
G
G
nextg
nexti
current
循环缓冲的使用
Getbuf
– 计算进程获取一个缓冲
– 输入进程获取一个缓冲
Releasebuf
– 计算进程释放一个缓冲
– 输入进程释放一个缓冲? Nexti赶上 nextg
– 缓冲满
nextg赶上 nexti
– 缓冲空缓冲池
emq空缓冲队列
inq输入队列
outq输出队列
sin hin
hout sout
用户程序工作方式
收容输入
Getbuf(emq)
hin……
Putbuf(inq,hin)
提取输入
Getbuf(inq)
sin……
Putbuf(emq,sin)
收容输出
Getbuf(emq)
hout ……
Putbuf(inq,hout)
提取输出
Getbuf(inq)
sout ……
Putbuf(emq,sout)
SPOOLING系统的组成输入进程 SPi
输入缓冲区 Bi
输出进程 SPo
输出缓冲区 Bo 输出井输入井输入设备输出设备内存 磁盘系统特点
提高 I/O速度
将独占设备改造为共享设备
实现虚拟设备磁盘访问时间
寻道时间
旋转延迟时间
传输时间磁盘调度
先来先服务
最短寻道时间优先
扫描算法
循环扫描
N-step-scan和 fscan算法算法对比下个磁道 移动距离
55 45
58 3
39 19
18 21
90 72
160 70
150 10
38 112
184 146
平均 55.3
下个磁道 移动距离
90 10
58 32
55 3
39 16
38 1
18 20
150 132
160 10
184 24
平均 27.5
FCFS SSTF
算法对比下个磁道 移动距离
150 50
160 10
184 24
90 94
58 32
55 3
39 16
38 1
18 20
平均 27.8
下个磁道 移动距离
150 50
160 10
184 24
18 166
38 20
39 1
55 16
58 3
90 32
平均 27.5
SCAN CSCAN
磁盘高速缓存
访问频率
可预见性
数据的一致性周期性写回磁盘提高磁盘 I/O速度的其他方法
提前读
延迟写
优化物理块的分布
虚拟盘廉价磁盘冗余阵列 RAID
把一组物理磁盘驱动器看作单个逻辑盘
数据分布在驱动器阵列中
使用冗余容量保存校验信息
RAID0-RAID6? 可靠性高
磁盘 I/O速度高
性价比高
RAID0-无冗余
strip12
strip8
strip4
strip0
strip13
strip9
strip5
strip1
strip14
strip10
strip6
strip2
strip15
strip11
strip7
strip3
RAID1-镜像
strip12
strip8
strip4
strip0
strip13
strip9
strip5
strip1
strip14
strip10
strip6
strip2
strip15
strip11
strip7
strip3
strip12
strip8
strip4
strip0
strip13
strip9
strip5
strip1
strip14
strip10
strip6
strip2
strip15
strip11
strip7
strip3
RAID2- hamming码冗余
b0 b1 b2 b3 f0(b) f1(b) f2(b)
RAID3-交错位奇偶校验
b0 b1 b2 b3 p(b)
RAID4-块奇偶校验
p(12-15)
p(8-11)
p(4-7)
p(0-3)
block12
block8
block4
block0
block13
block9
block5
block1
block14
block10
block6
block2
block15
block11
block7
block3
RAID5-块分布奇偶校验
block13
block10
block7
p(0-3)
block12
block8
block4
block0
p(12-15)
block9
block5
block1
block14
p(8-11)
block6
block2
block15
block11
p(4-7)
block3
RAID6-双重冗余
block14
block10
q(4-7)
p(0-3)
block12
block8
block4
block0
p(12-15)
block9
block5
block1
q(12-15)
p(8-11)
block6
block2
block13
q(8-11)
p(4-7)
block3
block15
block11
block7
q(0-3)