页式虚拟存储管理中地址转换和页式中断班级实验五页式虚拟存储管理中地址转换和页式中断一、实验目的深入了解页式存储管理如何实现地址转换;进一步认识页式虚拟存储管理中如何处理缺页中断以及页面置换算法
二、实验主要内容编写程序完成页式虚拟存储管理中地址转换过程和模拟缺页中断的处理
实验具体内容包括:首先对给定的地址进行转换工作,若发现缺页则先进行缺页中断处理,然后再进行地址转换;最后编写主函数对所做工作进行测试
假定主存64KB,每个主存块1024字节,作业最大支持到64KB,系统中每个作业分得主存块4块
三、实验原理1)地址转换过程:首先从逻辑地址中的高位取得页号,然后根据页号查页表,得到块号;然后从逻辑地址中的低位取得页内地址,将块号和页内地址合并即得到物理地址
2)缺页中断处理根据页号查找页表,判断该页是否在主存储器中,若该页标志位“0”,形成缺页中断
操作系统让调出中断处理程序处理中断
四、实验方法与步骤实现地址转换与缺页中断处理,主要考虑三个问题:第一,设计页式虚拟存储管理方式中页表的数据结构;第二,地址转换算法的实现;第三,缺页中断处理算法的实现
1)设计页表的数据结构页式虚拟存储管理方式中页表除了页号和该页对应的主存块号外,至少还要包括存在标志(该页是否在主存),磁盘位置(该页的副本在磁盘上的位置)和修改标志(该页是否修改过)
在实验中页表用数组模拟,其数据结构定义如下:struct{intlnumber;//页号intflag;//表示页是否在主存中,“1”表示在,“0”表示不在intpnumber;//该页所在主存块的块号intwrite;//该页是否被修改过,“1”表示修改过,“0“表示没有修改过intdnumber;//该页存放在磁盘上的位置,即磁盘块号}page[n];//页表定义2)地址转换算法的实现地址转换是由硬件完成的,实验中使用软件程序模拟地址转换过