计组基础算法
进程死锁
r-每个进程请求的最大资源
n-进程数
m-R1资源总数
公式:
(r-1)* n+1>m
若每个进程都请求r-1个且总资源剩余1个及以上就不会发生死锁
动态分区分配
M-用户区初始空间
M1-第一次分配
M2-第二次分配
F1-第一次释放
F2-第二次释放
M3-第三次分配
M4-第四次分配
F-最后主存中最大空闲分区
公式:
依次执行
F1=M1;F2=M-M1-M2
if(F1>=F2) F1=F1-M3 else F2=F2-M3;
if(F1>=F2) F1=F1-M4 else F2=F2-M4;
if(F1>=F2) F=F1 else F=F2;
分页地址变换
A-逻辑/虚拟地址
L-页长
P-页号
d-页内地址offset
F-物理块号
MA-物理地址
公式:
P=A/L
d=A%L
A=P* L+d
P->查页表->F
MA=F* L +d
CPU有效访问时间
M-访问内存的时间
R-访问快表的时间
h-从快表中能找到所需页表项的概率
EAT-CPU有效访问时间
公式
EAT=R+M×(2-h)
h=2-(EAT-R)/M
二级页表
L-页面大小
p-(逻辑)页号
L1-页表页长
S-页表项大小
PT1-一级页号
PT2-二级页号
公式
L1=L/S
PT1=P/L1
PT2=P%L1
磁盘传输速率
D-磁盘容量
n-磁道数
DiskSector-磁盘扇区数
N-一条磁道上的字节数
r-磁盘转速
Vt-磁盘传输速率
公式
N=D/n(单面磁盘每条磁道的扇区相同DiskSector=128)
Vt=r×N=r×D/n
CPU中断频率和响应时间
v-数据通信速率
n-缓冲寄存器的位数
f-中断频率
Rt-响应时间
公式
f=v/n
Rt=1/v /单缓冲寄存器/
Rt=1/v×n /双缓冲寄存器/
缓冲区结构
n-磁盘块数
m-传送时间
C-处理时间
Tsn-单缓冲区总时间
Tdn-双缓冲区总时间
T-输入(读入)时间
Δt1-单缓冲区系统处理一块数据的时间
Δt2-双缓冲区系统处理一块数据的时间。
公式
单缓冲区总时间:Δt1=Max(C,T)+M ;Tsn=n×Δt1+Min(C,T)
双缓冲区总时间:Δt2=Max(C+M, T);Tdn=n×Δt2+Min(C+M, T)
位(示)图
D-磁盘分区容量
C-簇的大小
Cn-磁盘分区的总簇数
Bitmap-位图的总位数
BitmapL-位图的长度(Bytes)
n-存放位图所需簇的个数
公式
Cn=D/C; Bitmap=Cn; BitmapL=Bitmap/8; n=BitmapL/C=Bitmap/(8×C) =D/C/(8×C)=D/(8×C×C)