页面置换算法模拟实验 操作系统大作业(含源文件).pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《页面置换算法模拟实验 操作系统大作业(含源文件).pdf》由会员分享,可在线阅读,更多相关《页面置换算法模拟实验 操作系统大作业(含源文件).pdf(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、“计算机操作系统”课程设计大作业“计算机操作系统”课程设计大作业页面置换算法模拟实验页面置换算法模拟实验(含完整资料,可直接提交含完整资料,可直接提交)一、题目一、题目:页面置换算法模拟实验二、目的二、目的分别采用最佳(Optimal)置换算法、先进先出(FIFO)页面置换算法和最近最少使用(LRU)置换算法对用户输入的页面号请求序列进行淘汰和置换,从而加深对页面置换算法的理解。三、内容和要求三、内容和要求请用 C/C+语言编一个页面置换算法模拟程序。用户通过键盘输入分配的物理内存总块数,再输入用户逻辑页面号请求序列,然后分别采用最佳(Optimal)置换算法、先进先出(FIFO)页面置换算法
2、和最近最少使用(LRU)置换算法三种算法对页面请求序列进行转换,最后按照课本P150页图4-26的置换图格式输出每次页面请求后各物理块内存放的虚页号,并算出总的缺页率(缺页次数/总的请求次数)。最后三种页面置换算法的优缺点。三种页面置换算法的思想可参考教材 P149-P152 页。假设页面号请求序列为 4、3、2、1、4、3、5、4、3、2、1、5,当分配给某进程的物理块数分别为 3 块和 4 块时,试用自己编写的模拟程序进行页面转换并输出置换图和缺页次数、缺页率。四、提交内容四、提交内容0本大作业每个人必须单独完成。最后需提交的内容包括:最后需提交的内容包括:源程序源程序(关键代码需要注释说
3、明)(关键代码需要注释说明)、可运行程序、运行结果、算法思路及流、可运行程序、运行结果、算法思路及流程图、心得体会。程图、心得体会。大作业严禁抄袭。发现抄袭一律以不及格论。大作业严禁抄袭。发现抄袭一律以不及格论。请大家严格按照大作业题目来编写程序,不要上交以前布置的大作业。如果提交的大作业题目与本文档要求不符,成绩一律为及格。如果提交的大作业题目与本文档要求不符,成绩一律为及格。目录目录摘要摘要.2 2正文正文.2 21、设计思路.32、各模块的伪码算法.63、函数的调用关系图.84、测试.13设计总结设计总结.1 15 5参考文献参考文献.1 16 6致致谢谢.1 17 7附录:部分源程序代
4、码附录:部分源程序代码.1 18 81摘摘要要UNIX 中,为了提高内存利用率,提供了内外存进程对换机制;内存空间的分配和回收均以页为单位进行;一个进程只需将其一部分(段或页)调入内存便可运行;还支持请求调页的存储管理方式。当进程在运行中需要访问某部分程序和数据时,发现其所在页面不在内存,就立即提出请求(向 CPU 发出缺页中断),由系统将其所需页面调入内存。这种页面调入方式叫请求调页,为实现请求调页,核心配置了四种数据结构:页表、页框号、访问位、修改位、有效位、保护位等。此设计为了了解 UNIX 的命令及使用格式,熟悉 UNIX/LINUX 的常用基本命令,练习并掌握 UNIX 提供的 vi
5、 编辑器来编译 C 程序,学会利用 gcc、gdb编译、调试 C 程序,学会如何把学到的知识用于解决实际问题,培养学生的能力。关键字UNIX请求调页数据结构存储管理编辑器调试C 程序2正正文文一、一、设计思路页面置换算法:当 CPU 接收到缺页中断信号,中断处理程序先保存现场,分析中断原因,转入缺页中断处理程序。该程序通过查找页表,得到该页所在外存的物理块号。如果此时内存未满,能容纳新页,则启动磁盘I/O 将所缺之页调入内存,然后修改页表。如果内存已满,则须按某种置换算法从内存中选出一页准备换出,是否重新写盘由页表的修改位决定,然后将缺页调入,修改页表。利用修改后的页表,去形成所要访问数据的物
6、理地址,再去访问内存数据。整个页面的调入过程对用户是透明的。此设计为了了解 UNIX 的命令及使用格式,熟悉UNIX/LINUX 的常用基本命令,练习并掌握 UNIX 提供的 vi 编辑器来编译 C 程序,学会利用 gcc、gdb 编译、调试 C 程序,学会如何把学到的知识用于解决实际问题,培养学生的动手能力。二、设计目的1、用 C 语言实现页面置换算法。2、了解内存分页管理策略3、掌握调页策略4、掌握一般常用的调度算法 5选取调度算法中的典型算法,模拟实现。三、设计任务在 Window98/2000 系统的 TC2.0 环境下运行程序;通过从一般常用的调页算法中选取典型算法程序,了解页面管理
7、的相关细节,并用程序设计实现该算法实验。四、设计内容与步骤分页存储管理将一个进程的逻辑地址空间分成若干大小相等的片,称为页面或页。五、调页策略1)何时调入页面如果进程的许多页是存放在外存的一个连续区域中,则一次调入若干个相邻的页,会比一次调入一页的效率更高效一些。但如果调入的一批页面中的大多数都未被访问,则又是低效的。可采用一种以预测为基础的预调页策略,将那些预计在不久之后便会被访问的页面,预先调入内存。如果预测较准确,那么,这3种策略显然是很有吸引力的。但目前预调页的成功率仅为50%。且这种策略主要用于进程的首次调入时,由程序员指出应该先调入哪些页。2)请求调页策略当进程在运行中需要访问某部
8、分程序和数据时,若发现其所在的页面不在内存,便即提出请求,由 OS 将其所需页面调入内存。由请示调页策略所确定调入的页,是一定会被访问的,再加之请求调页策略比较易于实现,故在目前的虚拟存储器中,大多采用此策略。但这种策略每次仅调入一页,故须花费较大的系统开销,增加了磁盘 I/O 的启用频率。3)从何处调入页面在请求分页系统中的外存分为两部分:用于存放文件的文件区和用于存放对换页面的对换区。通常,由于对换区是采用连续分配方式,而事件是采用离散分配方式,故对换区的磁盘 I/O 速度比文件区的高。这样,每当发生缺页请求时,系统应从何处将缺页调入内存,可分成如下三种情况:(1)系统拥有足够的对换区空间
9、,这时可以全部从对换区调入 所需页面,以提高调页速度。为此,在进程运行前,便须将与该进程有关的文件,从文件区拷贝到对换区。(2)系统缺少足够的对换区空间,这时凡是不会被修改的文件,都直接从文件区调入;而当换出这些页面时,由于它们未被修改而不必再将它们换出时,以后需要时,再从对换区调入。(3)UNIX 方式。由于与进程有关的文件都放在文件区,故凡是未运行过的页面,都从文件区调入。而对于曾经运行过但又被换出的页面,由于被放在对换区,因此在下次时,应从对换区调入。由于 UNIX 系统允许页面共享,因此,某进程所请求的页面有可能已被其它进程调入内存,此时也就无须再从对换区调入。3 页面调入过程每当程序
10、所要访问的页面未在内存时,便向 CPU 发出一缺页中断,中断处理程序首先保留 CPU 环境,分析中断原因后,转入缺页中断处理程序。该程序通过查找页表,得到该页在外在原物理 块后,如果此时内存能容纳新页,则启动磁盘 I/O 将所缺之页调入内存,然后修改页表。如果内存已满,则须先按照某种置换算法从内存中选出一页准备换出;如果该页未被修改过,可不必将该页写回磁盘;但如果此页已被修改,则必须将它写回磁盘,然后再把所缺的页调入内存,并修改页表中的相应表项,置其存在位“1”,并将此页表项写入快表中。在缺页调入内存后,利用修改后的页表,去形成所要访问数据的物理地址,再去访问内存数据。整个页面的调入过程对用户
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 页面置换算法模拟实验 操作系统大作业含源文件 页面 置换 算法 模拟 实验 操作系统 作业 源文件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内