页面置换算法
1.最佳置换算法(OPT)
算法思想:将最长时间内不会被访问的页面置换出来。由于系统无法预知哪个页面不会被访问,因此实际上这个算法无法实现,只是用来做比较。
2.先进先出算法(FIFO)
算法思想:先进入内存的页面先被置换出去。
3.最久未被访问算法(LRU)
算法思想:将最久没有被访问的页面置换出去。这个算法和先进先出有点相似,但又不同。
可利用栈来保存各个页面的页面号,最近刚被访问的放在栈顶,最久未被访问的放在栈底。
例题:假定系统为某进程分配了三个物理块,并考虑有以下页面号引用串: 1 2 3 4 1 2 5 1 2 3 4 5 ,求缺页次数和缺页率。
1.最佳置换算法(OPT)
1 2 3 4 1 2 5 1 2 3 4 5
1 1 1 1 1 3 3
2 2 2 2 2 4
3 4 5 5 5
+ + + + + + +
缺页次数:7次,缺页率:7/12
2.先进先出算法(FIFO)
1 2 3 4 1 2 5 1 2 3 4 5
1 1 1 4 4 4 5 5 5
2 2 2 1 1 1 3 3
3 3 3 2 2 2 4
+ + + + + + + + +
缺页次数:9次,缺页率:9/12
3.最久未被访问算法(LRU)
1 2 3 4 1 2 5 1 2 3 4 5
1 1 1 4 4 4 5 3 3 3
2 2 2 1 1 1 1 4 4
3 3 3 2 2 2 2 5
+ + + + + + + + + +
缺页次数:10,缺页率:10/12