页面置换算法的模拟实现 分别实现最佳置换算法(optimal)、先进先出(FIFO)页面置换算法和最近最久未使用(LRU)置换算法,并给出各算法缺页次数和缺页率。 #include #include #include const int MAXSIZE=100; //定义访问串最大长度 const int PAGE_FRAME_NUM=3; //定义固定分配给该进程的页面数 const int PAGE_NUM=8; //定义该进程分页数 int Queue[MAXSIZE]; //保存访问串
最佳置换算法 struct b {int x; //物理块存放的内容 int y; //第几次替换 int z; //需几次替换有相同的内容出现或替换后情况 }; 页面顺序由一数组定义,由于在最佳算法中需要记录每次置换后还有几次再次被调度,在LRU算法中需记录最近调度情况,所以物理块采用结构体描述。X表示物理块存放的内容,Y表示第几次替换,Z表示需几次替换有相同的内容出现或替换后情况,不同算法表示意义不同。