课程设计模板
一、 题目分析 ....................................................................................... 错误~未定义书签。1
FIFO原理简述。 ................................................................................. 错误~未定义书签。1 二、 程序设计 ....................................................................................... 错误~未定义书签。1
1( 数据结构设 ............................................................................... 错误~未定义书签。1
2( 函数设计 ................................................................................... 错误~未定义书签。2
3( 流程图 ....................................................................................... 错误~未定义书签。3
4( 代码 ........................................................................................... 错误~未定义书签。5 三、 结果分析 ..................................................................................... 错误~未定义书签。14 四、 实验
总结
初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf
及心得体会 ................................................................. 错误~未定义书签。15
1
课程设计(大作业)
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
一、题目分析
FIFO原理简述。
?在分配内存页面数(AP)大于进程页面数(PP)时,所有进程需要的页面
(PP个页面)
按提出请求的先后次序放人内存;
?在分配内存页面数(AP)小于进程页面数(PP)时,当然是按提出请求的
次序将最先
的AP个页面放人内存;
?这时有需要处理新的页面,则将原理在内存中的AP个页面中最先进
入的调出(称
为FIFO),然后放入新页面;
?以后如果有新页面需要调入,按?的规则进行。
算法特点:所使用的内存页面构成一个队列。
算法实现提示。
,,,算法原理:
所选择的被淘汰页面将是以后永不使用的,或者是在最长时间内不再被访问的页
面,这样可以保证获得最低的缺页率。
二、程序设计
1( 数据结构设
#define Bsize 3 物理块
#define Psize 12 访问页面数
struct pageInfor
{
int content;//页面号
int timer;//被访问标记
2
};
int s,,命中率
pageInfor *block; //物理块
pageInfor *page; //页面号串
typedef struct page {
int num; /*记录页面号*/
int time; /*记录调入内存时间*/ }Page; /* 页面逻辑结构,结构为方便算法实现设计*/
Page b[Bsize];
Page call[Bsize]; /*内存单元数*/ int c[Bsize][Psize]; /*暂保存内存当前的状态:缓冲区*/
int queue[100]; /*记录调入队列*/ int K; /*调入队列计数变量*/
2( 函数设计
class YZ_replace {
public:
YZ_replace(); //构造函数
~YZ_replace(); //析构函数
int findSpace(); //查找是否有空闲内存
int findExist(int curpage); //查找内存中是否有该页面
int findReplace(); //查找应予置换的页面
void FIFO(); //FIFO算法
void OPT();
void BlockClear(); //BLOCK恢复
3
void initia1(int string[]);//初始化
pageInfor *block; //物理块
pageInfor *page; //页面号串
int memory_state[Bsize][Psize];
int s;
private:
};
YZ_replace::YZ_replace()//构造函数初始化Block int YZ_replace::findSpace()//查找是否有空闲内存 void YZ_replace::FIFO()//先进先出核心算法 void YZ_replace::OPT()//OPT算法
void main()//菜单函数
3( 流程图
FIFO流程图:
4
初始化页面
i是否小于指否
令流长
是
i++
当前第i个页面
是否失效
是
失效次数+1
是否无空闲页
面
是,释放第一
个忙页面,刷
新当前空闲页
面
是否忙页面未
满
否,空闲页OPT流程图
面-1,空闲是,空闲头指针内容页面为当放入忙页面前指向页
尾面
输出结果
5
开始
N
还有指令吗
把新页放在栈Y 顶,同时向下移计算出页号 动其余页号
在实存的堆栈中查找该页号
Y
找到了么,
N
新页块压入栈顶,同时栈底页号弹出
计算出命中率
结束
4( 代码
#include
#include
#include
#define Bsize 3
#define Psize 12
#include
using namespace std;
int QString[Psize];
int Num=0;
struct pageInfor
{
int content;//页面号
int timer;//被访问标记
};
class YZ_replace
{
public:
6
YZ_replace(); //构造函数
~YZ_replace(); //析构函数
int findSpace(); //查找是否有空闲内存
int findExist(int curpage); //查找内存中是否有该页面
int findReplace(); //查找应予置换的页面
void FIFO(); //FIFO算法
void OPT();
void BlockClear(); //BLOCK恢复
void initia1(int string[]);//初始化
pageInfor *block; //物理块
pageInfor *page; //页面号串
int memory_state[Bsize][Psize];
int s;
private:
};
/*void P_String(int QString[]) //随机产生页面的各个数 {
int i;
srand((unsigned)time(NULL));
for(i=0;i= block[pos].timer) //找到应予置换页面,返回BLOCK中位置
pos = i;
return pos;
}
void YZ_replace::FIFO()//先进先出核心算法
{
int exist,space,position ;
for(int i=0; imax)
{
max=b[i].time;
tag=i;
}
}
return tag;
}
int Equation(int fold,Page *b)/*判断页面是否已在内存中*/ {
int i;
for(i=0;i'9')
{
return 0;
break;
}
}
return i;
}
int trans(string str) //将字符串转换成数字
{
int sum=0;
for(int i=0;i>str;
a=decide(str);
while(a==0)
{
cout<<"输入错误,请重新输入~"<>str;
a=decide(str);
}
d=trans(str);
12
return d;
}
void Put()//页面产生的方法
{
cout<<"请选择产生页面的方法 a:输入产生"<>F;
while(F!='a')
{
cout<<"输入错误,请重新输入:";
cin>>F;
}
if(F=='a')
{
cout<<"请输入各页面号:"<FIFO算法 <2>OPT算法 <0>退出"<>select;
while(select!='0'&&select!='1'&&select!='2')
{
cout<<"您的输入无效,请重新输入:"<>select;
}
if(select=='0')
{
cout<<"您选择的是菜单<0>"<"<"<
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示出来。加深了对理论知识的理解。以前对与计算机操作系统的认识是模糊的,概念上的,现在通过自己手动做实验从实践上认识了操作系统是如何处理命令的,如何协调计算机内部各个部件运行,对计算机操作系统的认识更加深刻。
这次操作系统的课程设计,让我对实验原理有更深的理解,通过把该算法的内 容,算法的执行顺序在计算机上实现,知道和理解了该理论在计算机中是怎么样执行的,对该理论在实践中的应用有深刻的理解。并且这次课程设计把学习到的知识融合起来,对计算机的整体的认识更加深刻。
16