首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

操作系统实验之存储管理第二版

上篇博客作者只介绍了两种算法 下面作者介绍另外两种算法 第一种就是最佳置换算法,这种算法只在理论成立,但是在实际操作中是无法进行操作的,他的理念就是,每次置换的时候是置换出将来最晚使用的页号,所以可以达到最大程度上的节约置换的操作 第二种就是最少使用算法,主要是通过计数每个页号在一定时间内出现的次数,然后置换出出现次数最少的那一个页号,也就相当于是出现频率的意思,这种算法要记得和最近最久未使用算法进行区别,最久未使用算法的意思是,每次置换出队列中没有被使用的时间最长的元素,这里强调的是时间的最长 详细的可以看下面的源代码:

02

【Oracle】-【LRU和DBWR】-LRU算法与DBWR中的应用

Oracle体系结构中经常看到LRU算法,Least Recently Used,也有叫“最近最少使用页面置换算法”,简单讲,Oracle会将内存中最近不用的数据库移出内存以腾出空间来加载另外的数据。算法的实现虽然无法获取,但对于我们很多人来说,也没有必要了解。更重要、更实际地是知道它的作用,以及基于此对一些问题的分析与判断。 关于这个算法,有一种最理想的计算,就是每次调换出的内存是所有内存中最迟将被使用的,可以最大限度地推迟内存调换,但这种算法是理想内存置换,无法实现。为了减少与理想算法的差距,又出现了各种精妙的算法,LRU就是其中一个。它是基于:前面内存中的数据很可能在后面频繁使用,反过来说,已经很久没用的内存中数据可能在未来较长时间内不会被用到,这是著名的局部性原理,比内存速度还要快的cache,也是基于同样的原理运行的。因此我们只需要在每次内存调换时,找到最近最少使用的内存数据调出内存,这就是LRU算法的内容。 有的书中提到的“如果数据库空运转,最终DBWR会将全部缓冲区存储区写入磁盘”,DBWR会将dirty缓冲区写入磁盘,使用的是LRU算法,如上原理所述,根据DBWR触发的若干条件,外加LRU算法,DBWR当然会将全部buffer cache写入磁盘。

07
领券