电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

操作系统之页面置换

操作系统之页面置换_第1页
1/10
操作系统之页面置换_第2页
2/10
操作系统之页面置换_第3页
3/10
页面置换算法实验实验 一、实验目的 通过编写和调试页面置换算法的模拟程序以加深对虚拟存储管理技术的理解,掌握几种基本页面置换算法的基本思想和实现过程,并比较它们的效率。 二、实验要求 编写程序用来模拟虚拟页式存储管理中的页面置换算法,要求至少采用两种不同的页面置换算法分别进行模拟。 要求: 1. 物理块固定为 4块 2. 从键盘输入 N个页面号 3. 输出每次物理块中的页面号和缺页次数,缺页率 三、实验方法内容 1 . 算法设计思路 在内存运行过程中,若其所要访问的页面不在内存而需要把他们调入内存,但内存已经没有空闲空间时,为了保证该进程能正常运行,系统必须从内存中调出一页程序或数据送磁盘的对换区中。但应将那个页面调出,需根据一定的算法来确定。通常,把选择换出页面的算法成为页面置换算法。置换算法的好坏,将直接影响到系统的性能。 一个好的页面置换算法,应具有较低的页面更换频率。从理论上讲,应将那些以后不再会访问的页面置换出,或者把那些在较长时间内不会在访问的页面调出。目前存在着许多种置换算法(如 FIFO,OPT,LRU),他们都试图更接近理论上的目标。 2 . 算法流程图 开始void PageReplacement::Start(int tactics)PageReplacement构造函数得到页面序列,调用Init()初始化各项数据根据选择的页面置换算法开始执行计算输出缺页率结束void PageReplacement::PageFaultRate()#define _OPT 0//最佳页面置换#define _FIFO 1//先进先出#define _LRU 2//最近最少使用 开始判断当前页面序列是否已到末尾N判断当前访问页面是否缺页页面序列加1,开始下一个页面输出当前页面和页框状态N缺页数加1 Y选择相应页面置换算法,计算出应被置换出的物理块号根据上一步得到的页块号进行置换输出当前页面和页框状态,并输出缺页信息结束Ym_CurrentPage != PAGELENGTHif(ABSENT == JudgeAbsent())m_AbsentCount++;int replaceNo =OPT();或int replaceNo = FIFO();或int replaceNo = LRU();Replace(replaceNo);Display(replaceNo);Display(int statue = NOABSENT); 3 . 算法中用到的数据结构 用到了排序相关的算法 4 . 主要的常量变量 #define mSIZE 4 #define pSIZE 20 static int memery[mSIZE]={0,0,0}; int process[pSIZE]; 5 . 主要模块 void FIFO(); void LRU(); void OPT(); void get(); int main() 四、实验代码 五、实验结果...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

操作系统之页面置换

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部