《编程演示三种存储管理方式的地址换算过程》实验报告.docx

《编程演示三种存储管理方式的地址换算过程》实验报告.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《编程演示三种存储管理方式的地址换算过程》实验报告

内师大计算机与信息工程学院 《操作系统》课程设计报告 实习题目编程演示三种存储管理方式的地址换算过程指导教师玉柱职 称副教授学生姓名学 号日 期2017/6 设计任务 编程演示三种存储管理方式的地址换算过程 2 设计的功能目标 1、分页方式的地址换算 2、分段方式的地址换算 3、段页式的地址换算 3 设计的思想、方法和技术(含数据结构、算法) 实验要求演示分页方式的地址换算,分段方式的地址换算,段页式的地址换算。 分页方式通过自定义的逻辑地址算出页号与页内地址,页号=逻辑地址/页面大小,业内地址=逻辑地址%页面大小,然后通过页表来实现向物理地址的转换。物理地址=块号*页面大小+页内地址 2.分段方式通过段号和段内地址得到物理地址。物理地址=段首地址+段内地址,段首地址根据段号找到,段号和逻辑地址自定义 3.段页式通过段号得到页表首地址,通过页号得到块号,进而得到物理地址。物理地址=页表首地址+块号*页面长度+页内地址,通过段号找到页表首地址,通过页号找到块号,其中逻辑地址段号,页号,页内地址自定义。 4 设计的主要代码及注释 分页式部分: int page(int A,int L) { int pl,pa; printf(int luo ji di zhi:); scanf(%d,pl); printf(int ye mian da xiao:); scanf(%d,pa); if(pl256) printf(luo ji di zhi %d ye biao chang du,wrong\n,pl); else{ int d,P,kd,i; int WD; int PT[256]; for(i=0;i256;i++) { PT[i]=rand() %512; } P=pl/pa; d=pl%pa; if(P=256) printf(ye hao biao chang du,wrong\n); else { printf(ye hao = luo ji di zhi / ye mian da xiao=%d,ye nei di zhi = luo ji di zhi % ye mian da xiao=%d\n,P,d); kd=PT[P]; printf(gen ju ye hao:%d get kuai hao:%d\n,P,kd); WD=kd*pa+d; printf(wu li kuai hao=kuai hao*ye mian da xiao+ye nei di zhi\n); printf(wu li di zhi=%d*%d+%d\n,kd,pa,d); printf(luo ji di zhi huan suan hou wu li di zhi=%d\n\n,WD); return (0); } } } 分段式部分: int Segment(int sn,int sd) { int i,wd; for(i=0;i255;i++) { st.segf[i]=rand()%255; st.segl[i]=rand()%2048; } if(sn256) printf(duan hao duan biao chang du 256,wrong\n\n,sn); else if(sdst.segl[sn]) printf(duan nei di zhi duan chang du ,wrong\n\n,sd,st.segl[sn]); else{ printf(gen ju duan hao zhao dao duan shou di zhi:%d\n,st.segf[sn]); printf(wu li di zhi=duan shou di zhi+duan nei di zhi\n); printf(wu li di zhi =%d+%d\n,st.segf[sn],sd); wd=st.segf[sn]+sd; printf(huan suan de dao de wu li di zhi=%d\n\n,wd); } return (0);

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档