请求调页.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
请求调页

目 录 绪 论 - 1 - 一、功能描述 - 2 - 1.1调页存储管理系统总体功能设计 - 2 - 1.2请求调页策略 - 2 - 1.3使用页面置换算法功能分析: - 2 - 1.3.1 FIFO算法(先进先出淘汰算法) - 2 - 1.3.2 LRU算法(最久未使用淘汰算法) - 3 - 1.3.3OPT算法(最佳淘汰算法) - 4 - 1.4开发环境 - 4 - 二.设计思路 - 5 - 2.1问题描述及设计思想 - 5 - 2.2程序流程图 - 5 - 三、具体实现 - 6 - 3.1总体设计: - 6 - 3.2各模块功能N-S图以及流程图 - 6 - 3.3数据结构 - 11 - 四、运行调试及结果分析 - 11 - 五、设计体会与小结 - 13 - 六、参考文献 - 13 - 七、附录(核心代码) - 14 - 请求调页存储管理系统的模拟实现 绪 论 这学期学了《操作系统》这门课,请求调页的页面置换是很重要的一部分内容,我们必须了解请求调页的原理,我们知道,术语请求调页指的是一种动态内存分配技术,它把页面的分配推迟到不能再推迟为止,也就是说,一直推迟到进程要访问的页不在物理内存时为止,由此引起一个缺页错误。 请求调页技术的引入主要是因为进程开始运行的时候并不访问其地址空间中的全部地址;事实上,有一部分地址也许进程永远不使用。此外,程序的局部性原理保证了在程序执行的每个阶段,真正使用的进程页只有一小部分,因此临时用不着的页所在的物理页面可以由其它进程来使用。因此,对于全局分配(一开始就给进程分配所需要的全部页面,直到程序结束才释放这些页面)来说,请求调页是首选的,因为它增加了系统中的空闲页面的平均数,从而更好地利用空闲内存。从另一个观点来看,在内存总数保持不变的情况下,请求调页从总体上能使系统有更大的吞吐量. 以下就是模拟请求调页存储管理系统 根据请求调页存储管理方式的相关原理,用VC编程模拟实现一个请求调页存储管理系统,该系统的页面置换算法必须包括先进先出页面淘汰页面淘汰算法页面淘汰页面淘汰算法,将以后永不使用的或许是在最长(未来)时间内不再被访问的页面。采用最佳置换算法,通常可保证获得最低的缺页率。但由于人目前还无法预知一个进程在内存的若干个页面中,哪一个页面是未来最长时间内不再被访问的,因而该算法是无法实现的,便可以利用此算法来评价其它算法。 Microsoft Visual C++ 二.设计思路 2.1问题描述及设计思想在进程运行过程中,若其所要访问的页面不在内存需把它们调入内存,但内存已无空闲空间时,为了保证该进程能正常运行,系统必须从内存中调出一页程序或数据,送磁盘的对换区中。但应将哪个页面调出,所以需要根据一定的算法来确定。以下分别是三个算法的设计思想。 OPTIMAL:最佳置换算法。其所选择的被淘汰页面,将是以后永不使用的,或是在最长(未来)时间内不再被访问的页面。 FIFO:先进先出置换算法。该算法总是淘汰最先进入内存的页面,既选择在内存中驻留时间最久的页面予以淘汰。 LRU:最近最久未使用置换算法。该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间T,当须淘汰一个页面时,选择现有页面中其T值最大的给予淘汰。 本设计的目的是通过设计一个简单的请求调页存储管理系统来模拟实际的页面调度算法与过程,以掌握这种有用的技术。要求将其输入/输出处理程序编成一个独立的进程模块并与其它请求输入/输出的进程并发运行。并要求加入设备管理子模块。 具体分析为:页面调度算法主要有FIFO、最近最少使用调度算法(LRU)、最近最不常用调度算法(LFU)、最佳算法(OPT)等。题目要求: 实现三种算法:1、先进先出;2、OPT;3、LRU 页面序列从指定的文本文件(TXT文件)中取出 输出:第一行:每次淘汰的页面号,第二行:显示缺页的总次数 本次设计并没有进入系统空间对实际进程页面进行控制,而是在用户空间用线性表的存储方式对页面置换算法进行模拟。 三、具体实现 3.1总体设计: 首先用输入函数输入一个页面访问序列和当前分配给作业的块数。 再选择相应的算法。 3.2各模块功能N-S图以及流程图 1)寻找时间最长的页面功能模块: 算法思想:通过寻找时间最长的页面,为进行FIFO,LRU,OPT三种调度算法运算提供前提条件。 主要参数功能 :Pro *page 用来指向调入内存最长时间的页面 Max()函数N-S图 2)内存页面输入功能模块: 算法思想:通过输入内存页面,选择调度功能,并输入正确页面流文件名,显示读入的页面流,如文件不符,则显示“错误,文件打不开,请检查文件名”。 3)指针页面移动功能模块: 算法思想:通过指

文档评论(0)

pangzilva + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档