- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机系统结构课程设计FIFO
目 录
1、设计的目的 2
2、设计要求 2
3、主要仪器设备 2
4、设计内容 2
4.1 介绍 2
4.2 总体设计 2
4.3 详细设计 4
4.4 结果测试 8
5、总结 10
6、参考文献 10
虚拟存储器页面替换算法的实现
1、设计的目的
提高编写高级语言的能力,并通过对内存页面置换算法的设计,深入理解虚拟存储管理的原理。
2、设计要求
对一种页面替换算法的实现。
3、主要仪器设备(实验用的软硬件环境)
PC机一台,win7操作系统,vs2008集成编程软件
4、设计内容
4.1 介绍
FIFO是最早出现的置换算法,该算法中是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。该算法实现简单,只需把一个进程已调入内存的页面,按先后次序链接成一个队列,并设置一个指针成为替换指针,使它总是指向最老的页面。虽然它不是一个最好的算法的,但是它简单易于实现,这里就对它进行简单的模拟实现。
4.2 总体设计
4.2.1初始化:
设定物理块数,并且输入一个页面号串,作为进行FIFO算法的初始值。由void init()函数来实现。
4.2.2物理块是否空闲
在确定了物理块数之后,依次对物理块存入页面。首先应检查此时的物理块是否是空闲,如果是则直接将页面存入此位置。如果不空闲,则继续往下查找。由int find_space()函数来实现。
4.2.3页面是否重复
页面存入物理块之前必须检查是否该页面以存在,如果存在则不需要进行替换。如果不存在,则替换新的页面。由find_exist函数来实现。
4.2.4应被替换的位置
通过Timer的计数来确定最先进入,即在物理块内停留最久的页面,这个页面的位置就是即将进行页面替换的位置,新的一个页面就存入此处。由find_replace函数来实现。
4.2.5计算缺页数和缺页率
定义了变量sum,通过查找物理块被替换的位置,以及被替换的情况来计算出缺页数。缺页率则等于缺页数除以总页面数。
4.2.6显示输出转换算法
将算法的计算结果显示输出,由display函数来实现。
4.2.7 FIFO算法的实现
算法的核心,通过调用find_space(), find_exist(int curpage) ,find_replace()三个函数来实现算法。
4.3 详细设计
4.3.1程序流程图
4.3.2、定义页面的属性
1)struct page
{
int content;//页面号
int timer;//被访问标记
};
2) 定义一个物理块(其中_bsize输入的物理块数大小):page block[_bsize];
3) 定义一个页面号串(Psize==20):page page[20];
4) int sum:用来求缺页总次数
5) int _bsize=0:用来输入物理块数
6) int _string[20] :用来存储输入的页面号
4.3.3、代码详细注释:
#include iostream
#include string
using namespace std;
struct page
{
int content;//页面号
int timer;// 标记被访问的时间
};
page block[100];//物理块
page page[20];//页面号串
int sum;
int _bsize=0;
int _string[20];
void init() //初始化
{
cout请输入物理块数(1-5):;
cin_bsize;
cout请输入页面号串(0-7,用空格隔开):;
for(int i=0; i_bsize; i++)
{ block[i].content = -1;
block[i].timer = 0;
}
for(i=0; i20; i++)
{ cin_string[i];
page[i].content = _string[i];
page[i].timer = 0;
}
}
int find_space() //查找是否有空闲内存
{
for(int i=0; i_bsize; i++)
if(block[i].content == -1)
return i;//找到空闲内存,返回BLOCK中位置
return -1;
}
int find_exist(int curpage) //查找内存中是否有该页面
{
for(int i=0; i_bsize; i++)
if(block[i].content == page[curpage].content)
return i;//找到内存中有该页面,返回BLOCK中位置
return -1
您可能关注的文档
最近下载
- 【产品手册】麦克森McKesson_见解宣传册Brochure_Diversity_and_Incl.docx VIP
- 无人机概述PPT课件(完整版).pptx
- 天津《民用建筑节能工程施工质量验收规程》DBT29-126-2025.pdf
- 新版pep小学英语三四年级教材解读.ppt VIP
- 知识点专题09口语交际(讲义试题)一升二年级语文(含答案)部编版.docx VIP
- 水库溃坝洪水风险评估技术规范.docx VIP
- 闪发筒式经济器在磁悬浮冷水机组中的应用研究_孟庆超.pdf VIP
- 活动一 身体上的长度(教案)2025-2026学年人教版二年级数学上册.docx VIP
- 现金流量表编制编制实例.doc VIP
- 胃癌肝转移综合诊疗进展2025.pdf
原创力文档


文档评论(0)