当前位置:首页 > 请求页式管理缺页中断模拟设计--FIFO、OPT
武汉理工大学《计算机操作系统教程》课程设计报告书
本科生课程设计成绩评定表
班级:物联网1001 姓名:张灏 学号:0121010340714 序号 1 2 3 4 5 6 评分项目 学习态度认真、遵守纪律 设计分析合理性 设计方案正确性、可行性、创造性 设计结果正确性 设计报告的规范性 设计验收 满分 10 10 20 40 10 10 总得分/等级 实得分 评语: 注:最终成绩以五级分制记。优(90-100分)、良(80-89分)、中(70-79分)、
及格(60-69分)、60分以下为不及格
指导教师签名:
2013年 月 日
12
12
武汉理工大学《计算机操作系统教程》课程设计报告书
附录: F1参考文献
[1]张尧学,史美林编著.计算机操作系统教程(第三版).清华大学出版社.2006 [2]闵联营,何克右主编.C++程序设计教程.武汉理工大学出版社.2005
F2源代码
以下文件在control.h中 #include
#include
class control{ public:
control();//构造函数 ~control();//析构函数
void init();//初始化函数,对页表,物理块进行初始化 void FIFO(); void OPT();
void print();//输出在物理块中当前存在的页号 int page_num; //////页面号
int memory_num; /////页面对应的内存物理块号 int is_in_memory; /////状态标志,判断页面是否在内存
private: };
void control::init(){
page page_table[10];//创建页表大小有10项
int page_size,memory_size;//输入的页面数和内存物理块数
int *page_array,*memory;//请求页面的输入序列,和模拟内存用来存放序列号
for(int i=0;i<10;i++){
13
13
武汉理工大学《计算机操作系统教程》课程设计报告书
}
}
page_table[i].page_num=i; page_table[i].memory_num=-1; page_table[i].is_in_memory=0;
for(int i=0;i memory[i]=-1; control::control(){ int select1 ,select2;////////分别指示是随机产生序列或用户输入和选择哪种替换算法 char choice; cout<<\输入给定的页面数:\ cin>>page_size; cout<<\输入给作业分配内存的物理块数\ cin>>memory_size; page_array=new int[page_size];memory=new int[memory_size]; loop: cout<<\ -------------------------------------\ cout<<\ 0.用户输入请求序列 1.随机生成请求序列\ cout<<\ -------------------------------------\ cin>>select1; if(select1==1){ } else if(select1==0){ int temp2; cout<<\输入\个请求页面号(0-10)\ 14 cout<<\随机生成页面请求序列(0-10)\int temp1; for(int i=0;i cout< temp1=rand(); cout< 14 武汉理工大学《计算机操作系统教程》课程设计报告书 } for(int i=0;i cin>>temp2; page_array[i]=temp2; else exit(0); cout<<\请选择使用那种替换算法:0、退出 1、FIFO 2、OPT\cin>>select2; if(select2==1) control::FIFO(); else if(select2==2) control::OPT(); else exit(0); cout<<\是否继续?(Y/y or N/n)\ } control::~control(){ delete []page_array; delete []memory; } cin>>choice; if(choice=='Y' || choice=='y') goto loop; else exit(0); void control::print(){ } void control::FIFO(){ for(int q=0;q cout< cout<<\control::init(); int *save=new int[page_size]; int count=0; int times=0;//记录缺页次数 int first_inMemory=0;//记录最先被占用的物理块号,装有最先进入内存的页面号 15 15
共分享92篇相关文档