- 1、本文档共121页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(2) 多个指针:用于指示计算进程下一个可用缓冲区G的指针Nextg、 指示输入进程下次可用的空缓冲区R的指针Nexti,用于指示计算进程正在使用的缓冲区C的指针Current。 C 2.环形缓冲区的使用 (1)Getbuf过程: 计算进程调用Getbuf过程使用缓冲区中的数据。 该过程将由指针Nextg所指示的缓冲区提供给进程使用,相应地,须把它改为现行工作缓冲区,并令Current指针指向该缓冲区的第一个单元,同时将Nextg移向下一个G缓冲区。 (2)Releasebuf过程: 当计算进程把C缓冲区中的数据提取完毕时,便调用Releasebuf过程,将缓冲区C释放。 3.进程之间的同步问题 (1) Nexti指针追赶上Nextg指针: 这意味着输入进程输入数据的速度大于计算进程处理数据的速度,已把全部可用的空缓冲区装满,再无缓冲区可用。这种情况被称为系统受计算限制。 (2) Nextg指针追赶上Nexti指针: 这意味着输入数据的速度低于计算进程处理数据的速度,使全部装有输入数据的缓冲区都被抽空,再无装有数据的缓冲区供计算进程提取数据。这种情况被称为系统受I/O限制。 7.7.4 缓冲池 上述的缓冲区是专门为特定的生产者和消费者设置的,它们属于专用缓冲。 当系统较大时,应该有许多这样的循环缓冲,这不仅要消耗大量的内存空间,而且其利用率不高。 为了提高缓冲区的利用率,目前广泛流行既可用于输入又可用于输出的公用缓冲池,在池中设置了多个可供若干个进程共享的缓冲区。 1.缓冲池的组成 三个队列: 空缓冲队列emq 输入队列inq 输出队列outq 四种工作缓冲区 用于收容输入数据的工作缓冲区 用于提取输入数据的工作缓冲区 用于收容输出数据的工作缓冲区 用于提取输出数据的工作缓冲区。 2.Getbuf过程和Putbuf过程 3.缓冲区的工作方式 收容输入 提取输入 收容输出 提取输出 7.8 磁盘存储器的性能和调度 磁盘性能概述(了解) 早期的磁盘调度算法(掌握) 基于扫描的调度算法(掌握) 7.8.1 磁盘性能简述 1.数据的组织和格式 磁盘格式化 2.磁盘的类型 (1)固定头磁盘: 这种磁盘在每条磁道上都有一读/写磁头,所有的磁头都被装在一刚性磁臂中。通过这些磁头可访问所有各磁道,并进行并行读/写,有效地提高了磁盘的I/O速度。这种结构的磁盘主要用于大容量磁盘上。 (2)移动头磁盘: 每一个盘面仅配有一个磁头,也被装入磁臂中。为能访问该盘面上的所有磁道,该磁头必须能移动以进行寻道。可见,移动磁头仅能以串行方式读/写,致使其I/O速度较慢;但由于其结构简单,故仍广泛应用于中小型磁盘设备中。在微型机上配置的温盘和软盘,都采用移动磁头结构 3.磁盘访问时间 (1)寻道时间Ts: 把磁臂(磁头)移动到指定磁道上所经历的时间Ts=m×n+s。 (2)旋转延迟时间Tτ: 指定扇区移动到磁头下面所经历的时间,对于硬盘,典型的旋转速度大多为5400 r/min 。 (3)传输时间Tt: 把数据从磁盘读出或向磁盘写入数据所经历的时间 7.8.2 早期的磁盘调度算法 先来先服务 最短寻道时间优先 1.先来先服务 根据进程访问磁盘的先后次序进行调度. 优点:公平和简单 缺点:效率低. 2.最短寻道时间优先 思想: 该算法选择这样的进程,其要求访问的磁道,与当前磁头所在的磁道距离最近,以使每次的寻道时间最短,但这种算法不能保证平均寻道时间最短. 优点: 平均每次磁头移动距离明显低于FCFS的距离,固有较好的寻道性能,过去曾一度被广泛使用。 7.6.3 基于扫描的磁盘调度算法 扫描(SCAN)算法 循环(CSCAN)扫描算法 N步SCAN和FSCAN调度算法(不讲) 1.扫描(SCAN)算法 进程“饥饿”现象 SSTF算法虽然能获得较好的寻道性能,但却可能导致某个进程发生“饥饿”现象。 因为只要不断有新进程的请求到达,且其所要访问的磁道与磁头当其所在的磁道距离较仅,这种新进程的I/O请求必须优先满足。其他访问离磁道距离较远的进程,将很长时间的不到响应。 对SSTF稍加改进后的SCAN算法却可以防止进程出现“饥饿”现象。 1.扫描(SCAN)算法 SCAN算法 又称为电梯算法 思想:当磁头正在向外移动时,SCAN算法所考虑的下一个访问对象是既在当前磁道之外,还要离当前磁道最近。反之亦然。 优点:该算法不仅考虑到预访问的磁道与当前磁道间的距离,更优先考虑的是磁头当前的移动方向。 2.循环扫描算法 SCAN算法存在的问题: 当磁头刚从里向外移动而越过了某一磁道时,恰好又有一进程请求访问该磁道,这时,该进程必须等待,待磁头继续从里向外,然后再从外向里扫描完所有要访问的磁道后,才处理该进程的请求,致使该进程的请求被大大地推迟. 2.循环扫描
文档评论(0)