




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
页式虚拟存储管理中地址转换和缺页中断实验报告一实验目的1深入了解页式存储管理如何实现地址转换;2进一步认识页式虚拟存储管理中如何处理缺页中断。二实验仪器PC、windows操作系统、Visual C+6.0三实验原理 编写程序完成页式存储管理中地址转换过程和模拟缺页中断的处理。实验具体包括:首先对给定的地址进行地址转换工作,若发生缺页则先进行缺页中断处理,然后再进行地址转换;最后编写主函数对所做工作进行测试。 四实验步骤代码一#include #include #define n 64 /模拟实验中假定的页表长度#define length 10structint lnumber;/页号int flag;/表示页是否在主存,1表示在,0表示不在int pnumber;/该页所在主存块的块号int write; /该页是否被修改过,1表示修改过,0表示没有被修改过int dnumber;/该页存放在磁盘上的位置,即磁盘块号pagen;/页表定义int m; /作业在主存中的主存块块数int page_length;/页表实际长度int plength;/存放在主存中页的页号int head;/主存中页号队列头指针page_interrupt(lnumber) /缺页中断int lnumber;int j;printf(发生缺页中断* %dn,lnumber);j=phead;/淘汰页的页号phead=lnumber; /新装入的页号head=(head+1) %m;if (pagej.write=1) /如果该页被修改过printf(将页 %d写回磁盘第%d块n,j,pagej.dnumber);/输出页号pagej.flag=0; /该页不在主存,执行缺页中断,将标志改为不在主存pagelnumber.pnumber=pagej.pnumber; /使j转去执行缺页中断pagelnumber.flag=1;/将所需页重新调入内存pagelnumber.write=0;/将标志改为未被修改过printf(淘汰主存%2d 中的页数%2d,从磁盘第%d 块中调入页%2dn,pagej.pnumber,j,pagelnumber.dnumber,lnumber);command(laddress,write)unsigned laddress;int write;unsigned paddress,ad,pnumber,lnumber;kk:lnumber=laddress 10;ad=laddress &0x3ff;if(lnumber = page_length)/如果页号大于页表长度,则该页不存在printf(不存在该页n);return;if(pagelnumber.flag=1)/如果页表在主存内pnumber=pagelnumber.pnumber;/从页表中取得块号paddress=pnumber10|ad;/合并块号和块内地址形成物理地址paddress;printf(逻辑地址是: %x 对应物理地址是:%xn,laddress,paddress);if(write=1)/如果需要写,修改页的修改标志位pagelnumber.write=1;elsepage_interrupt(lnumber);/执行缺页中断goto kk;/命令处理函数结束void main()int lnumber,flag,pnumber,write,dnumber;unsigned laddress;int i;printf(输入页表的信息,创建页表(若页号为-1,则结束输入)n);printf(输入页号和辅存地址:);scanf(%d %d,&lnumber,&dnumber);/读入页号和辅存地址i=0;while(lnumber!=-1)/当页号不存在时,修改页表的信息,将各种标志位置0pagei.lnumber=lnumber;pagei.flag=0;pagei.write=0;pagei.dnumber=dnumber;i+;printf(输入页号和辅存地址:);scanf(%d%d,&lnumber,&dnumber);/重新读入新的页号和辅存地址page_length=i;/页表的长度为页面的数量printf(输入主存块号,主存块数要小于%d,(以-1结束):,i);scanf(%d,&pnumber);m=0;/作业在主存中的主存块块数head=0;/主存中页号队列头指针while(pnumber!=-1)if(m=i)/块号小于页号pagem.pnumber=pnumber;/将块号写入页表,并装入内存pagem.flag=1;pm=m;m+;scanf(%d,&pnumber);printf(输入指令性质(1-修改,0-不需要,其他一结束程序运行)和逻辑地址:);scanf(%d%x,&write,&laddress);while(write=0|write=1)command(laddress,write);/执行相应的指令printf(输入指令性质(1-修改,0-不需要,其他一结束程序运行)和逻辑地址:);scanf(%d%x,&write,&laddress);/main()结束代码二#include#include#includeusing namespace std;char useSign125=+,-,*,存,取,-,移位,+,存,取,+,存;int PageAddress12=70,50,15,21,56,40,53,23,37,78,01,84;int PageNum12=0,1,2,3,0,6,4,5,1,2,4,6;int S_Station;int pPageNum7;/页号pPageint pSign7;int pStool7;/页架号int pModify7;/修改标志int pStation7;/磁盘位置static int z=0;void Store() for(int i=0;i7;i+) if(i4) pSigni=1; else pSigni=0; pPageNumi=i; pModifyi=0; int p1=1,p2=2,p3=3; for(i=0;i7;i+) if(i3) pStationi=p1; p1+; else if(i6) pStationi=p2; p2+; else pStationi=p3; pStool0=5; pStool1=8; pStool2=9; pStool3=1;void CShow() cout操作 ; cout页号 ; cout页内地址 ; cout标志 ; cout绝对地址 ; cout修改页号 ; cout页架号 ; coutendl;void Find() int m_Pagenum; int m_Station; int Y_Station;/绝对地址 int m_Stool; coutm_Pagenumm_Station; CShow(); int i,j=0; /string m_Modify; for(i=0;i12;i+) if(PageAddressi=m_Station) break; Y_Station=pStoolm_Pagenum*1024+m_Station; if(pSignm_Pagenum=1) if(strcpy(useSigni,存)!=0) pModifym_Pagenum=1; coutuseSignit; coutm_Pagenumt; coutm_Stationt ; coutpSignm_Pagenumt; if(Y_Station!=m_Station) coutY_Stationt; coutpStoolm_Pagenumt; coutY_Stationendl; else cout*m_Pagenum ; for(j=z;j7;j+) if(pSignj=1) z+; break; coutm_Pagenumjt; pStoolm_Pagenum=pStoolj; pSignj=0; pStoolj=0; coutpStool
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年学校体育馆体育赛事组织空间评估报告
- 地坪修整施工工程合同
- 恩施州2026届高三第一次质量监测暨9月起点考试 历史
- 煤矿职业病危害防治责任制度
- 四年级禁毒防艾教学计划
- 巡游出租车课件
- 岩石观察课件
- 输电线路安全培训课件
- 输液过敏反应课件
- 10.2.2 复数的乘法与除法
- 2025全国企业员工全面质量管理知识竞赛试题及答案
- 国内外新能源现状及发展趋势课件
- 大班科学《玩转扑克牌》课件
- 高速公路改扩建桥梁拼宽施工技术及质量控制
- 双台110kV主变短路电流计算书
- DB1750-2019水电站(厂)防雷与接地性能测试技术规范
- 牛常见病防治课件
- 你不懂咖啡课件
- 危险物品储存安全隐患排查整治表
- 装饰工程保修单
- IInterlib区域图书馆集群管理系统-用户手册
评论
0/150
提交评论