好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

计算机操作系统(第四版)第五章缓冲管理设备分配ppt课件.ppt

26页
  • 卖家[上传人]:bb****7
  • 文档编号:54966733
  • 上传时间:2018-09-22
  • 文档格式:PPT
  • 文档大小:2.17MB
  • / 26 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 缓冲(Buffering》管理缓冲管理的主要职责:组织好缓冲区并提供获得和释放缓冲区的手段1)引入缓冲的主要原因,可归结为以下几点:1、改善CPU与I/0设备间速度不匹配的矛盾事实上,凡在数据的到达速率与其离去速率不同的地方,都可设置缓冲,以缓和它们之间途度不匹配的矛贱2、可以减少对CPD的宅断频孪,放家对中断响应时间的限制如果UO操作每传送一个字节就要产生一次中断,那么设置了n个字节的缓冲区后,则可以等到缓冲区满才产生中断,这样中断次数就减少到Un,而且中断响应的时间也可以相应的放宽3、提高CPU和I/O设备之间的并行性例如,在CPU和打印机之间设置了缓冲区后,便可以使CPU和打印机并行工作 缓冲区设置硬缓冲:在设备中设置缓冲区,由硬件实现软缓冲:在内存中开辟一个空间,用作缓冲区管理单缓冲双缓冲循环缓冲(多缓冲)缓冲池:多个缓冲区连接起来统一管理,常采用多缓冲管理 (1)单缓冲(SingleBuffer)单缓冲是操作系统提供的最简单的一种缓冲形式在设备和CPU之间设置一个缓冲器,由输入和输出设备共用例如,CPU要从磁盘上读一块数据进行计算,先从磁盘把一块数据读入到缓冲区中,然后由0S将缓冲区的数据传送到用户区,最后由CPU对这一块数据进行计算。

      可见第一步和最后一步是可以并行执行的,这样就提高了CPU和外设的利用率但是对缓冲区中数据的输入和提取是串行工作的如下图所示》俊作系统用户洲程计算C输入T[磕f区传送M月EI/0设备处理时间=MAX(C,0+M通常,M远小于T或C (2)双缓冲(DoubleBuffer)双缓冲(缓冲对换)工作方式基本方法是在设备输入时,先将数据输入到缓冲区A,装满后便转向缓冲区B此时0S可以从缓冲区A中提取数据传送到用户区,最后由CPU对数据进行计算如下图所示丞用户进程计算C/政助AL十医E传送M_丨一田户〔匹民-rI系统处理一块数据的处理时间可粗略地认为,MAX(C,T)菖辜嘉T禾可使块设备连续输入;若C>>T,可使CPU不必等待 解决外设之间并行工作的最简单的办法是设置双缓冲在双缓冲方案中,具体的做法是为输入或输出操作设置两个缓冲区buffer1和buffer2双缓冲方式和单缓冲方式相比,虽然双缓冲方式能进一步提高CPL和外设的并行程度,并能令输入设备和输出设备并行工作,但是在实际系统中很少采田这一方式,这是因为在计算机系统中的外设很多,又有大量的输入和输出,同时双缓冲很难匹配设备和CPU的处理速度。

      因此现代计算机系统中一般使用循环缓冲或缓冲池结构 (3)循环缓冲(多缓冲(CircularBuffer))多缓冲可以实现对缓冲区中数据的输入和提取,与CPU的计算,三者并行工作所以多缓冲进一步加快了I/0的速度,提高了设备的利用率当对缓冲区中数据的输入和提取的速度基本相匹配时,采用双缓冲可使两者并行工作,获得较好的效果但是如果两者的速度相差甚远时,双缓冲的效果就不够理想了如果增加缓冲区的个数,情况就会有所改善我们可以将多个缓冲区组织成循环队列的形式(如下图所示》濑作系统用户迷程物入T|八医HEI传送MI/0设备/〇缓冲区z〇用F区“假冲KN 环形缓冲技术是在主存中分配一组大小相等的存储区作为缓冲区,并将这些缓冲区链接起来,每个缓冲区中有一个指向下一个缓冲的指针,最后一个缓冲区的指针指向第一个缓视区,这样n个缓冲区就成了十个环形此外,系统中有个缓冲区链首指针指向第一个缓冲区 (4)缓冲池(BufferPoo1)一组缓冲仅适用于某个特定的I/0进程和计算进程,当系统陆置较多的设备时,使用专用缓冲区就要消耗大量的内存空间,东其利用率不高为了提高缓冲区的利用率,目前厂泛使用公才缓冲池,池中的缓冲区可供多个进程共享。

      对于同时用于输入/输出的公用缓冲池,至少含有三种类型的缓冲区,空缓冲区、装满输入数液的瑞冲区和装满输出数据的缓冲区为了管理上的方便,可将相吾粑型的缓冲区链成一个队列,于是就形成三个队列:空缓冲区队列、输入缓冲区队初和输出缓冲区队列宏缓冲区队列(emaq):由空缓冲区所链成的队列′入缓川】|X队扒…nq)由装满输入数据的缓冲区所链成的队列 另外还应具有四种工作缓冲区:(D)用于收容输入数据的工作缓冲区(Chin),(用于提取输入数据的工作缓冲区(sin),(3)用于收容输出数据的工作缓冲区Chout;(用于提取输出数据的工作缓冲区Csout)缓冲区工作在收容输入、提取输入、收容输出和提取输出四种工作方式下(如下图所示〉缓冲池一一收容输|工一5一提取输入厂巾hinSin户程L一Southout挺提取输出收容输出 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.