




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验八 页式虚拟存储管理中地址转换和缺页中断的模拟(综合性编程实验 4学时)(本次作业要交,交作业时间:第12周上实验课前交)目的要求通过模拟页式虚拟存储管理中地址转换和页面置换,主要了解页式存储管理 的思想,以及掌握页式地址转换过程和缺页中断处理过程。实验任务编程模拟页式虚拟存储管理中硬件地址转换和用先进先出算法(FIFO)及其 他一种算法(由同学们在FIFO外任选一种,在(二)的输出时的第一行说明是哪 一种置换算法)处理缺页中断。实验环境、设备硬件:586以上的PC系列机,主频大于166M,内存大于16MB,硬盘空闲空 间大于500MB。软件:选择一个自己熟悉的计算机操作系统(如DOS、W
2、indows98 / 2000 /XP、UNIX、linux等,根据各学校的条件与环境而定)和程序设计语言(如TurboC、C语言、PASCAL语言等)。编程语言由各位同学自己选择确定,不做统一规定。实验指导编程实现两个功能:一是地址转换;二是模拟页面置换情况。(一)地址转换:A.将逻辑地址中的页号分离出来,查找页表,将查找到的块号与逻辑地址中 的页内偏移量合成实际地址,若查找不到则产生缺页中断,按FIFO的方法置换 页面。数据结构arraysize-pt 2为页表,其中 arrayn0为页号,arrayn1为块 号,size-pt表示系统分配给进程块数,即页表中的页数。地址变换算法思想首先初
3、始化页表:赋值给分配的块数(页表的大小)size-pt=3,然后赋 值给初始页表中的页号(-1,-1,-1)和相对应的块号(2,5,3),初始化完成后程序 输出初始化后的页表。然后是地址转换:输入10进制逻辑地址,程序分离出逻辑地址的页号, 然后查找页表,若缺页则提示中断发生,并修改页表,然后输出转换后的地址, 输出页表。3 .执行情况程序提示please input size of the page table:”,要求输入分配的块数size-pt,即页表的大小。(此时输入3,并把size-pt赋值3)然后根据size-pt,循环输入初始化页表里的页号(-1,-1,-1)和对应的块号 (2,
4、5,3)。用J来表示下一个将会被置换的页面存放位置,初始指向页表中最后一个页 面,按照(j + 1)%size-pt循环。(将j赋值为0)。然后程序输出页表情况:页号和对应的块号。(即:)至此初始化完成。程序提示input the address wanted to be translated。 exit):”,要求输入要转换的逻辑地址.程序分离出页号后查找页表,查找到则直接输出转换后的地址。否则提示intermittence occurred, page A has been replaced with page B”,A代表被置换的页号,B代表置换后的页号。然后再输出转换后的地址(10进制
5、)。输出转换后的地址后,程序还把转换后的页表显示出来,可以清楚地了解页 表是否被置换和置换情况。最后,结束时,输出缺页中断次数。4.结果举例初始时页表如下:输入逻辑地址5000(程序假设页面大小为1k即1024).5000/1024=4; 5000%1024=9045000(4,904)查找 arrayi0(for(int i=0;i=2;i+)if(arrayi0=4) x=i;break;等等)a.如果找到,5000。分(4,904)。分(2,904)。分2*1024+904,输出此结果。b.如果没找到,产生缺页中断,根据j所指向的位置(例1:假设j=0),把 arrayj0=4;然后找出
6、 arrayj1=2,5000。分(4,904)。分(2,904) 62*1024+904 ;修改 j 的值,j=(j+1) % size-pt;然后把 sum-int+;根据j所指向的位置(例2 :假设j=1),把arrayj0=4;然后找出 arrayj1=5,5000。分(4,904)。分(5,904)。分5*1024+904 ;修改 j 的 值,j=(j+1) % size-pt;然后把 sum-int+;(二)页面置换模拟:算法思想输入页面序列,缺页时按FIFO的策略进行页面置换,输出置换情况和缺页 次数.数据结构size-pt表示分配给该进程的块数(本例为3)。j指向下一个将被置换
7、的页面,初始为0,指向页表的第一项.sum-int用来计算中断次数。执行结果举例输入size-pt为3输入页面序列为 5000,3172,2072,1279,4100,3190,5200,100,200,-1 (-1表示输入结束)。(所在页面数:第4、3、2、1、4、3、5、0、0)输出为:There has been intermittencesoccurred.表示有次中断发生五.实验源代码import java.util.*;public class Example public static void main(String args) final int a=1024;int siz
8、e_pt;/ 页表大小System.out.println(please input size of the page table:);Scanner reader二new Scanner(System.in);size_pt=reader.nextInt();int array二new intsize_pt2;/ 二维数组表示页表 System.out.println(please initise array:);for(int i=0;isize_pt;i+) for(int k=0;k2;k+)arrayik=reader.nextInt();System.out.println(置换前
9、的页表:); for(int i=0;isize_pt;i+) for(int k=0;k2;k+) System.out.print(arrayik+);System.out.println();int sum_int=0;/ 中断次数 int num=1;/逻辑地址 int yemianshu;/ 页面数int b;/置换后的页号int kuaihao;/ 块号int xiangdui;/相对地址int j=0;/下一个将要被置换的页面存放位置 int i;while(num!=-1) System.out.println(请输入地址:); num二reader.nextInt();if(num=-1) break; yemianshu=num/a; b=num%a; for(i=0;i=2)/产生缺页中断; arrayj0=yemianshu; kuaihao二arrayj1; sum_int+; j=(+j)%3; else/查页表; kuaihao二arrayi1;/ sum_int+;xiangdui二kuaihao*a+b;System.out.println(yemianshu+ +arrayj0+ +xiangdui); System.ou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山西警察学院《道路勘测设计A》2023-2024学年第一学期期末试卷
- 广西防城港市上思县重点达标名校2024-2025学年初三一测化学试题试卷含解析
- 洛阳科技职业学院《金属切削原理》2023-2024学年第二学期期末试卷
- 吉林省长春市教研室重点达标名校2024-2025学年初三下学期第五次月考(一模)英语试题试卷含答案
- 江西冶金职业技术学院《英语听力三》2023-2024学年第二学期期末试卷
- 曲靖师范学院《高级英语A2》2023-2024学年第二学期期末试卷
- 重庆师范大学《环境生态工程CAD》2023-2024学年第二学期期末试卷
- 河北省南宫市私立实验小学2024-2025学年五下数学期末检测模拟试题含答案
- 山西省晋城市部分学校 2024-2025学年七年级下学期3月月考生物试题(含答案)
- 2024-2025学年福建省宁德市高二下学期3月月考英语试题(含答案)
- GIS软件工程第章 GIS软件工程的方法
- 猜猜我有多爱你(绘本)
- 2019年辽宁省普通高考志愿填报表(一)
- x-y数控工作台机电系统设计
- 《地基基础-基桩静荷载试验》考试复习题库(含答案)
- 工程交付使用表
- 电子物证专业考试复习题库(含答案)
- 质量检验控制流程图
- 人教版音乐三年级下册知识总结
- 2022年江苏对口单招市场营销试卷剖析
- 【课件】第7课 西方古典美术的传统与成就 课件高中美术鲁美版美术鉴赏
评论
0/150
提交评论