下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验项目名称页式虚拟存储管理中地址转换和缺页中断实验目的及要求深入了解页式存储管理如何实现地址转换。进一步认识页式虚拟存储管理中如何处理缺页中断。实验内容编写程序完成页式虚拟存储管理中地址转换过程和模拟缺页中断的处理。实验具体包括:首先对给定的地址进行地址转换工作,若发生缺页则先进行缺页中断处理,然后再进行地址转换;最后编写主函数对所做工作进行测试。假定内存64KB,每个内存块1024字节;作业最大支持到64KB,系统中每个作业分得内存块4块。实验步骤缺页处理:根据当前执行指令中逻辑地址的页号查页表,判断该页是否在主存储器中,若该页标志为“0”操作系统处理缺页中断的方法就是查内存分配表,找一个空闲内存块;若无空闲块,查页表,选择一个已在内存的页面,把它暂时调出内存。若在执行过程中该页被修改过,则需将该页信息写回磁盘,否则不必写回;找出该页的磁盘位置,启动磁盘读出该页信息,把磁盘上读出的信息装入第2补找到的内存块,修改页表中该页的标志为“1”;由于产生缺页中断的那条指令没有执行完,所以页面装入后应重新执行被中断的指令。当重新执行该指令时,由于要访问的页面已在内存中,所以可以正常执行。实验环境WindowsXP、visualstudio2005实验结果与分析#include"stdio.h"#definen64#definelength10struct{ intlnumber; intflag; intpnumber; intwrite; intdnumber;}page[n];intm;intpage_length;intp[length];inthead;page_interrupt(intlnumber){ intj; printf("发生缺页3中断%d\n",lnumber); j=p[head]; p[head]=lnumber; head=(head+1)%m; if(page[j].write==1) printf("将页d写回磁盘第Ì块\n",j,page[j].dnumber); page[j].flag=0; page[lnumber].pnumber=page[j].pnumber; page[lnumber].flag=1; page[lnumber].write=0; printf("淘汰内存块%2d中Ì页°3%2d,从䨮磁ä?盘¨¬第̨²%d块¨¦中D调Ì¡Â入¨?页°3%2d\n",page[j].pnumber,j,page[lnumber].dnumber,lnumber);}command(unsignedladdress,intwrite){ unsignedpaddress,ad,pnumber,lnumber;kk: lnumber=laddress>>10; ad=laddress&0x3ff; if(lnumber>=page_length) { printf("不存在该页3\n"); return; } if(page[lnumber].flag==1) { pnumber=page[lnumber].pnumber; paddress=pnumber<<10|ad; printf("逻辑地址是x对应物理地址是%x\n",laddress,paddress); if(write==1) page[lnumber].write=1; } else { page_interrupt(lnumber); gotokk; }}voidmain(){ intlnumber,flag,pnumber,write,dnumber; unsignedladdress; inti; printf("输入页3表的信息,创建页3表(若页°3号为a,则结束输入)\n"); printf("输入页3号和辅存地址:"); scanf("%d%d",&lnumber,&dnumber); i=0; while(lnumber!=-1) { page[i].lnumber=lnumber; page[i].flag=0; page[i].write=0; page[i].dnumber=dnumber; i++; printf("输入页3号和辅存地址:"); scanf("%d%d",&lnumber,&dnumber); } page_length=i; printf(""输入指令性质<1-修改,0-不需要,其他-结束程序运行>和逻辑地址:",i);scanf("%d",&pnumber); m=0; head=0; while(pnumber!=-1) { if(m<=i) { page[m].pnumber=pnumber; page[m].flag=1; p[m]=m; m++; } scanf("%d",&pnumber); } printf("输入指令性质<1-修改,0-不需要,其他-结束程序运行>和¨ª逻辑地址:""); scanf("%d%x",&write,&laddress); while(write==0||write==1) { command(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 招聘面试题与参考回答(某世界500强集团)
- 2024年氨氮自动在线监测仪项目规划申请报告模板
- 2024年儿童动画项目立项申请报告
- 2024年嘧菌酯项目规划申请报告
- 2024年熔接机项目立项申请报告模板
- 2024-2030年中国生猪养殖行业发展前景展望及投资风险分析报告
- 2024-2030年中国现代农业商业模式发展趋势与投资规划研究报告
- 2022年大学化学专业大学物理下册期中考试试题B卷-含答案
- 2024-2030年中国爆米花行业市场发展趋势及销售渠道分析报告
- 2024-2030年中国煤矿重要用途钢丝绳项目可行性研究报告
- 中考字音字形练习题(含答案)-字音字形专项训练
- 食品安全与营养健康自查制度(学校食堂)
- 安全文明施工奖罚明细表
- CTD申报资料撰写模板:模块三之3.2.S.4原料药的质量控制
- 大学生视觉传达职业规划
- 人工智能算力中心平台建设及运营项目可行性研究报告
- 中国民航发展史智慧树知到期末考试答案章节答案2024年中国民航大学
- 口腔常见疾病的诊治
- MOOC 人像摄影-中国传媒大学 中国大学慕课答案
- MOOC 计算机组成原理-电子科技大学 中国大学慕课答案
- 2024年江苏无锡市江阴市江南水务股份有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论