实验二(存储管理)

实验二(存储管理)

ID:45585458

大小:73.53 KB

页数:6页

时间:2019-11-15

实验二(存储管理)_第1页
实验二(存储管理)_第2页
实验二(存储管理)_第3页
实验二(存储管理)_第4页
实验二(存储管理)_第5页
资源描述:

《实验二(存储管理)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验二存储器管理1.实验内容:模拟请求页式存储管理中硬件的地址转换和缺页中断,并用先进先出调度算法(FIFO)处理缺页中断;2.要求:①指令序列的设定可以执行拟定,格式如表3;②在完成了FIFO换页策略后,可以选做LRU的换页策略,并进行比较;③作业允许的页架数m在不同情况下的缺页中断率;④程序运行时显示地址转变和页面调入调出过程。3.步骤:①设计页表及其数据结构:页号标志:是否在主存;页架号:设定页表在主存的位置;修改标志:设定页而在主存中是否修改过;磁盘上位置:设定页而在辅存中的位置;例如:装入新页置换口页时,若in页在执行中没有被修改过,则不必将该页重写磁

2、盘。因此,页表中增加是否修改过的标志,执行“存”指令和“写”指令时将对应的修改标,忐置成“1”表示修改过,否则为“o”衣示未修改过。表1页表格式页号标志页架号修改标志在磁盘上位置②设计一个地址转换程序半模拟硕件的地址转换和缺页中断。当访问的页在主存时则形成绝对地址,但不去模拟指令的执行,可以输出转换后的绝对地址来衣示一条指令已执行完成。当访问的页不在主存中时,则输出页号”来表示硬件产生了一次缺页中断。模拟地址转换流程见图1.1。③设计FIFO页面调度程序;FIFO页面调度算法总是先调出作业中最先进入主存中的哪一页。因此可以用一个数组來表示(或构成)页号队列。数据

3、中每个元素是该作业已在主存中的页面号,假定分配给作业的页(架)数为且该作业开始的m页已装入主存,则数组町由m个元素构成。PfO],P[l],P[2],…,P[m-1]它们的初值为P[0]:=0,P[l]:=1,P[2]:=2,…,P[m-1]:=m-l用一-指针K指示当要调入新页时应调出的页在数组中的位置,K的初值为“0”,当产牛缺页中断后,操作系统总是选择P[K]所指出的页面调出,然后执行。④设计输入数据和输出格式;女II:假定主存中页架人小为1024个字节,现有一个共7页的作业,其副本已在磁盘上。系统为该作业分配了4个页架,且该作业的第0页至第3页已装入内存

4、,其作3页未主存,该作业的页表如下:页号标志页架号修改标志在磁盘上位置0150011118001221900133110021400022500023600121如果该作业依次执行的指令序列如附表3所示:操作页号页内地址操作页号页内地址+0070移位4053——1050+5023X2015存1037存3021取2078取0056+4001—6040存6084依次执行上述指令调试你所设计的程序(仅模拟指令的执行,不考虑序列屮具体操作的执行)。①编程上机,验证结果。1.实验报告:为进一步考察程序的执行,可口行确定若干组指令,运行程序,核对执行结果实验报告:①实验题目

5、;②程序中所用的数据结构及说明;③打卬一份源程序并附上必要的说明;④按照指令的执行序列,打印输出结果:绝对地址或调出、调入的页号。P[K]:=要装入的新页页号K:=(k+l)modm在实验中不必实际地启动磁盘执行调出一页和装入一页的工作,而用输出“OUT调出的页号”和“IN要装入的新页页号”来模拟一次调出和装入过程,模拟程序的流程图见附图l.lo按流程控制过程如下:1存指令提示:输入指令的页号和页内偏移和是否存指令人,若d为-1则结朿,否0非存指令则进入流程控制过程,得P和<1,查表在主存时绝对地址P'xi024+d实验代码#include#i

6、nclude#defineSizeOfPage100#defineSizeOfBlock128#defineM4structyebiao//页表{longtextNumber;//页号boolflag;//标志longblock;//块号booldirty;//修改标志longdisk;//在磁盘上的位置pagelist[SizeOfPageJ;longpo;〃队列标记longPfM];intnum;voidinit(){memset(pagelist,0,sizeof(pagelist));//根据实验数据初始化pagelist[01.tex

7、tNumber=0;pagelist[O].flag=l;pagelist[O].block=5;pagelist[O].dirty=O;pagelist[O].disk=l1;pagelistfll.textNumber=l;pagelist[l].flag=l;pagelist[1].block=8;pagelist[l].dirty=O;pagelist[l].disk=12;pagelist[21.textNumber=2;pagelist[2].flag=l;pagelist[2].block=9;pagelist[2].disk=13;pagelis

8、t[3].textNum

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

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

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