虚拟存储器管理..doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
. 范文 . 范文 淮海工学院计算机工程学院 实验报告书 课程名:《操作系统原理》 题 目: 虚拟存储器管理 班 级: 网络122 学 号: 姓 名 评语: 评语: 成绩: 指导教师: 批阅时间: 年 月 日 . 范文 一、实验目的 请求页式虚存管理是常用的虚拟存储管理方案之一。通过请求页式虚存管理中对页面置换算法的模拟,有助于理解虚拟存储技术的特点,并加深对请求页式虚存管理的页面调度算法的理解。 二、实验内容 本实验要求使用C语言编程模拟一个拥有若干个虚页的进程在给定的若干个实页中运行、并在缺页中断发生时分别使用FIFO和LRU算法进行页面置换的情形。其中虚页的个数可以事先给定(例如10个),对这些虚页访问的页地址流(其长度可以事先给定,例如20次虚页访问)可以由程序随机产生,也可以事先保存在文件中。要求程序运行时屏幕能显示出置换过程中的状态信息并输出访问结束时的页面命中率。程序应允许通过为该进程分配不同的实页数,来比较两种置换算法的稳定性。 实验步骤 1.实验说明 实验中进程的数量、资源的种类以及每种资源的总量Total[j]最好允许动态指定。初始时每个进程运行过程中的最大资源需求量Max[i,j]和系统已分配给该进程的资源量Allocation[i,j]均为已知(这些数值可以在程序运行时动态输入),而算法中其他数据结构的值(包括Need[i,j]、Available[j])则需要由程序根据已知量的值计算产生。 实验流程 主页面 主页面 LRU算法OPT算法 LRU算法 OPT算法 开始 开始 取指令 取指令 取指令中的负号 取指令中的负号 查页表 查页表 页标志=1? Y 页标志=1? N发生缺页 输出*页号表示发生缺页中断形成绝对地址 输出*页号表示发生缺页中断 形成绝对地址 输出绝对地址 输出绝对地址 有后续指令 N 有后续指令 Y 输出缺页数及缺页率 输出缺页数及缺页率 取下条指令 取下条指令 结束 结束 实验源程序 #includeiostream #includemath.h #includemalloc.h using namespace std; #define M 9 #define N 20 typedef struct node1/*页面的数据结构*/ { int num; int age; int state; int blocknum; }page ; typedef struct node2/*内存块的数据结构 */ { int num; int state; int pagenum; int age; }Block; void LRU(Block b[],int n,page p[],int m)/*最近最少使用页面置换算法 */ { int i,j,j1,k,mm,mn,flag=0; float num=0,c=0; for (j=0;jm;j++) { for (mm=0;mmn;mm++) { if(b[mm].pagenum==p[j].num) flag=1; } if(flag==1) coutendl此次未出现缺页(NF)endl; else if (flag==0) { c++; coutendl出现缺页(F)\n; if (p[j].state==0) { for(i=0;in;i++) { if(b[i].state==0) { p[j].blocknum=b[i].num; p[j].state=1; b[i].pagenum=p[j].num; b[i].state

文档评论(0)

ygxt89 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档