虚拟存储器实验报告

虚拟存储器实验报告

ID:39529874

大小:242.00 KB

页数:9页

时间:2019-07-05

虚拟存储器实验报告_第1页
虚拟存储器实验报告_第2页
虚拟存储器实验报告_第3页
虚拟存储器实验报告_第4页
虚拟存储器实验报告_第5页
资源描述:

《虚拟存储器实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、佛山科学技术学院实验报告课程名称操作系统原理实验实验项目虚拟存储器专业班级姓名学号指导教师成绩日期一、实验目的1、了解虚拟存储器的基本原理和实现方法。2、掌握几种页面置换算法。二、实验内容设计模拟实现采用不同内外存调度算法进行页面置换,并计算缺页率。三、实验原理内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,Window中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容

2、量加以扩充的一种存储器系统。它是采用一定的方法将一定的外存容量模拟成内存,同时对程序进出内存的方式进行管理,从而得到一个比实际内存容量大得多的内存空间,使得程序的运行不受内存大小的限制。虚拟存储区的容量与物理主存大小无关,而受限于计算机的地址结构和可用磁盘容量。虚拟内存的设置主要有两点,即内存大小和分页位置,内存大小就是设置虚拟内存最小为多少和最大为多少;而分页位置则是设置虚拟内存应使用那个分区中的硬盘空间。(一)页式虚拟存储器在页式虚拟存储系统中,将程序按统一的大小划分成多个页,同时也将虚拟存储器划分为同样大小的页,其中虚拟空间的页称为虚页(逻辑页),而主存空间的页称为实页(物理页)

3、,并对这些页按地址从低到高的顺序编号。在编程时,程序的虚地址由高位字段的虚页号和低位字段的页内地址两部分组成,虚页号标识页。虚地址到实地址之间的变换是由页表来实现的。页表是一张存放在主存中的虚页号和实页号的对照表,记录着程序的虚页调入主存时被安排在主存中的位置。若计算机采用多道程序工作方式,则可为每个用户作业建立一个页表,硬件中设置一个页表基址寄存器,存放当前所运行程序的页表的起始地址。页表中的每一行记录了与某个虚页对应的若干信息,包括虚页号、装入位和实页号等。页表基址寄存器和虚页号拼接成页表索引地址。根据这个索引地址可读到一个页表信息字,然后检测页表信息字中装入位的状态。若装入位为1

4、,表示该页面已在主存中,将对应的实页号与虚地址中的页内地址相拼接就得到了完整的实地址;若装入位为0,表示该页面不在主存中,于是要启动I/O系统,把该页从辅存中调入主存后再供CPU使用,若主存已满,还需要使用替换算法替换页。(二)页面置换算法在地址映射过程中,若在页面中发现所要访问的页面不再内存中,则产生缺页中断。当发生缺页中断时操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算法。几中常见的页面置换方法如下:1.最佳置换算法(OPT):选择永不使用或是在最长时间内不再被访问(即距现在最长时间才会被访问)的页面淘汰出内存。2

5、.先进先出置换算法(FIFO):选择最先进入内存即在内存驻留时间最久的页面换出到外存。3.最近最久未使用置换算法(LRU):以“最近的过去”作为“最近的将来”的近似,选择最近一段时间最长时间未被访问的页面淘汰出内存4.时钟置换算法Clock:为进入内存的页面设置一个访问位,当内存中某页被访问,访问位置一,算法在选择一页淘汰时,只需检查访问位,若为0,则直接换出,若为1,置该访问位为0,检测内存中的下一个页面的访问位。5.最少使用置换算法(LFU):在内存中为每个页面设置一个移位寄存器,用来记录该页面被访问的频率。选择在最近时期使用最少的页面作为淘汰页6.随机置换算法(S):产生一个取值

6、范围在0和N-1之间的随机数,该随机数即可表示应被淘汰出内存的页面。四、实验步骤1.定义页表的存储结构,设置作业进程所占内存空间为640K,页面大小为1K/2K/4K/8K,随机生成100个页面,用于分配页面大小的内存总空间为32K。2.初始化进程的页面引用序列。3.选择下列六种置换算法中的三种编写程序,进行页面置换,并计算缺页次数和缺页率。(1)最佳置换算法(OPT)(2)先进先出置换算法(FIFO): (3)最近最久未使用算法(LRU)  (4)时钟置换算法(CLOCK)(5)最少使用置换算法(LFU)(6)随机置换算法(S)4.使用菜单形式,选择不同的置换方法,显示换页过程、缺页

7、次数及缺页率。五、实验代码#include#include#include#defineM3//内存页数#defineN20//页面引用序列数#defineMyprintfprintf("---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---")/*表格控制*///定义页面的存储结构

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

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

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