页缓冲 您所在的位置:网站首页 页缓冲队列长度为什么影响页面置换速度 页缓冲

页缓冲

2024-07-12 09:47| 来源: 网络整理| 查看: 265

在复习操作系统的时候,发现了有个叫页缓冲的东西,特此记录一下。

页面置换策略

常见的页面置换策略有OPT、LRU、CLOCK、FIFO 其中FIFO性能比前几个差一点,但是实现简单,复杂性不高,开销小

而且,引入页缓冲之后,其性能还能进一步提升。

页缓冲

在页面置换的时候,并不直接将内存中的页置换到辅存(修改的页需要写回,未修改的其实可以直接丢弃),但是IO的速度很慢,引入一个缓冲,就能协调内存和辅存之间的速度

页缓冲的时候,并不会丢弃置换出来的页,而是添加到下面两种链表中:

未被修改,分配到空闲页链表中 已经修改,分配到修改页链表中

注意,页在内存中并不会物理性移动,移动的只是该页对应的页表项,移动后页表项放在相应链表尾部即可。

空闲页面链表,实际上是一个空闲物理块链表,其中的每个物理块都是空闲的,因此,可在其中装入程序或数据。当需要读入一个页面时,便可利用空闲物理块链表中的第一个物理块来装入该页。当有一个未被修改的页要换出时,实际上并不将它换出内存,而是把该未被修改的页所在的物理块挂在自由页链表的末尾。类似地,在置换一个已修改的页面时,也将其所在的物理块挂在修改页面链表的末尾。利用这种方式可使已被修改的页面和未被修改的页面都仍然保留在内存中。当该进程以后再次访问这些页面时,只需花费较小的开销,使这些页面又返回到该进程的驻留集中。当被修改的页面数目达到一定值时,例如 64 个页面,再将它们一起写回到磁盘上,从而显著地减少了磁盘 I/O 的操作次数。一个较简单的页面缓冲算法已在 MACH 操作系统中实现了,只是它没有区分已修改页面和未修改页面。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有