- 8
- 0
- 约 28页
- 2017-03-05 发布于重庆
- 举报
OS-homework-8
实验八 实验名称:存储管理模拟实验要求: 编写一个程序,模拟一个虚拟分页存储管理系统。(不考虑地址转换)其中,由系统随机产生进程;进程大小、进程到达次序、时间、进程执行轨迹(页面访问顺序)也随机生成,但进程之间必须有并发存在,进程执行时间需有限,进程调度采用时间片轮转算法(以页面模拟);物理块分配策略采取固定分配局部置换;分配算法采用按比例分配算法;(按进程大小的比例来划分的)调页采用请求调页方式;置换分别采用FIFO(first in first out)、LRU(LRU算法:least recently used)和简单CLOCK算法(简单CLOCK算法:把所有的放到一个循环链表中,给一个标志,最近访问过还是没放问过);驻留集大小可调,观察驻留集大小对缺页率的影响。(驻留级越大,缺页率越小)运行结果:模拟产生调用的进程:进程所在的页面:Opt算法过程缺页次数和缺页率:lru算法页面调入跳出过程,缺页次数和缺页率:fifo算法过程缺页次数和缺页率:代码如下:#includestdlib.h#includestdio.h#define pagesize 8 //页面尺寸大小typedef struct BLOCK //声明一种新类型--物理块类型{ int pagenum; //页号 int accessed; //访问量,其值表示多久未被访问}BLOCK;int pc; //程序计数器,用来记录对应的页号int n; //缺页计数器,用来记录缺页的次数static int num[320]; //用来存储320条随机数BLOCK block[pagesize]; //定义一大小为8的物理块数组void init(); //程序初始化函数int findExist(int curpage); //查找物理块中是否有该页面int findSpace(); //查找是否有空闲物理块int findReplace(); //查找应予置换的页面void display (); //显示void randam(); //产生320条随机数,显示并存储到num[320]void pagestring(); //显示调用的页面队列void OPT();void LRU();void FIFO();void main(){ int select; printf(请输入第一个随机数(0~320):); randam(); printf(*****对应的调用页面队列*******\n); pagestring(); do {printf(****************************************\n);printf(1:OPT 2:LRU 3:FIFO 4:退出\n);printf(****************************************\n);printf(请选择一种页面置换算法:); scanf(%d,select);printf(*******************************\n);init();switch(select){ case 1: printf(最佳置换算法OPT:\n); printf(*****************\n); OPT(); break; case 2: printf(最近最久未使用置换算法LRU:\n);printf(*************************\n*);LRU();break; case 3:printf(先进先出置换算法FIFO:\n);printf(*********************\n);FIFO();break;} }while(select!=4);}void init() { int i; for(i=0;ipagesize;i++) { block[i].pagenum=-1;block[i].accessed=0;pc=n=0; }}int findExist(int curpage){ int i; for(i=0; ipagesize; i++) {if(block[i].pagenum == curpage )return i; //检测到内存中有该页面,返回block中的位置 } return -1;}int findSpace()///寻找空闲空间{ int i; for(i=0;ipagesize;i++) { if(block[i].pagenum==-1)return i; //找到空闲的block,返回block中的位置 } return -1;}int findReplace(){ int pos = 0; int i; for(i=0;ipagesize;i++)
您可能关注的文档
最近下载
- 栽培措施对青贮玉米粗蛋白质含量及产量的影响.pdf VIP
- EN IEC 62660-3-2022 Secondary lithium-ion cells for the propulsion of electric road vehicles - Part 3:Safety requirements 电动道路车辆推进用二次锂离子电池. 第3部分: 安全要求.pdf
- 2024年江苏省淮安市中考语文真题试卷含答案.docx
- 安全员(矿山)试题库含参考答案.docx VIP
- 矿山安全员试题库(附参考答案).docx VIP
- Honor荣耀MagicBook Pro 14 用户手册-(FMB-P,01,zh-cn)说明书.pdf
- 选矿厂设计考试试卷及答案.docx VIP
- 社会工作者(初级)考试题库及答案【题库版】.pdf VIP
- 融媒体中心新媒体制作岗位专业测试及答案.docx VIP
- 高考物理一轮复习6.2机械能守恒定律-动能定理及其应用--(原卷版+解析).docx VIP
原创力文档

文档评论(0)