《实验四 存储管理实验指导》由会员分享,可在线阅读,更多相关《实验四 存储管理实验指导(3页珍藏版)》请在金锄头文库上搜索。
1、实验四实验四 存储管理实验指导存储管理实验指导实验目的实验目的 本实验的目的是通过请求页式存储管理中的页面调度算法模拟设计,了解虚拟存储技 术的特点,掌握请求页是存储管理中的页面调度算法,并会计算缺页中断率。 实验预备内容实验预备内容 (1)掌握请求页是存储管理中的页面调度算法。 (2)缺页中断率的计算。通过一指令序列。 实验内容实验内容 设定一个指令序列,设定内存中分配的页数。模拟指令序列的执行,将指令流转换为 地址流,指出该地址是否在内存,如果不在内存输出淘汰的页和调入的页;如果在内存输 出其页号和页内地址,并计算缺页中断率。使用的页面淘汰算法为先进先出的算法。即模 拟页式虚拟存储管理中硬
2、件的地址转换和缺页中断,并用先进先出调度算法(FIFO)处理 缺页中断。提示:提示: 为了装入一页而必须调出一页时,如果被选中调出的页面在执行中没有修改过,则 不必把该页重新写到磁盘上。因此在页表中可以增加是否修改过的标志,当执行“存”指 令, “写”指令时把对应页的修改标志置成“1”表示该页修改过,否则为“0”表式没有修 改过。页表格式如表 1 所示。 设计一个地址转换程序来模拟硬件的地址转换和缺页中断。当访问的页在主存时则 形成绝对地址,但不去模拟指令的执行,可用输出转换后的绝对来表示一条指令已完成。 当访问的页不在主存时则输出“*该页页号”来表示硬件产生了一次缺页中断。模拟地址转 换的程
3、序流程图如附图。 编制一个 FIFO 页面调度程序。FIFO 页面调度算法总是先调出作业中最先进入主存 的那一页,因此可以用一个数组来构成页号队列。数组中每个元素是该作业已在主存的页, 假定分配给作业的主存块数为 M,且该作业开始的 M 页已装入主存,则数组可由 M 个元 素组成: P0,1,P2, 。 。 。 ,PM 它们的初值为: P0=0,P1=1, 。 。 。PM-1=M-1 用一指针 K 指示当要装入新页时应调出的页在数组中的位置,K 的初值为“0” 。 当产生缺页中断后,操作系统总是选择 PK所指示的页面调出,然后执行 PK=要装入的新页页号 K=(K+1)MOD M 在实验中不必
4、实际地启动磁盘执行调出一页和装入一页的工作,而用输出“OUT 调出 的页号”和“IN 要装入的页号”来模拟一次调出和装入的过程。模拟程序的流程图见附图 1。 假定主存的每块长度为 1024 个字节,现有一个共 7 页的作业,其副本已在磁盘上。 系统为该作业分配了 4 个主存块,且该作业的第 0 页至第 3 页已经装入主存,其余 3 页尚 未装入主存,该作业的页表见附表 2。如果该作业依次执行的指令序列如附表 3 所示。依 次执行的指令序列来调式你所设计的程序。 为了检查程序的正确性,可自行确定若干组指令序列,运行设计的程序,核对执行 结果。使用的数据结构:使用的数据结构:数据结构 1(附表 1
5、页表):页号标志主存块号修改标志在磁盘上的位置附表 2实验数据(页表)页号标志主存块号修改标志在磁盘上的位置0150111180122190133110214002250023600121附表 3实验数据(指令执行的操作和访问的地址)操作页号页内地址操作页号页内地址+070M(移)453+150+523*215S137S(存)321L278L(取)056+41-640S684算法描述:算法描述:开始取一条指令取指令中访问的页号L查页表页标志=1是“存“指令?形成绝对地址置 L 页修改标志“1”输出绝对地址有后继指令?取下一条指 令结束输出“*页号”J=PKJ 页的修改标志=1输出“OUT J”输出“IN L”PK=L,K=(K+1)MOD M修改页表是是否是否否(产生缺页中断)否是