存储管理系统.docxVIP

  • 66
  • 0
  • 约1万字
  • 约 21页
  • 2019-03-17 发布于湖北
  • 举报
PAGE \* MERGEFORMAT1 河南城建学院 《操作系统》课程设计说明书 设计题目: 储存管理系统 专 业: 计算机科学与技术 指导教师:张娜 张玉华、郭猛、陈福彦 班 级: 0814141 学 号: 081414144 姓 名: 王文旭 同 组 人: 王德桐 计算机科学与数据学院 2016 年 6月 20日 摘要 存储管理子系统是操作系统中最重要的组成部分之一,它的目的是方便用户使用和提高存储器利用率。 当程序的存储空间要求大于实际的内存空间时,就使得程序难以运行了.虚拟存储技术就是利用实际内存空间和相对大的多的外部储存器存储空间相结合构成一个远远大于实际内存空间的虚拟存储空间,程序就运行在这个虚拟存储空间中.能够实现虚拟存储的依据是程序的局部性原理,即程序在运行过程中经常体现出运行在某个局部范围之内的特点.在时间上,经常运行相同的指令段和数据(称为时间局部性),在空间上,经常运行与某一局部存储空间的指令和数据(称为空间局部性),有些程序段不能同时运行或根本得不到运行。虚拟存储是把一个程序所需要的存储空间分成若干页或段,程序运行用到页和段就放在内存里,暂时不用就放在外存中.当用到外存中的页和段时,就把它们调到内存,反之就把它们送到外存中.装入内存中的页或段可以分散存放. 目录 程序运行环境 2 设计目的 2 总体设计 2 3.1主程序流程图 — 3 FIFO()算法流程图 3 LRU()算法流程图 4 NUR()算法流程图5 详细设计5 4.1 定义结构体5 随机函数5 定义函数5 定义变量5 算法分析5 运行结果6 问题分析8 心得体会8 程序源码9 1.程序运行环境 VC++6.0或安装VMWare虚拟机在Linux red hat ,gcc编译运行。 2.设计目的 存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。本设计的目的是通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。要求: (1)通过随机数产生一个指令序列,共320条指令。指令的地址按下述原则生成: ①50%的指令是顺序执行的;②25%的指令是均匀分布在前地址部分;③25%的指令是均匀分布在后地址部分。 具体的实施方法是:①在[0,319]的指令地址之间随机选取一起点m;②顺序执行一条指令,即执行地址为m+l的指令;③在前地址[0,m+1]中随机选取一条指令并执行,该指令的地址为m’;④顺序执行一条指令,其地址为m’+1;⑤在后地址[m’+2,319]中随机选取一条指令并执行;⑥重复上述步骤①~⑤,直到执行320次指令。 (2)将指令序列变换成为页地址流。设:①页面大小为1K;②用户内存容量为4页到32页;③用户虚存容量为32K。 在用户虚存中,按每页存放10条指令排列虚存地址,即320条指令在虚存中的存放方式为: 第0条~第9条指令为第0页(对应虚存地址为[0,9]); 第10条~第19条指令为第1页(对应虚存地址为[10,19]); … … … 第310条~第319条指令为第31页(对应虚存地址为[310,319])。 按以上方式,用户指令可组成32页。 (3)计算并输出下述各种算法在不同内存容量下的命中率(要为以下各种算法定义数据结构)。 ①先进先出的算法(FIFO); ②最近最少使用算法(LRU); ③最近最不经常使用算法(NUR/NRU/CLOCK)。 命中率=1-页面失效次数/页地址流长度 在本设计中,页地址流长度为320,页面失效次数为每次访问相应指令时,该指令所对应的页不在内存的次数。 (4)关于随机数产生办法,Linux/UNIX系统提供函数srand()和rand(),分别进行初始化和产生随机数。例如:srand()语句可初始化一个随机数: a[0]=10*rand()/32767*319+1, a[1]=10*rand()/32767*a[0]; 语句可用来产生a[0]、a[1]、…中的随机数。 3.总体设计 3.1.主程序流程图 Shuju()C Shuju() Chushihua() Mian() LRU()NUR()FIFO() LRU() NUR() FIFO() Main()函数调用chushihua()函数和shuju()函数。来实现FIFO(),LRU().NUR()函数。 3.2.FIFO

文档评论(0)

1亿VIP精品文档

相关文档