模拟分页式虚拟存储管理中地址转换和缺页中断.docx
上传人:13****88 上传时间:2024-09-14 格式:DOCX 页数:9 大小:59KB 金币:6 举报 版权申诉
预览加载中,请您耐心等待几秒...

模拟分页式虚拟存储管理中地址转换和缺页中断.docx

模拟分页式虚拟存储管理中地址转换和缺页中断.docx

预览

在线预览结束,喜欢就下载吧,查找使用更方便

6 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

合肥学院计算机科学与技术系实验报告2009~2010学年第一学期课程操作系统原理实验名称模拟分页式存储管理中硬件的地址转换和产生缺页中缀先生姓名方岚王庆红王兆娟何佳丽专业班级07计本(1)指点教师屠菁2009年11月一、实验目的在计算机系统中,为了提高主存利用率,往往把辅助存储器(如磁盘)作为主存储器的扩充,使多道运转的作业的全部逻辑地址空间总和可以超出主存的绝对地址空间。通过这次实习理解在分页式存储管理中怎样实现虚拟存储器。深入了解分页式存储管理如何实现地址转换,进一步认识分页式虚拟存储管理中如何处理缺页中缀。二、实验内容编写程序完成页式虚拟存储管理中地址转换过程和模拟缺页中缀的处理。实验具体包括:首先对给定的地址进行地址转换工作,若发生缺页则先进行缺页中缀处理,然后再进行地址转换;最初编写主函数对所作工作进程测试。假定主存64KB,每个主存块1024字节,作业最大支持到64KB,系统中每个作业分得主存块4块。三、实验步骤1.概要设计分页式存储管理中地址转换过程很简单,假定主存块的大小为2n字节,主存大小为2m'字节和逻辑地址m位,则进行地址转换时,首先从逻辑地址中的高m-n位中取得页号,然后根据页号查页表,得到块号,并将块号放入物理地址的高m'-n位,最初从逻辑地址中取得低n位放入物理地址的低n位就得到了物理地址,过程如图1所示。页号页内地址块号块内地址页号…块号………物理地址逻辑地址m'nn-10mnn-10图1页式存储管理系统地址转换示意图地址转换是由硬件完成的,实验中使用软件程序模拟地址转换过程,模拟地址转换的流程图如图2.7所示(实验中假定主存64KB,每个主存块1024字节,即n=10,m'=16,物理地址中块号6位、块内地址10位;作业最大64KB,即m=16,逻辑地址中页号6位、页内地址10位)。在分页式虚拟存储管理方式中,作业信息作为副本放在磁盘上,作业履行时仅把作业信息的部分页面装入主存储器,作业履行时若访问的页面在主存中,则按上述方式进行地址转换,若访问的页面不在主存中,则产生一个“缺页中缀”,由操作系统把当前所需的页面装入主存储器后,再次履行时才可以按上述方法进行地址转换。页式虚拟存储管理方式中页表除页号和该页对应的主存块号外,最少还要包括存在标志(该页是否在主存),磁盘位置(该页的副本在磁盘上的位置)和修正标志(该页是否修正过)。缺页处理过程简单阐述如下:①根据当前履行指令中逻辑地址中的页号查页表,判断该页是否在主存储器中,若该页标志为“0”,构成缺页中缀。中缀安装通过交换PSW让操作系统的中缀处理程序占用途理器;②操作系统处理缺页中缀的方法就是查主存分配表,找一个空闲主存块;若无空闲块,查页表,选择一个已在主存的页面,把它暂时调出主存。若在履行过程中该页被修正过,则需将该页信息写回磁盘,否则不必写回;③找出该页的磁盘位置,启动磁盘读出该页信息,把磁盘上读出的信息装入第2步找到的主存块,修正页表中该页的标志为“1”;④由于产生缺页中缀的那条指令没有履行完,所以页面装入后应重新履行被中缀的指令。当重新履行该指令时,由于要访问的页面已在主存中,所以可正常履行。关于第②步的查找装入新页面的主存块的处理方式,不同系统采用的策略可能有所不同,这里采用局部置换算法,就是每个作业分得必然的主存块,只能在分得的主存块内查找空闲块,若无空闲主存块,则从该作业当选择一个页面淘汰出主存。详细设计(1).分页式虚拟存储系统是把作业信息的副本存放在磁盘上,当作业被选中时,可把作业的开始几页装入主存且启动履行。为此,在为作业建立页表时,应说明哪些页已在主存,哪些页尚未装入主存,页表的格式如表1:表1作业页表格式页号标志主存块号在磁盘上的位置次要数据结构设计structinfo//页表{boolflag;标志//用来表示对应页是否曾经装入主存,标志位=1,则表示页曾经在主存,标志位=0,则表示该页尚未装入主存。longblock;主存块号//用来表示曾经装入主存的页所站的块号longdisk;磁盘位置即磁盘块号//用来指出作业副本的每一页被存放在磁盘上的位置}pagelist[SizeOfPage];//定义结构体用来存储页表信息(2).作业履行时,指令中的逻辑地址指出了参加运算的操作数存放的页号和单元号,硬件的地址转换机构按页号查页表,若该页对应标志为“1”,则表示该页已在主存,根据关系式:绝对地址=块号×块长+单元号计算出欲访问的主存单元地址。若访问的页对应标志为“0”,则表示该页不在主存,这时候硬件发“缺页中缀”信号,由操作系统按该页在磁盘上的位置,把该页信息从磁盘读出装入主存后再重新履行