Standford RedBase 入门(The Paged F

2017-06-13  本文已影响64人  bananafish

(百度翻译)
访问文件页面上的数据首先需要将页面读到主存中的缓冲池中,然后在那里处理(读取或写入)它的数据。当一个页面处于内存中,而它的数据可用于操作时,则称该页在缓冲池中被“钉住”。一个固定的页面仍然在缓冲池,直到它是明确的“不固定”。客户取消一个页面时,页面上的数据进行操作。下一页不一定导致页面被删除从缓冲区--一个不固定的网页是保存在内存中只要在缓冲池中的空间是不需要的。

如果PF组件需要读新的一页在内存缓冲池中有没有留下自由的空间,然后选择一个不固定的PF分量将页面缓冲池中去除,再利用空间。PF分量使用最近最少使用(LRU)页面置换政策。当一个页面从缓冲池中移除时,当且仅当页面被标记为“脏”时,它被复制回磁盘上的文件,直到它们从缓冲区中删除时,脏页才会自动写入磁盘。然而,PF客户机可以总是发送一个显式请求,强制(即写入磁盘)某个页面的内容,或者强制文件的所有脏页,而不将这些页从缓冲区中移除。

重要的是不要把页面不必要地固定在内存中。PF分量的客户,你要实现的设计可以使每个操作假定的页面无需在缓冲池:客户获取它需要的页面,对他们适当的行动,然后取消它们,即使它认为某个页面可能会在不久的将来需要再次。(如果网页是用不久再然后它可能仍然是在缓冲池中反正。)PF分量不允许同一页面被不止一次,不脱钉在之间。在这种情况下,页面实际上并不会解除固定,直到脱离操作数与销操作数。每次取销一个网页是非常重要的,你别忘了拔掉它时,你所做的。如果你不能脱离页面缓冲池会慢慢填满直到你不再把所有的页面(在这一点上,PF分量将返回一个负的代码)。

上一篇 下一篇

猜你喜欢

热点阅读