实验四__页式虚拟存储管理中地址转换和缺页中断.docx

实验四__页式虚拟存储管理中地址转换和缺页中断.docx

ID:59607361

大小:88.36 KB

页数:5页

时间:2020-11-14

实验四__页式虚拟存储管理中地址转换和缺页中断.docx_第1页
实验四__页式虚拟存储管理中地址转换和缺页中断.docx_第2页
实验四__页式虚拟存储管理中地址转换和缺页中断.docx_第3页
实验四__页式虚拟存储管理中地址转换和缺页中断.docx_第4页
实验四__页式虚拟存储管理中地址转换和缺页中断.docx_第5页
资源描述:

《实验四__页式虚拟存储管理中地址转换和缺页中断.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验四页式虚拟存储管理中地址转换和缺页中断1.目的深入了解式存管理如何地址;一步式虚存管理中如何理缺中断。2.知式存管理中的地址的方法;式虚存的缺中断理方法。3.内容写程序完成式虚存管理中地址程和模缺中断的理。具体包括:首先定的地址行地址工作,若生缺先行缺中断理,然后再行地址;最后写主函数所作工作程。假定主存64KB,每个主存1024字,作最大支持到64KB,系中每个作分得主存4。4.提示与解式存管理中地址程很,假定主存的大小2n字,主存大小2m'字和地址m位,行地址,首先从地址中的高m-n位中取得号,然后根据号表,得到号,并将号放入物理地址的高m'-n位,最后从地址中取得低n位放入物理地址的

2、低n位就得到了物理地址,程如2.61所示。mnn-1逻辑地址页号页内地址页号⋯块号m'nn-10⋯⋯⋯物理地址块号块内地址图2.6页式存储管理系统地址转换示意图地址是由硬件完成的,中使用件程序模地址程,模地址的流程如2.7所示(中假定主存64KB,每个主存1024字,即n=10,m'=16,物理地址中号6位、内地址10位;作最大64KB,即m=16,地址中号6位、内地址10位)。在式虚存管理方式中,作信息作副本放在磁上,作行把作信息的部分面装入主存器,作行若的面在主存中,按上述方式行地址,若的面不在主存中,生一个“缺中断”,由操作系把当前所需的面装入主存器后,再次行才可以按上述方法行地址。式虚

3、存管理方式中表除1/5号和该页对应的主存块号外,至少还要包括存在标志(该页是否在主存),磁盘位置(该页的副本在磁盘上的位置)和修改标志(该页是否修改过)。这样,在实验中页表格式如图2.7所示。页表用数组模拟,在实验中页表数据结构定义为:definen32//实验中假定的页表长度,页表的长度实际上是由系统按照作业长度决定的struct{intlnumber;//页号intflag;//表示该页是否在主存,“1”表示在主存,“0”表示不在主存intpnumber;//该页所在主存块的块号intwrite;//该页是否被修改过,“1”表示修改过,“0”表示没有修改过intdnumber;//该页存放

4、在磁盘上的位置,即磁盘块号}page[n];//页表定义开始取出逻辑地址laddress的页号lnumber(高6位)和页内地址ad:lnumber=laddress>>10ad=laddress&0x3ff查页表第lnumber行N页在主存?Y缺页中断从页表中取得块号pnumber合并块号和块内地址形成物理地址paddress:paddress=pnumber<<10

5、ad结束图2.7模拟地址转换的流程图缺页处理过程简单阐述如下:①根据当前执行指令中逻辑地址中的页号查页表,判断该页是否在主存储器中,若该页标志为“0”,形成缺页中断。中断装置通过交换PSW让操作系统的中断处理程序占用处理器;②

6、操作系统处理缺页中断的方法就是查主存分配表,找一个空闲主存块;若无空闲块,查页表,选择一个已在主存的页面,把它暂时调出主存。若在执行过程中该页被修改过,则需将该页信息写回磁盘,否则不必写回;2/5③找出该页的磁盘位置,启动磁盘读出该页信息,把磁盘上读出的信息装入第2步找到的主存块,修改页表中该页的标志为“1”;④由于产生缺页中断的那条指令没有执行完,所以页面装入后应重新执行被中断的指令。当重新执行该指令时,由于要访问的页面已在主存中,所以可正常执行。关于第②步的查找装入新页面的主存块的处理方式,不同系统采用的策略可能有所不同,这里采用局部置换算法,就是每个作业分得一定的主存块,只能在分得的主存

7、块内查找空闲块,若无空闲主存块,则从该作业中选择一个页面淘汰出主存。实验中使用局部置换算法。使用局部置换算法时,存在这样一个问题:就是在分配给作业主存空间时,装入哪些页?有的系统采取不装入任何一页,当执行过程中需要时才将其调入。有的系统采用页面预置的方法,就是估计可能某些页面会先用到,在分配主存块后将这些页面装入。实验中,采用第二种方法,分配主存空间时将前几页调入主存,假定系统中每个作业分得主存块m(m=4)块,则将第0~m-1页装入主存。因为是模拟硬件工作,所以实验中如果访问的页不在主存时,则输出该页页号,表示硬件产生缺页中断,然后直接转去缺页中断处理;由于采用页面预置方法,在给定的主存块中

8、一定无空闲块,只能淘汰已在主存的一页;没有启动磁盘的工作,淘汰的页需要写回磁盘时,用输出页号表示,调入新的一页时,将该页在页表中的存在标志置为“1”,输出页号表示将该页调入主存。页号为lnumber输出:*lnumber淘汰页的页号j=p[head];p[head]=lnumber;head=(head+1)%m;N第j页修改标志==1?Y输出:页号j修改页表:第j页存在标志改为“0”第lunmb

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。