分享
分销 收藏 举报 申诉 / 9
播放页_导航下方通栏广告

类型模拟分页式虚拟存储管理中地址转换及缺页中断.doc

  • 上传人:仙人****88
  • 文档编号:7393548
  • 上传时间:2025-01-02
  • 格式:DOC
  • 页数:9
  • 大小:140.50KB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    模拟 分页 虚拟 存储 管理 地址 转换 中断
    资源描述:
    合肥学院 计算机科学与技术系 实验报告 2009 ~2010 学年第 一 学期 课程 操作系统原理 实验名称 模拟分页式存储管理中硬件的地址转换和 产生缺页中断 学生姓名 方岚 王庆红 王兆娟 何佳丽 专业班级 07计本(1) 指导教师 屠 菁 2009 年 11 月 一、实验目的 在计算机系统中,为了提高主存利用率,往往把辅助存储器(如磁盘)作为主存储器的扩充,使多道运行的作业的全部逻辑地址空间总和可以超出主存的绝对地址空间。通过这次实习理解在分页式存储管理中怎样实现虚拟存储器。深入了解分页式存储管理如何实现地址转换,进一步认识分页式虚拟存储管理中如何处理缺页中断。 二、实验内容 编写程序完成页式虚拟存储管理中地址转换过程和模拟缺页中断的处理。实验具体包括:首先对给定的地址进行地址转换工作,若发生缺页则先进行缺页中断处理,然后再进行地址转换;最后编写主函数对所作工作进程测试。 假定主存64KB,每个主存块1024字节,作业最大支持到64KB,系统中每个作业分得主存块4块。 三、实验步骤 1. 概要设计 分页式存储管理中地址转换过程很简单,假定主存块的大小为2n字节,主存大小为2m'字节和逻辑地址m位,则进行地址转换时,首先从逻辑地址中的高m-n位中取得页号,然后根据页号查页表,得到块号,并将块号放入物理地址的高m'-n位,最后从逻辑地址中取得低n位放入物理地址的低n位就得到了物理地址,过程如图1所示。 页 号 页内地址 块 号 块内地址 页号 … 块号 …  …  … 物理地址 逻辑地址 m' n n-1 0 m n n-1 0 图1 页式存储管理系统地址转换示意图 地址转换是由硬件完成的,实验中使用软件程序模拟地址转换过程,模拟地址转换的流程图如图2.7所示(实验中假定主存64KB,每个主存块1024字节,即n=10,m'=16,物理地址中块号6位、块内地址10位;作业最大64KB,即m=16,逻辑地址中页号6位、页内地址10位)。 在分页式虚拟存储管理方式中,作业信息作为副本放在磁盘上,作业执行时仅把作业信息的部分页面装入主存储器,作业执行时若访问的页面在主存中,则按上述方式进行地址转换,若访问的页面不在主存中,则产生一个“缺页中断”,由操作系统把当前所需的页面装入主存储器后,再次执行时才可以按上述方法进行地址转换。页式虚拟存储管理方式中页表除页号和该页对应的主存块号外,至少还要包括存在标志(该页是否在主存),磁盘位置(该页的副本在磁盘上的位置)和修改标志(该页是否修改过)。 缺页处理过程简单阐述如下: ① 根据当前执行指令中逻辑地址中的页号查页表,判断该页是否在主存储器中,若该页标志为“0”,形成缺页中断。中断装置通过交换PSW让操作系统的中断处理程序占用处理器; ② 操作系统处理缺页中断的方法就是查主存分配表,找一个空闲主存块;若无空闲块,查页表,选择一个已在主存的页面,把它暂时调出主存。若在执行过程中该页被修改过,则需将该页信息写回磁盘,否则不必写回; ③ 找出该页的磁盘位置,启动磁盘读出该页信息,把磁盘上读出的信息装入第2步找到的主存块,修改页表中该页的标志为“1”; ④ 由于产生缺页中断的那条指令没有执行完,所以页面装入后应重新执行被中断的指令。当重新执行该指令时,由于要访问的页面已在主存中,所以可正常执行。 关于第②步的查找装入新页面的主存块的处理方式,不同系统采用的策略可能有所不同,这里采用局部置换算法,就是每个作业分得一定的主存块,只能在分得的主存块内查找空闲块,若无空闲主存块,则从该作业中选择一个页面淘汰出主存。 2. 详细设计 (1).分页式虚拟存储系统是把作业信息的副本存放在磁盘上,当作业被选中时,可把作业的开始几页装入主存且启动执行。为此,在为作业建立页表时,应说明哪些页已在主存,哪些页尚未装入主存,页表的格式如表1: 表1 作业页表格式 页号 标志 主存块号 在磁盘上的位置 主要数据结构设计 struct info //页表 { bool flag; 标志 //用来表示对应页是否已经装入主存,标志位=1,则表示页已经在主存,标志位=0,则表示该页尚未装入主存。 long block; 主存块号 //用来表示已经装入主存的页所站的块号 long disk; 磁盘位置即磁盘块号//用来指出作业副本的每一页被存放在磁盘上的位置 } pagelist[SizeOfPage]; //定义结构体 用来存储页表信息 (2).作业执行时,指令中的逻辑地址指出了参加运算的操作数存放的页号和单元号,硬件的地址转换机构按页号查页表,若该页对应标志为“1”,则表示该页已在主存,根据关系式: 绝对地址=块号×块长+单元号 计算出欲访问的主存单元地址。若访问的页对应标志为“0”,则表示该页不在主存,这时硬件发“缺页中断”信号,由操作系统按该页在磁盘上的位置,把该页信息从磁盘读出装入主存后再重新执行这条指令。 (3).设计一个“地址转换”函数work_ex()来模拟硬件的地址转换工作。当访问的页在主存时,则形成绝对地址。当访问的页不在主存时,则输出“*该页页号”,表示产生了一次缺页中断。 (4).假定主存的每块长度为128字节;现有一个共七页的作业,在函数init_ex()中对页表初始化,将第0页到第3页中的内容装入主存中,其余三页未装入主存;该作业的页表如表2: 表2 主存中页表格式 0 1 5 011 1 1 8 012 2 1 9 013 3 1 1 021 4 0 022 5 0 023 6 0 121 如果作业依次为执行的指令序列,作业执行指令序列表,如表3: 表3 作业执行指令序列表 操作 页号 单元号 操作 页号 单元号 + 0 070 移位 4 053 + 1 050 + 5 023 × 2 015 存 1 037 存 3 021 取 2 078 取 0 056 + 4 001 - 6 040 存 6 084 (5).在主函数int main()中调用函数work_ex()和函数init_ex(),实现地址的转换和产生缺页中断。 3. 算法设计 函数名 int main() 功能 实现地址转换。 流程图如:图2所示 否 是 结束 取下一条指令 有后继指令? 是 输出绝对地址 形成绝对地址 否 输出“*”页号表示发生缺页中断 该页标志 =1? 查页表 取指令中访问的页号 取一条指令 开 始 图2 地址转换的主程序流程图 4.结果显示: 地址转换——在主存,输出绝对地址;不在,输出*。如图2所示: 图2 地址转换 四、 参考资料: 《计算机操作系统》 汤子瀛 哲凤屏 汤小丹 编著 西安电子科技大学出版社 《C++程序设计》 吴乃陵 李海文 编著 高等教育出版社 《C语言程序设计》 谭浩强 编著 清华大学出版社 五、实验总结 我们的题目是模拟分页式存储管理中硬件的地址转换和产生缺页中断,主要的思路和步骤就是根据流程图走下来的。在这个实验中由于所学的知识有限,为了理解在分页式存储管理中怎样实现虚拟存储器,做了很多知识准备工作,参考了相关书籍资料,对怎样产生和处理缺页中断有了一定的了解。 在对题目深刻了解后我们就开始编程,在编程中我们遇到许多语法错误和语意错误,因此,在调试上运用了大量的时间。但最后在老师和同学的帮助下,问题都得到了解决,收获是很大的。而且我在编程是也掌握了不少编程技巧。并在这次的编写过程中,培养了团结合作的精神,大家分工合作,共同讨论,最终完成了这次设计。 通过做本次实验,我们对分页式虚拟存储管理系统和缺页中断有了更深入的认识。在分页式虚拟存储系统中是把作业信息的副本存放在磁盘上。而在请求分页系统中,每当所要访问的页面不在内存时,便产生一次缺页中断,请求OS将所缺之页调入内存。本次实验即是做模拟分页式存储管理中硬件的地址转换和缺页中断。通过编写模拟硬件的地址转换工作的程序,不仅加深了我们对绝对地址如何转换的理解,同时也锻炼了我们的编程能力。 六、 附录 #include <stdio.h> #include <string.h> #define SizeOfPage 100 #define SizeOfBlock 128 #define M 4 struct info//页表 { bool flag; //标志 long block;//块号 long disk;//在磁盘上的位置 }pagelist[SizeOfPage]; long P[M]; void init_ex() //把页表初始化 { pagelist[0].flag=1; pagelist[0].block=5; pagelist[0].disk=011; pagelist[1].flag=1; pagelist[1].block=8; pagelist[1].disk=012; pagelist[2].flag=1; pagelist[2].block=9; pagelist[2].disk=013; pagelist[3].flag=1; pagelist[3].block=1; pagelist[3].disk=021; pagelist[4].flag=0; pagelist[4].disk=022; pagelist[5].flag=0; pagelist[5].disk=023; pagelist[6].flag=0; pagelist[6].disk=121; } void work_ex() { bool stop=0; //stop=1,结束程序;stop=0,继续程序 long p,q; char s[128]; do { printf("请输入指令的页号和单元号:\n"); if(scanf("%ld%ld",&p,&q)!=2) //输入的数不是两个数 { scanf("%s",s); if (strcmp(s,"exit")==0) {stop=1;} } else { if (pagelist[p].flag==1) //标志为1,则该页在内存中 {printf("绝对地址=%ld\n",pagelist[p].block*SizeOfBlock+q);} else {printf("* %ld\n",p);} } }while (!stop); //只要stop!=1,执行程序 } void main() { init_ex(); work_ex(); }
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:模拟分页式虚拟存储管理中地址转换及缺页中断.doc
    链接地址:https://www.zixin.com.cn/doc/7393548.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork