- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* Spooling技术(掌握) 1.什么是SPOOLing 为了缓和CPU的高速性与I/O设备低速性间的矛盾而引入了脱机输入、 脱机输出技术。 该技术是利用专门的外围控制机, 将低速I/O设备上的数据传送到高速磁盘上;或者相反。事实上, 当系统中引入了多道程序技术后,完全可以利用其中的一道程序,来模拟脱机输入时的外围控制机功能,把低速I/O设备上的数据传送到高速磁盘上;再用另一道程序来模拟脱机输出时外围控制机的功能,把数据从磁盘传送到低速输出设备上。这样,便可在主机的直接控制下,实现脱机输入、 输出功能。 此时的外围操作与CPU对数据的处理同时进行, 我们把这种在联机情况下实现的同时外围操作称为SPOOLing(Simultaneaus Periphernal Operating On-Line),或称为假脱机操作。 * 假脱机系统的组成 模拟磁盘 模拟外围控制机 模拟磁盘 * 假脱机系统的特点 (1)提高了I/O速度。从对低速I/O设备进行的I/O操作变为对输入井或输出井的操作,如同脱机操作一样,提高了I/O速度,缓和了CPU与低速I/O设备速度不匹配的矛盾。 (2)将独占设备改造为共享设备。在输入井或输出井中,分配给进程的是一存储区和建立一张I/O请求表。 (3)实现了虚拟设备功能。多个进程同时使用一独享设备,而对每一进程而言,都认为自己独占这一设备,不过,该设备是逻辑上的设备。 Spooling * 缓冲( Buffering )管理 缓冲管理的主要职责:组织好缓冲区并提供获得和释放缓冲区的手段。 (1)引入缓冲的主要原因,可归结为以下几点: 1、改善CPU与I/O设备间速度不匹配的矛盾 事实上,凡在数据的到达速率与其离去速率不同的地方,都可设置缓冲,以缓和它们之间速度不匹配的矛盾。 2、可以减少对 CPU的中断频率,放宽对中断响应时间的限制 如果I/O操作每传送一个字节就要产生一次中断,那么设置了n个字节的缓冲区后,则可以等到缓冲区满才产生中断,这样中断次数就减少到1/n,而且中断响应的时间也可以相应的放宽。 3、提高 CPU和 I/O设备之间的并行性 例如,在CPU和打印机之间设置了缓冲区后,便可以使CPU和打印机并行工作。 * 缓冲区设置 硬缓冲:在设备中设置缓冲区,由硬件实现 软缓冲:在内存中开辟一个空间,用作缓冲区 管理 单缓冲 双缓冲 循环缓冲 (多缓冲) 缓冲池:多个缓冲区连接起来统一管理,常采用多缓冲管理 * (1)单缓冲( Single Buffer ) 单缓冲是操作系统提供的最简单的一种缓冲形式。在设备和CPU之间设置一个缓冲器,由输入和输出设备共用。例如,CPU要从磁盘上读一块数据进行计算,先从磁盘把一块数据读入到缓冲区中,然后由OS将缓冲区的数据传送到用户区,最后由CPU对这一块数据进行计算。可见第一步和最后一步是可以并行执行的,这样就提高了CPU和外设的利用率。但是对缓冲区中数据的输入和提取是串行工作的。 (如下图所示) 处理时间=MAX(C,T)+M。通常,M远小于T或C 缓冲区 用户区 输入T 传送M I/O设备 操作系统 用户进程 计算C * (2)双缓冲( Double Buffer ) 双缓冲(缓冲对换)工作方式基本方法是在设备输入时,先将数据输入到缓冲区A,装满后便转向缓冲区B。此时OS可以从缓冲区A中提取数据传送到用户区,最后由CPU对数据进行计算。(如下图所示) 系统处理一块数据的处理时间可粗略地认为:MAX(C,T)。若C<T,可使块设备连续输入;若C>T,可使CPU不必等待设备输入。 缓冲区A 用户区 缓冲区B 输入T 传送M I/O设备 操作系统 用户进程 计算C * 解决外设之间并行工作的最简单的办法是设置双缓冲。在双缓冲方案中,具体的做法是为输入或输出操作设置两个缓冲区buffer1和buffer2。 双缓冲方式和单缓冲方式相比,虽然双缓冲方式能进一步提高CPU和外设的并行程度,并能使输入设备和输出设备并行工作,但是在实际系统中很少采用这一方式,这是因为在计算机系统中的外设很多,又有大量的输入和输出,同时双缓冲很难匹配设备和CPU的处理速度。因此现代计算机系统中一般使用循环缓冲或缓冲池结构。 * (3)循环缓冲 (多缓冲( Circular Buffer )) 多缓冲可以实现对缓冲区中数据的输入和提取,与CPU的计算,三者并行工作。所以多缓冲进一步加快了I/O的速度,提高了设备的利用率。 当对缓冲区中数据的输入和提取的速度基本相匹配时,采用双缓冲可使两者并行工作,获得较好的效果。
文档评论(0)