计算机操作系统——设备管理(3)

缓冲管理
1、目的
为了缓和CPU与I/O 设备速度不匹配的矛盾,减少对CPU的中断频率,提高CPU和I/O 设备的并行性,在现代操作系统中,几乎所有的I/O 设备在与处理机交换数据时都用了缓冲区(内存中)。缓冲管理的主要职责是组织好这些缓冲区,并提供获得和释放缓冲区的手段。

2、实现方式
1)单缓冲

2)双缓冲


3)循环缓冲
可能出现的问题(瓶颈)
Nexti 指针追赶上Nextg 指针,这种情况被称为系统受计算限制。(很少)
Nextg 指针追赶上Nexti 指针,这种情况被称为系统受I/O 限制。(常见)

4)公用缓冲池
①组成:三种缓冲队列+四种缓冲区

三种缓冲队列
空缓冲队列emq;
输入队列inq;
输出队列outq;

四种缓冲区
用于收容输入数据的工作缓冲区hin;
用于提取输入数据的工作缓冲区sin;
用于收容输出数据的工作缓冲区hout;
用于提取输出数据的工作缓冲区sout;

②操作方法:为使诸进程能互斥地访问缓冲池队列,可为每一队列设置一个互斥信号量MS(type)。此外,为了保证诸进程同步地使用缓冲区,又为每个缓冲队列设置了一个资源信号量RS(type)。

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));
Signal(RS(type));
end

③工作方式

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值