第一范文网 - 专业文章范例文档资料分享平台

闽南师范大学操作系统课程设计内存LRU页面置换算法的设计

来源:用户分享 时间:2025/8/13 23:47:16 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

三、详细设计

3.1 数据结构

typedef struct pages //定义一个结构体其成员有页面号

//content和被访问标记timer;

void Init(int QString[20]) //初始化内存块 int findSpace(void) //查找是否有空闲内存 int findExist(int curpage) //查找内存中是否有该页面 int findReplace(void) //查找应予置换的页面 void display(void) //显示

void LRU(void) //LRU页面置换算法 void BlockClear(void) //清空

3.2 程序流程图

开始页面走向存入数组QString[]中,内存块用page[]表示,初始化为0i++Y当前QString[]中i个元素是否已在内存NQString[]是否有空Y把page[]中最近最久未使用的页面置换出去,i++N把QString[]的内容直接装入最上面一个空内存块,i++输出当前内存块状态结束

3.3 代码及注释 #include #include #include using namespace std; int Bsize=3; int Psize=20;

typedef struct pages //定义一个结构体 {

int content;//页面号 int timer;//被访问标记

}page;

page block[8];//物理块 page pages[20];//页面号串

void Init(int QString[20]) {//初始化 int i;

for(i=0; i

block[i].content = -1; block[i].timer = 0;

}

}

for(i=0; i

pages[i].content = QString[i]; pages[i].timer = 0;

int findSpace(void) {//查找是否有空闲内存 }

int findExist(int curpage) {//查找内存中是否有该页面 int i;

for(i=0; i

if(block[i].content == pages[curpage].content) int i;

for(i=0; i

if(block[i].content == -1)

return i;//找到空闲内存,返回BLOCK中位置

return -1;

}

return i;//找到内存中有该页面,返回BLOCK中位置

return -1;

int findReplace(void)

{//查找应予置换的页面,被置换的页面的Timer值最大 }

void display(void) {//显示 } int i;

for(i=0; i

if(block[i].content != -1)

cout<

if(block[i].timer >= block[pos].timer)

pos = i;//找到应予置换页面,返回BLOCK中位置

return pos;

cout<

闽南师范大学操作系统课程设计内存LRU页面置换算法的设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0ddsg5c59q8mpoj7oh61_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top