OS实验三虚拟存储器的管理
更新时间:2023-07-22 04:08:01 阅读量: 实用文档 文档下载
- 三轴虚拟仿真实验推荐度:
- 相关推荐
虚拟存储器 管理
南京理工大学泰州科技学院
实验报告书
课程名称: 《计算机操作系统》 实验题目: 实验三
班 级: 08计算机2班 学 号:姓 名: 叶萌 指导教师: 袁宝华
虚拟存储器 管理
一 实验目的
1. 理解虚拟存储器概念;
2. 掌握分页式存储管理地址转换和缺页中断。
二 实验内容
1.模拟分页式存储管理中硬件的地址转换和产生缺页中断
分页式虚拟存储系统是把作业信息的副本存放在磁盘上,当作业被选中时,可把作业的开始几页先装入主存且启动执行。为此,在为作业建立页表时,应说明哪些页已在主存,哪些页尚未装入主存。
作业执行时,指令中的逻辑地址指出了参加运算的操作存放的页号和单元号,硬件的地址转换机构按页号查页表,若该页对应标志为“1”,则表示该页已在主存,这时根据关系式“绝对地址=块号×块长+单元号”计算出欲访问的主存单元地址。如果块长为2的幂次,则可把块号作为高地址部分,把单元号作为低地址部分,两者拼接而成绝对地址。若访问的页对应标志为“0”,则表示该页不在主存,这时硬件发“缺页中断”信号,有操作系统按该页在磁盘上的位置,把该页信息从磁盘读出装入主存后再重新执行这条指令。
2. 用先进先出(FIFO)页面调度算法处理缺页中断
在分页式虚拟存储系统中,当硬件发出“缺页中断”后,引出操作系统来处理这个中断事件。如果主存中已经没有空闲块,则可用FIFO页面调度算法把该作业中最先进入主存的一页调出,存放到磁盘上,然后再把当前要访问的页装入该块。调出和装入后都要修改页表中对应页的标志。
FIFO页面调度算法总是淘汰该作业中最先进入主存的那一页,因此可以用一个数组来表示该作业已在主存的页面。假定作业被选中时,把开始的m个页面装入主存,则数组的元素可定为m个。
三 实验准备
1. 设计一个“地址转换”程序来模拟硬件的地址转换工作
当访问的页在主存时,则形成绝对地址,但不去模拟指令的执行,而用输出转换后的地址来代替一条指令的执行。当访问的页不在主存时,则输出“* 该页页号”,表示产生了一次缺页中断,程序流程图如图4-1所示。
虚拟存储器 管理
图4-1 地址转换程序流程图
2. FIFO页面调度程序
为了提高系统效率,如果应淘汰的页在执行中没有修改过,则可不必把该页调出(因在磁盘上已有副本)而直接装入一个新页将其覆盖。由于是模拟调度算法,所以,不实际启动输出一页和装入一页的程序,而用输出调出的页号和装入的页号来代替一次调出和装入的过程,程序流程图如图4-2所示。
图4-2 FIFO页面置换算法程序流程图
四 实验步骤
void work_ex1() {bool stop=0; long p,q; char s[128];
do{printf("请输入指令的页号和单元号:\n"); if(scanf("%ld%ld",&p,&q)!=2){ scanf("%s",s);
if(strcmp(s,"exit")==0) {stop=1; } } else
{if(pagelist[p].flag){
printf("绝对地址=%ld\n",pagelist[p].block*SizeOfBlock+q); } else{ printf("*%ld\n",p);} }}while(!stop);} void work_ex2() {long p,q,i; char s[100]; bool stop=0;
do{printf("请输入指令的页号、单元号,以及是否为内存指令:\n"); if(scanf("%ld%ld",&p,&q)!=2) { scanf("%s",s);
if(strcmp(s,"exit")==0)
虚拟存储器 管理
{stop=1; }} else
{scanf("%s",s);
if(pagelist[p].flag)
{ printf("绝对地址=%ld\n",pagelist[p].block*SizeOfBlock+q); if(s[0]=='Y'||s[0]=='y'){
pagelist[p].dirty=1;} }
else{if(pagelist[P[po]].dirty) { pagelist[P[po]].dirty=0;} pagelist[P[po]].flag=0; printf("out%ld\n",P[po]); printf("in%ld\n",p);
pagelist[p].block=pagelist[P[po]].block; pagelist[p].flag=1; P[po]=p;
po=(po+1)%M; }}}while(!stop); printf("数组P的值为:\n"); for(i=0;i<M;i++)
{ printf("P[%ld]=%ld\n",i,P[i]);}}
五 实验结果
1. 地址转换和产生缺页中断界面如图所示:
初始块长度是128,所以当输入页号为0时,查询得到该页在主存中,页号块为5,,根据输入的单元号是10,得到绝对地址=5*128+10=650。同理,页号为1,单元号为20的页面的绝对地址是1044,页号为4,单元号是30 时产生缺页中断的原因是只有0~3号页面在主存中。
2.当前存在的页面信息如图:
虚拟存储器 管理
3.用FIFO页面调度算法处理缺页中断界面如图:
五 结果分析
1.对存储器有了进一步认识。
2.只有在主存中的页面才能根据块号得到和单元号得到绝对地址。否则产生中断。
3.在输入操作的时候产生了许多错误,C++在输入的时候是要考虑大小写的,否则也会出现错误。 4. 在建立页表时要说明哪些在主存哪些不在主存。
正在阅读:
OS实验三虚拟存储器的管理07-22
第4—5章自测卷答案07-18
校刊管理办法01-22
世界现代史学习心得01-12
第四单元 分数的意义和性质05-10
智能建筑包括的内容06-26
2012年教育部学科排名排名、得分汇总-以高校维度分类08-16
教育部规定小学、初中必背136首古诗01-17
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 存储器
- 实验
- 虚拟
- 管理
- 《三角形的初步认识复习课》教学设计--优质课
- 5第五章中国革命的新道路
- 关注生命科学发展史的教学 培养学生的人文素养
- 销售工作日志应该范文(最新版)3篇
- 着色渗透探伤检测实验
- (最新)库车县“两学一做”学习教育应知应会知识200问
- 今天,我们毕业啦
- 新生儿重症监护室
- 家电维修服务业管理办法
- 铁路选线设计作业和答案
- 【门店实操】饮料食品区陈列怎么搞?必须记住9个字
- 物理力学指标统计表
- 园林景观必看书籍2
- 人口增长对我国经济可持续发展的影响
- 控规说明书基本内容总结
- 11拟开设培训项目的教学计划
- 中国人民大学自学考试商务管理专业
- 探析电厂锅炉的除尘技术改造及应用
- 质量监督在标准化堤防建设中的作用
- 高中数学点线面的位置关系及三视图考点精析