欢迎来到天天文库
浏览记录
ID:14646637
大小:458.60 KB
页数:20页
时间:2018-07-29
《南邮通达课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、通达学院专业课程设计I题目1实现页面调度算法NRU题目2数字式定时器专业计算机科学与技术学生姓名张娟班级学号11006605指导教师戴华指导单位计算机学院、软件学院日期2014.6.9-2014.6.19教师评语同学出勤率(满勤、较高、一般,较低),学习态度(端正、较端正、一般、较差),程序设计基础(好、较好、一般、较差),演示程序(已经、没有)达到了基本要求,算法设计(好、较好、一般),界面友好程度(好、较好、一般),答辩过程中回答问题(准确、较准确、错误率较高),撰写报告格式(规范、一般)、内容(丰满、简单)、
2、表述(清晰、一般、不清楚),(圆满、较好、基本)完成了课题任务。教师签名:年月日成绩评定备注题目1NRU算法一、课题内容和要求学习虚拟存储机制中页面调度算法,通过编程模拟实现页面调度的NRU算法(最近最不经常使用算法)。页面置换算法是指在需要调入页面且内存已满时,确定将要换出页面的算法。置换算法的好坏直接影响系统的性能,不适当得算法可能导致进程发生“抖动”,又称“颠簸”。NRU为操作系统请求分页存储管理中的页面淘汰算法,又名近似的LRU置换算法。NRU算法需要给每个物理块增加一个附加位,称为使用位u,当某一页首次装
3、入内存,该物理块的使用位设为1,当该物理块被使用时,他的使用位也设为1。对于页面置换算法,把用于替换的物理块集合看作是一个循环缓冲区,并且有一个指针与之关联。当需要进行页面置换时,如果指针所在的页面u=0,则将它置换,然后把指针指向下一个物理块,否则把该块的使用位置为0,然后跳过该块继续扫描,知道找到一个u=0的物理块为止。二、概要设计进入NRU1、NRU流程图获得当前的页面号是否在内存中YN内存块是否装满NY检查当前指针指向的页面Interview位的值为0指针前移1位为1将页面装入内存块将新页面置入该页面中,指
4、针前移1位输出内存信息结束2、NRU置换算法:NRU算法需要给每个物理块增加一个附加位,称为使用位u,当某一页首次装入内存,该物理块的使用位设为1,当该物理块被使用时,他的使用位也设为1。对于页面置换算法,把用于替换的物理块集合看作是一个循环缓冲区,并且有一个指针与之关联。当需要进行页面置换时,如果指针所在的页面u=0,则将它置换,然后把指针指向下一个物理块,否则把该块的使用位置为0,然后跳过该块继续扫描,知道找到一个u=0的物理块为止。例如内存块数为3,作业的页面走向为:5,8,910,43,33,56,78内存
5、及控制信息输入串指针移动情况及替换信息内存访问位指针5将5放入第一个内存块中,访问位置1,指针下移510←0内存访问位8将5放入第二个内存块中,访问位置1,指针下移51810←内存访问位9将9放入第三个内存块中,访问位置1,指针下移,这时指针循环往下指向第一个内存块51←8191内存访问位10内存中没有10,需要找到一个内存块放入10,指针所在的访问位为1,则将其变成0,再下移,继续寻找访问位为0的。当指针循环再次指向第一个内存块时,访问位为0,故替换,指针下移10180←90内存访问位43内存中没有43,需要找到
6、一个内存块放入43,指针所在的访问位为0,故替换,指针下移10143190←内存访问位33内存中没有33,需要找到一个内存块放入33,指针所在的访问位为0,故替换,指针下移101←431331内存访问位56内存中没有56,需要找到一个内存块放入56,指针所在的访问位为1,则将其变成0,再下移,继续寻找访问位为0的。当指针循环再次指向第一个内存块时,访问位为0,故替换,指针下移561430←330内存访问位78内存中没有78,需要找到一个内存块放入78,指针所在的访问位为0,故替换,指针下移561781330←一、详
7、细设计实现课题的源代码:#include#include#include#includevoidzhihuan(){printf("");printf("****************************************");printf("在地址映射过程中,若在页面中发现所要访问的页面不在内存中,则产生缺页中断。当发生");printf("缺页中断时,如果操作系统内存中没有空闲页面,则操作系统必须在内存选择一
8、个页面将其");printf("移出内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算");printf("法。");printf("****************************************");printf("");}//界面设置,简单介绍页面置换算法voidintroduce(){
此文档下载收益归作者所有