操作系统实验报告ccc(3)

2019-01-12 11:40

实验三 存储管理程序设计

一、实验目的和要求

(一) 目的

存储管理的主要功能之一是合理地分配主存空间。请求页式管理是一种常用的虚拟存储管理技术。

本实验的目的是通过请求页式存储管理中页面置换算法的模拟设计,来了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。

(二) 要求

模拟页式虚拟存储管理中硬件的地址转换和缺页中断的处理过程,并用先进先出调度算法(FIFO)处理缺页中断。

二、实验内容和原理

(1) 为了装入一个页面而必须调出一页时,如果被选中调出的页面在执行中没有修改过,则不必把该页重新写到磁盘上(因磁盘上已有副本)。因此,在页表中可以增加是否修改过的标志,当执行“存”指令、“写”指令时把对应页的修改标志置成“1”,表示该页修改过,否则为“0”,表示该页未修改过。页表格式如表3-1所示。

表3-1 页表格式 页 号 标 志 主存块号 修改标志 磁盘上的位置

(2) 设计一个地址转换程序来模拟硬件的地址转换和缺页中断处理过程。当访问的页在主存时则形成绝对地址,但不去模拟指令的执行,可用输出转换后的绝对地址来表示一条指令已完成。当访问的页不在主存时则输出“*该页页号”来表示硬件产生了一次缺页中断。模拟地址转换的程序流程如图3-1所示。

(3) 编制一个FIFO页面调度程序。FIFO页面调度算法总是先调出作业中最先进入主存的那一页,因此,可以用一个数组来构成页号队列。数组中每个元素是该作业已在主存的页面号,假定分配给作业的主存块数为m,且该作业开始的m页已装入主存,则数组可由m个元素组成:

P[0],P[1],?,P[m-1] 它们的初值为

P[0]∶=0,P[1]∶=1,?,P[m-1]∶= m-1

用一指针k指示当要装入新页时应调出的页在数组的位置,k的初值为“0”。

开始 取一条指令 取指令中访问的页号=>L 查页表 是 形成绝对地址 是 置L页修改标志”1” 输出绝对地址 是 取一条指令 否 模拟硬件 结束 地址转换 否(产生缺页中断) 页标志=1? 是”存”指令? 否 输出“﹡页号” 有后继指令? j∶= P[k] 模拟FIFO页面调度 是 输出“OUTj” 输出“IN L” j页的修改标志=1? 否 P[k]∶=L k∶=(k+1) mod m 修改页表

图3-1 地址转换和FIFO页面调度流程

当产生缺页中断后,操作系统总是选择P[k]所指出的页面调出,然后执行

P[k]∶=要装入的新页页号 k∶=(k+1)mod m

在实验中不必实际地启动磁盘执行调出一页和装入一页的工作,而用输出“OUT调出的页号”和“IN要装入的新页页号”来模拟一次调出和装入的过程。模拟程序的流程见图3-1。

(4) 假定主存的每块长度为1024个字节,现有一个共7页的作业,其副本已在磁盘上。系统为该作业分配了4块主存块,且该作业的第0页至第3页已经装入主存,其余3页尚未装入主存,该作业的页表见表3-2所示。


操作系统实验报告ccc(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:雅思听力考试的图画题的解题技巧

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: