页式虚拟存储器管理中地址转换和缺页中断.doc
《页式虚拟存储器管理中地址转换和缺页中断.doc》由会员分享,可在线阅读,更多相关《页式虚拟存储器管理中地址转换和缺页中断.doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验题目:页式虚拟存储器管理中地址转换和缺页中断一、 实验目的1、 深入了解页式存储管理如何实现地址转换;2、 进一步认识页式虚拟存储管理中如何实现缺页中断。二、 实验预备知识1、 页式存储管理中地址转换的方法;2、 页式虚拟存储的缺页中断处理方法。三、 实验内容编写程序完成页式虚拟存储管理中地址转换过程和模拟缺页中断的处理。实验具体包括:首先对给定的地址进行地址转换工作,若发生缺页则先进行缺页中断处理,然后再进行地址转换;最后编写主函数对所做工作进行测试。假定内存64KB,每个内存块1K(1024字节),作业最大支持到64KB,系统中每个作业分得内存块4块。提示1、页式存储管理中地址转换过程
2、:假设内存块的大小为2n字节,内存大小为2m字节和逻辑地址m位,则进行地址转换时,首先从逻辑地址中的高m-n位中取得页号,然后根据页号查页表,得到块号,并将块号放入物理地址的高m-n位,最后从逻辑地址中取得低n位放入物理地址的低n位就得到了物理地址,实验中使用软件模拟地址的转换过程,模拟地址转换的流程如下:2、缺页处理过程(1)根据当前执行指令中逻辑地址的页号查页表,判断该页是否在主存储器中,若该页标志为“0”,形成缺页中断。中断装置通过交换PSW让操作系统的中断处理程序占用处理机;(2)操作系统处理缺页中断的方法就是查内存分配表,找一个空闲内存块;若无空闲块,查找表,选择一个已在内存的页面,
3、把它暂时调出内存。若在执行过程中该页被修改过,则需将该页信息写回磁盘,否则不必写回;(3)找出该页的磁盘位置,启动磁盘读出该页信息,把磁盘上读出的信息装入到第2步找到内存块,修改页表中该页的标志为“1”;(4)由于产生缺页中断的那条指令没有执行完,所以页面装入后应重新执行被中断的指令。当重新执行该指令时,由于要访问的页面已在内存中,所以可正常执行。程序代码ia #include#define n 64 /页表的最大长度#define length 4 /系统为每个作业分配的主存块数structint lnumber; /页号int flag; /表示页是否在主存中,“1”表示在,“0”表示不在
4、int pnumber; /该页所在主存块的块号int write; /该页是否被修改过,“1”表示修改过,“0“表示没有修改过int dnumber; /该页存放在磁盘上的位置,即磁盘块号pagen; /页表定义int m;int page_length; /页表的实际长度int plength; /用向量模拟主存int head;void page_interrupt(int); /缺页中断处理函数void command(unsigned, int); /命令处理函数void main()int lnumber,pnumber,write,dnumber;unsigned laddres
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 虚拟 存储器 管理 地址 转换 中断
限制150内