操作系统课程设计题目详细说明 下载本文

题目9:请求调页存储管理方式的模拟4 1 设计目的

通过对页面、页表、地址转换和页面置换过程的模拟,加深对请求调页系统的原理和实现过程的理解。

2 设计内容

1)假设每个页面中可存放10条指令,分配给作业的内存块数为4。

2)用C语言模拟一个作业的执行过程,该作业共有320条指令,即它的地址空间为32页,目前它的所有页都还未调入内存。在模拟过程中,如果所访问的指令已在内存,则显示其物理地址,并转下一条指令。如果所访问的指令还未装入内存,则发生缺页,此时需记录缺页的次数,并将相应页调入内存。如果4个内存块均已装入该作业,则需进行页面置换,最后显示其物理地址,并转下一条指令。

在所有320指令执行完毕后,请计算并显示作业运行过程中发生的缺页率。 3)置换算法:最少访问(LFU)算法。

3 思考题

1)如果增加分配给作业的内存块数,将会对作业运行过程中的缺页率产生什么影响? 提示:

(1)通过随机数产生一个指令序列,共320条指令。指令的地址按下述原则生成:

① 50%的指令是顺序执行的;

② 25%的指令是均匀分布在前地址部分; ③ 25%的指令是均匀分布在后地址部分; 具体的实施方法是:

① 在[0,319]的指令地址之间随机选取一起点m; ② 顺序执行一条指令,即执行地址为m+1的指令;

③ 在前地址[0,m+1]中随机选取一条指令并执行,该指令的地址为m′; ④ 顺序执行一条指令,其地址为m′+1的指令; ⑤ 在后地址[m′+2,319]中随机选取一条指令并执行; ⑥ 重复上述步骤①~⑤,直到执行320次指令。 (2)将指令序列变换为页地址流 ① 设页面大小为1K;

② 用户内存容量为4页到32页; ③ 用户虚存容里为32K。

在用户虚存中,按每K存放10条指令排列虚存地址,即320条指令在虚存

中的存放方式为:

第0条~第9条指令为第0页(对应虚存地址为[0,9]); 第10条~第19条指令为第1页(对应虚存地址为[10,19]); ?? ??

第310条~第319条指令为第31页(对应虚存地址为[310,319])。 按以上方式,用户指令可组成32页。

(3)计算最少访问(LFU)算法在不同内存容量下的命中率。

其中,命中率=1-页面失效次数/页地址流长度

题目10:请求调页存储管理方式的模拟5 1 设计目的

通过对页面、页表、地址转换和页面置换过程的模拟,加深对请求调页系统的原理和实现过程的理解。

2 设计内容

1)假设每个页面中可存放10条指令,分配给作业的内存块数为4。

2)用C语言模拟一个作业的执行过程,该作业共有320条指令,即它的地址空间为32页,目前它的所有页都还未调入内存。在模拟过程中,如果所访问的指令已在内存,则显示其物理地址,并转下一条指令。如果所访问的指令还未装入内存,则发生缺页,此时需记录缺页的次数,并将相应页调入内存。如果4个内存块均已装入该作业,则需进行页面置换,最后显示其物理地址,并转下一条指令。

在所有320指令执行完毕后,请计算并显示作业运行过程中发生的缺页率。 3)置换算法:最近最不经常使用(NRU)算法。

3 思考题

1)如果增加分配给作业的内存块数,将会对作业运行过程中的缺页率产生什么影响? 提示:

(1)通过随机数产生一个指令序列,共320条指令。指令的地址按下述原则生成:

① 50%的指令是顺序执行的;

② 25%的指令是均匀分布在前地址部分; ③ 25%的指令是均匀分布在后地址部分; 具体的实施方法是:

① 在[0,319]的指令地址之间随机选取一起点m; ② 顺序执行一条指令,即执行地址为m+1的指令;

③ 在前地址[0,m+1]中随机选取一条指令并执行,该指令的地址为m′; ④ 顺序执行一条指令,其地址为m′+1的指令; ⑤ 在后地址[m′+2,319]中随机选取一条指令并执行; ⑥ 重复上述步骤①~⑤,直到执行320次指令。 (2)将指令序列变换为页地址流 ① 设页面大小为1K;

② 用户内存容量为4页到32页; ③ 用户虚存容里为32K。

在用户虚存中,按每K存放10条指令排列虚存地址,即320条指令在虚存

中的存放方式为:

第0条~第9条指令为第0页(对应虚存地址为[0,9]); 第10条~第19条指令为第1页(对应虚存地址为[10,19]); ?? ??

第310条~第319条指令为第31页(对应虚存地址为[310,319])。 按以上方式,用户指令可组成32页。

(3)计算最近最不经常使用(NRU)算法在不同内存容量下的命中率。

其中,命中率=1-页面失效次数/页地址流长度