操作系统实验二存储器管理(草)

操作系统实验二存储器管理(草)

ID:28041370

大小:58.05 KB

页数:5页

时间:2018-12-07

操作系统实验二存储器管理(草)_第1页
操作系统实验二存储器管理(草)_第2页
操作系统实验二存储器管理(草)_第3页
操作系统实验二存储器管理(草)_第4页
操作系统实验二存储器管理(草)_第5页
资源描述:

《操作系统实验二存储器管理(草)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、实验二页式虚拟存储管理中地址转换和缺页中断一、实验目的.深入了解页式存储管理如何实现地址转换;进一步认识页式虚拟存储管理屮如何处理缺页屮断。二、实验预备知识页式存储管理中地址转换的方法;页式虚拟存储的缺页中断处理方法。三、实验内容编写程序完成页式虚拟存储管理屮地址转换过程和模拟缺页屮断的处理。实验具体包括:首先对给定的地址进行地址转换工作,若发生缺页则先进行缺页中断处理:然后再进行地址转换;最后编写主函数对所做工作进行测试。假定主存64KB,每个主存块1024字节,作业最大支持到64KB,系统屮每个作业分得主存块4块。四、提示页式存

2、储管理中地址转换过程很简单,假定主存块的大小为2n字节,主存大小为2"字节和逻辑地址m位,则进行地址转换时,首先从逻辑地址中的高m-n位中収得页号,然后根据页号查页表,得到块号,并将块号放入物理地址的高m’-n位,最后从逻辑地址中取得低位放入物理地址的低n位就得到了物理地址,地址转换是巾硬件完成的,实验屮使用软件程序模拟地址转换过程(实验屮假定主存64KB,每个主存块1024字节,即n=10,in-16,物理地址中块号6位、块内地址10位,作业S大64KB,即m=l6,逻辑地址中页号6位、页内地址10位)。在页式虚拟存储管理方式中,

3、作业信息作为副本放在磁盘上,作业执行时仅把作业信息的部分页而装入主存储器,作业执行时若访问的页而在主存屮,则按上述方式进行地址转换,若访问的页面不在主存屮,则产生一个“缺页屮断",由操作系统把当前所需的页面装入主存储器后,再次执行吋冰可以按上述方法进行地址转换。页式虚拟存储管理方式中页表除页号和该页对应的主存块号外,至少还要包括存在标志(该页是否在主存),磁盘位置(该页的副本在磁盘上的位置)和修改标志(该页是否修改过)。页表用数组模拟。definen64//实验屮假定的页表长度,页表的长度实际上是由系统按照作业长度决定的Struct

4、{int1number;//页号intflag;//表示该页是否在主存intpnumber;//该页所在主存块的块号intwrite;//该页是否被修改过intdnumber;//该贞存放在磁盘上的位置,即磁盘诀号}page[n],//页表定义缺页处理过程简单阐述如下:(1)根据当前执行指令屮逻辑地址的页号查页表,判断该页是否在主存储器屮,若该页标志为形成缺页中断。中断装置通过交换PSW让操作系统的中断处理程序占用处理器;(2)揀作系统处理缺页屮断的方法就是查主存分配表,找一个空闲主存块;若无空闲块,查页表,选择一个已在主存的页面,

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

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

7、在给定的主存块中一定无空闲块,只能淘汰已在主存的一页;没有启动磁盘的工作,淘汰的页需要写回磁盘时,用输岀页号表示,调入新的一页吋,将该页在页表中的存在标志置为“1”,输岀页号表示将该页调入主存。主存中无空闲块时,为装入一个页面,必须按某种算法从己在主存的页中选择一页,将它暂时调出主存,让出主存空间,用来存放需装入的页而,这个工作称为“页而调度'如何选择调出的页是很重要的,常用的页面调度算法有先进先出算法、最近最少用算法和最近最不常用算法。实验中使用先进先出调度算法。先进先出调度算法总是选择驻留在主存时间®长的•一页调出。先进先出算法

8、简单,易实现。可以把在主存储器的页的页号按进入主存的先后次序排成队列,每次总是调出队首的页,当装入一个新页后,把新页的页号排入队尾。实验屮,用一个数组存放页号的队列。假定分配给作业的主存块数为m,数组可rtlm个元素组成,P[0],p

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

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

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