操作系统 第六章 4 缓冲区管理 + 磁盘

1、缓冲作用:

   1)I/O控制方式减少CPU对I/O的干预,提高利用率

   2)缓冲则通过缓和CPU和I/O设备速度不匹配矛盾,增加CPU和I/O设备的并行性,提高利用率。

2、使用缓冲区的方式:

1)单缓冲、多缓冲: 

 单缓冲:OS在主存中为之分配一个缓冲区。

               CPU和外设轮流使用,一方处理完后等待对方处理。

              字符设备输入时,缓冲区用于暂存用户输入/输出的一行数据;块设备输入则是成块数据

 双缓冲( 双缓冲还适合双向通讯)

               两个缓冲区,CPU和外设不再针对一块交替

                可能实现连续处理无需等待对方。前提是CPU和外设对一块数据的处理速度相近。而如下图情况CPU仍需等待慢速设备。

  多缓冲:  为进一步协调速度差,可增加缓冲区数量,同时进行一定的多缓冲管理入和出的同步。

2)循环缓冲:(不能同时双向通讯) 

  组成:  多个缓冲区、多个指针。

 一个时段只能用于输入或输出,不能同时双向通信。

3)缓冲池:   (可双向缓冲;缓冲区整体利用率高)

1.组织形式: 队列及队列指针

2.对于既可输入又可输出的公用缓冲池,至少应含有下列三种类型的缓冲区:

     空缓冲区;

     装满输入数据的缓冲区;

     装满输出数据的缓冲区;

3.为方便管理,将上述类型相同的缓冲区连成队列 :

     空缓冲区队列(所有进程都可用)

     输入队列(n个进程有各自的队列)

      输出队列(n个进程有各自的队列)

*(队列长度不固定,根据进程实际情况灵活变动,需要多少用多少)

4.工作状态决定了current有四种工作缓冲区:

状态操作者
收容输入数据的工作缓冲区hin
提取输入数据的工作缓冲区sin
收容输出数据的工作缓冲区hout
提取输出数据的工作缓冲区sout

5、缓冲区的工作方式:

  1. 收容输入
  2. 提取输入
  3. 收容输出
  4. 提取输出

磁盘:

1、磁盘类型 : 固定磁头(每道一磁头)、 移动磁头(每盘一磁头)

2、访问时间的计算:   寻道时间(到磁道)、旋转延迟(到扇区) 、传输时间

                                    (传输时间占总时间的比例最小,磁盘读写速度的提高要选择合适的调度算法,

                                         减少前两项用时,使所有作业的磁盘处理时间均衡)

3、磁盘调度方法:

 FCFS:  磁盘I/O执行顺序按磁盘请求的先后顺序

最短寻道时间优先SSTF :  选择从当前磁头位置出发移动最少的磁盘I/O请求

                                           使每次磁头移动时间最少

                                            对中间的磁道有利,但可能会有进程处于饥饿状态(I/O请求总不被执行)。

扫描算法SCAN(磁盘电梯调度算法)规定磁头移动方向:自里向外,再自外向里移动。

                                             后续的I/O磁道请求,哪个在规定方向上距离最近,就先执行哪个。

循环扫描算法CSCAN :将SCAN规定的移动方向改为  “单向移动”  由里向外后,再由里向外。

N-Step-SCAN算法:将磁盘请求队列分成长为N 的子队列 ,按FCFS选择子队列。

                                  队列内又按SCAN算法。

FSCAN算法:请求队列只分为两个子队列 当前一个队列,按SCAN算法执行;

                      扫描期间新生成的组成一个队列,等待被扫描。

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值