当前位置:文档之家› 走出虚拟内存禁用误区的几个技巧

走出虚拟内存禁用误区的几个技巧

走出虚拟内存禁用误区的几个技巧
走出虚拟内存禁用误区的几个技巧

走出虚拟内存禁用误区的几个技巧

最近大家都经常谈论的话题,就是DDR内存的大降价,DDR266从400多元的位置暴跌到200元左右,很多人都用上了512MB甚至1GB的内存,于是有一种观点也在部分玩家中流行起来,说是禁用虚拟内存、禁止Windows页面文件交换、强行命令数据在内存中处理,可以加快数据读写效率,是不是真的这样呢?

根据应用需要设置

笔者认为,这种说法要分情况对待,不能随便就说禁用是好事。

首先,要搞清楚什么是“大内存”配置。当初设计Windows使用虚拟内存本身是因为物理内存很贵,一般都不会超过128MB容量,需要硬盘空间作临时缓冲——也就是说,你应该把应用时需要多少物理内存和自己实际拥有的内存作一个比较,如果实际拥有的内存少于应用峰值,就会遇到麻烦了。

一般来说,如果要进行平面大图、3D动画渲染等数据量很大的任务,不应禁用虚拟内存;如果经常要打印带大量图片的文档,禁止虚拟内存也会让程序出现错误。因为像Word一类软件打印之前要生成缓冲文件,再传输到打印机上,图片尺寸较大、分辨率较高时,需要的缓冲区容量也很大,笔者以前帮助广告美工出设计图时,就遇到打印一张图生成将近300MB临时文件的情况。因为Windows 和应用程序本身也是需要一定内存来运行的,如果你是512MB的配置,禁用了虚拟内存,很有可能中途报告虚拟内存不足,强行退出造成打印纸张及油墨的浪费。

所以,必须根据你的任务应用环境,来决定是否禁用虚拟内存。即使是把虚拟内存大小固定设置,也必须谨慎,否则在运行大型应用软件的时候才出现虚拟内存不足的提示,整个系统会因为CPU的占用率极高而变得很慢,此时再改动就没那么方便了。

考虑操作系统的因素

在不同的操作系统下,虚拟内存的设置或禁用也是不同的,不能一概而论。

因为架构问题,Windows 9x/Me对大于256MB的内存有先天的不足,大于这个数量的内存,Windows 98会出现不稳定及启动速度变慢的情况。如果使用了大内存加上禁用虚拟内存,不稳定的因素将会进一步增加。windows 2000/XP可有效管理的内存容量为1GB左右,大于这个数目也会出现不稳定的情况,而且视主板BIOS型号及芯片组性能而不同。

另外,Windows本身的设计就是,一旦发现有进程转入不活跃状态,就会把分配给它的内存空间映射到交换文件中,尽可能空出物理内存给其它活动的线程,并不是用完物理内存才开始动用交换文件。因为如果等到物理内存用完再调用,就已经太迟了,在配置较低的机器上势必造成数据传输和处理停滞。所以禁止虚拟内存从原则上来讲,最容易引起Windows异常,即使不出现运行不了的故障,也会频繁地提示虚拟内存不够,请重新设置云云,让你不胜其烦。

如何禁用虚拟内存

对于拥有很大容量内存的朋友,如果真想禁用虚拟内存加快运行速度,其实可以用折中的办法“骗”过Windows,就是把物理内存划出一部分来虚拟成物理硬盘:

1.Windows 98

可以在Config.sys里加入一句:

DEVICE=C:\WINDOWS\RAMDRIVE.SYS 23000 /E(请根据自己的Windows所在分区适当设置)

这句话就是利用内存由Ramdrive.sys虚拟出一个分区,其中23000是你希望使用多少物理内存,单位是KB,如果你有1GB,可以把这个数字设到300000到500000左右,即300~500MB,然后把虚拟内存设置到该虚拟出的分区上,程序就完全在物理内存中运行了。

2.Windows 2000/XP

必须依靠第三方的工具软件来虚拟物理硬盘,然后再把Pagefile.sys页面文件设到该虚拟盘上,实现同样效果;或者可在System.ini中的“[386enh]”底部加入一句,ConservativeSwapfileUsage=1,让Windows优先使用物理内存,尽量不要强行直接禁用虚拟内存交换文件。

结论

笔者认为,禁用虚拟内存达到的加速效果很有限,加上一般Windows的默认设置比较适当,尤其是Windows 2000/XP默认设置对虚拟内存的管理很好,尽量不要随意更改,否则出了问题你很难判断和分析。

题外话:有关内存的一些故障分析

有时,Windows出现一些和内存有关的故障提示,不一定是和内存有关;而一些看似和内存无关的故障,却真是内存引起的,很有隐蔽性。

比如:你用PQ分区大师之类的工具改过分区簇的大小,当簇小于默认值时,Windows 98运行磁盘扫描就可能会报内存不足,而在Windows 2000和Windows XP 下则正常——也就是说,这跟内存根本没关系。

再比如:有时开机进入Windows时,系统会提示你注册表错误,是否恢复,当你选恢复后,再次重启,还是同一个提示,这种故障,却多半是内存条或散热方面出了问题引起的,需要更换内存或是风扇了。

所以,Windows的提示有时会误导用户,如果反复出现同一种故障,按其提示解决不了,应考虑Windows误报的可能性。

操作系统课程设计-页面置换算法C语言

操作系统课程设计-页面置换算法C语言

5、根据方案使算法得以模拟实现。 6、锻炼知识的运用能力和实践能力。 三、设计要求 1、编写算法,实现页面置换算法FIFO、LRU; 2、针对内存地址引用串,运行页面置换算法进行页面置换; 3、算法所需的各种参数由输入产生(手工输入或者随机数产生); 4、输出内存驻留的页面集合,页错误次数以及页错误率; 四.相关知识: 1.虚拟存储器的引入: 局部性原理:程序在执行时在一较短时间内仅限于某个部分;相应的,它所访问的存储空间也局限于某个区域,它主要表现在以下两个方面:时间局限性和空间局限性。 2.虚拟存储器的定义: 虚拟存储器是只具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。 3.虚拟存储器的实现方式: 分页请求系统,它是在分页系统的基础上,增加了请求调页功能、页面置换功能所形成的页面形式虚拟存储系统。

请求分段系统,它是在分段系统的基础上,增加了请求调段及分段置换功能后,所形成的段式虚拟存储系统。 4.页面分配: 平均分配算法,是将系统中所有可供分配的物理块,平均分配给各个进程。 按比例分配算法,根据进程的大小按比例分配物理块。 考虑优先的分配算法,把内存中可供分配的所有物理块分成两部分:一部分按比例地分配给各进程;另一部分则根据个进程的优先权,适当的增加其相应份额后,分配给各进程。 5.页面置换算法: 常用的页面置换算法有OPT、FIFO、LRU、Clock、LFU、PBA等。 五、设计说明 1、采用数组页面的页号 2、FIFO算法,选择在内存中驻留时间最久的页 面予以淘汰; 分配n个物理块给进程,运行时先把前n个不同页面一起装入内存,然后再从后面逐一比较,输出页面及页错误数和页错误率。3、LRU算法,根据页面调入内存后的使用情况 进行决策; 同样分配n个物理块给进程,前n个不同页面一起装入内存,后面步骤与前一算法类似。 选择置换算法,先输入所有页面号,为系统分

最佳置换算法

/*-------------最佳置换算法(OPtimal Replacement Algorithm,ORA)-------------*/ /*算法描述:所选择的淘汰页,是以后永不使用,或最长时间内不使用的页面*/ /*---------------------------------writen by Xu Zhuozhuo-----------------------------------*/ C++代码示例: #include #define MaxSize 20 #define Num_Block 3 using namespace std; int max(int a,int b,int c) //返回三者的最大值 { if(a>num_ref; //输入引用字符串的数目 }while(num_ref>MaxSize); cout <<"Please input the queue of reference chars:" <>ref_arr[i]; for(int j=0;j

如何设置虚拟内存以及三大误区

在中的作用至关重要,中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,运用了技术,将一部分空间来充当内存使用,虽然硬盘的运行速度不能与内存相比,可是容量却要比内存的容量高出许多。其作用在于可将一些读取到内存中却暂时不用的数据转移到虚拟内存中,这样便可释放出内存的空间,将有限的内存空间去继续存放未被读取的数据,以缓解内存的紧张。

网上有很多关于虚拟内存设置的教程和说明,这里我们要说的是设置虚拟内存最常见的三个错误,相信大家看后对虚拟内存的设置又会有不同的理解了。 错误1:虚拟内存不设置在系统盘,应该专门分出一个空白分区专门用来存储页面文件,不要再存放其它任何文件。

因为系统盘含有是系统文件和页面文件,是硬盘读写最频繁的分区,硬盘读写时最耗时的操作是什么呢?是定位!而同一分区内的磁头定位无疑要比跨分区的远距离来回定位要节省时间!所以,虚拟内存设定在系统盘内的才是执行最快、效率最高的。 错误2:虚拟内存的最佳值为:最小值设置为物理内存的1.5倍,最大值设置为物理内存的3倍。 要根据实际使用情况来判断。如今随着内存的价格越来越便宜,特别是Win7系统普及后,所需的物理内存的容量比以往有了大幅增加,传统的虚拟内存设置方法已经不再适用! 一般512MB内存,根据实际使用内存占用,可以设虚拟内存为256-768MB(内存+虚拟内存之和一般比正常占用高256MB即可)。 1GB内存,根据实际使用内存占用情况,可以设虚拟内存为128-1024MB(内存+虚拟内存之和一般比正常占用高256-512MB即可)。平时正常占用为几百MB的人(占多数),甚至可以禁用虚拟内存(有限制的可以设少量虚拟内存,如16-128MB)。 内存为及以上的,一般可以禁用虚拟内存(有软件限制的可以设少量虚拟内存,如16-128MB)。部分确实会使用大量内存的人,如玩大型3D游戏、制作大幅图片、3D建模等,并收到系统内存不足警告的,才需要酌情设定虚拟内存。 错误3:虚拟内存越大越好。 虚拟内存过大,既浪费了磁盘空间,又增加了磁头定位的时间,降低了系统执行效率,没有任何好处。正确设置可节省256MB-左右空间

(流程图)页面置换算法课程设计

操作系统课程设计报告题目:页面置换算法模拟程序 学院名称: 专业班级: 学生姓名: 指导教师: 成绩:

目录 一、设计目的 (3) 二、设计题目 (3) 2.1设计内容 (3) 2.2设计要求 (3) 三、设计过程 (4) 3.1 FIFO(先进先出) (4) 3.2 LRU(最近最久未使用) (5) 3.3 OPT(最佳置换算法) (6) 3.4 随机数发生器 (7) 四、完整代码 (7) 五、运行结果演示 (13) 六、设计心得 (16) 七、参考文献 (16)

操作系统是计算机教学中最重要的环节之一,也是计算机专业学生的一门重要的专业课程。操作系统质量的好坏,直接影响整个计算机系统的性能和用户对计算机的使用。一个精心设计的操作系统能极大地扩充计算机系统的功能,充分发挥系统中各种设备的使用效率,提高系统工作的可靠性。由于操作系统涉及计算机系统中各种软硬件资源的管理,内容比较繁琐,具有很强的实践性。要学好这门课程,必须把理论与实践紧密结合,才能取得较好的学习效果。 本课程设计是学生学习完《计算机操作系统》课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。 熟悉页面置换算法及其实现,引入计算机系统性能评价方法的概念。 二、设计题目:页面置换算法模拟程序 2.1设计内容 编制页面置换算法的模拟程序。 2.2设计要求 1).用随机数方法产生页面走向,页面走向长度为L(15<=L<=20),L由控制台输入。 2).根据页面走向,分别采用Optinal、FIFO、LRU算法进行页面置换,统计缺页率。 3).假定可用内存块为m(3<=m<=5),m由控制台输入,初始时,作业页面都不在内存。 4).要求写出一份详细的设计报告。课程设计报告内容包括:设计目的、设计内容、设计原理、算法实现、流程图、源程序、运行示例及结果分析、心得体会、参考资料等。

怎样设置虚拟内存

怎样设置虚拟内存: / (一)合理设置虚拟内存 / 虚拟内存的设定主要根据你的物理内存大小和电脑的用途来设定,在桌面上用鼠标右击“我的电脑”,选择“属性”,就可以看到内存了。根据微软公司的建议,虚拟内存设为物理内存容量的1.5--3倍,例如512MB的内存,虚拟内存设定为768--1536MB;1G的内存,虚拟内存设定为1536--3072MB。也可让Windows来自动分配管理虚拟内存,它能根据实际内存的使用情况,动态调整虚拟内存的大小。在虚拟内存设置页面下方有一个推荐数值,如果确实不知道设置多少为最佳,建议虚拟内存就设为推荐的数值。虚拟内存有初始大小与最大值两个数值,最好把初始大小和最大值设为相同,以避免系统频繁改变页面文件的大小,影响电脑运行。内存容量2GB或以上的,如果不运行大型文件或游戏,也可以关闭虚拟内存。/ 虚拟内存就是在你的物理内存不够用时把一部分硬盘空间作为内存来使用,不过由于硬盘传输的速度要比内存传输速度慢的多,所以使用虚拟内存比物理内存效率要慢。个人实际需要的值应该自己多次调整为好。设的太大会产生大量的碎片,严重影响系统速度,设的太小就不够用,于是系统就会提示你虚拟内存太小。/ (二)虚拟内存设置方法 / 右击“我的电脑”选择“属性--高级--性能--设置--高级--虚拟内存--更改”,选择虚拟内存所在的磁盘,然后在下边单击“自定义大小” 并输入“初始大小”和“最大值”,最后按“设置”按钮,再确定即可。虚拟内存从C盘设置到其它磁盘的方法(如果在其它盘,设置方法一样):右击我的电脑--属性--高级-- 性能设置--高级--虚拟内存更改--点选C盘--单选“无分页文件”--“设置”,此时C盘旁的虚拟内存就消失了;然后选中D或F盘,单选“自定义大小”-- 在下面的“初始大小”和“最大值”两个文本框中输入数值--“设置”—确定 --重启电脑,便完成了设置。 / 虚拟内存最好不要与系统设在同一个磁盘内,内存是随着使用而动态地变化,设在C盘就容易产生磁盘碎片,影响系统运行速度。所以,最好将虚拟内存设置在磁盘剩余空间较大而又不常用的磁盘,如D、F,这样可以避免系统在C盘进行 频繁的读写操作而影响系统速度。虚拟内存在一台电脑,只用设置一次,可设置在任何一个磁盘。 / (三)减轻内存负担: / 1、打开的程序不可太多。如果同时打开的文档过多或者运行的程序过多,就没有足够的内存运行其他程序,要关闭不用的程序和窗口。 / 2、自动运行的程序不可太多。单击“开始”--“运行”,键入 “Msconfig”-“确定”,打开“系统配置实用程序”窗口,删除不想自动加载的启动项目。

页面置换算法代码实现(完整版)

实验原理: 在内存运行过程中,若其所要访问的页面不在内存而需要把他们调入内存,但内存已经没有空闲空间时,为了保证该进程能正常运行,系统必须从内存中调出一页程序或数据送磁盘的对换区中。但应将那个页面调出,需根据一定的算法来确定。通常,把选择换出页面的算法成为页面置换算法。置换算法的好坏,将直接影响到系统的性能。 一个好的页面置换算法,应具有较低的页面更换频率。从理论上讲,应将那些以后不再会访问的页面置换出,或者把那些在较长时间内不会在访问的页面调出。目前存在着许多种置换算法(如FIFO,OPT,LRU),他们都试图更接近理论上的目标。 实验目的: 1.熟悉FIFO,OPT和LRU算法 2.比较三种算法的性能优劣 实验内容: 写出FIFO,OPT和LRU算法的程序代码,并比较它们的算法性能。 实验步骤: 代码如下: #include #define M 4 //物理页数 #define N 20 //需要调入的页数 typedef struct page { int num; int time; }Page; //物理页项,包括调入的页号和时间 Page mm[M]; //4个物理页

int queue1[20],queue2[20],queue3[20]; //记录置换的页int K=0,S=0,T=0; //置换页数组的标识 int pos=0;//记录存在最长时间项 //初始化内存页表项及存储内存情况的空间 void INIT(){ int i; for(i=0;i max){ max=mm[i].time ; pos=i; } } return pos; } //检查最长时间不使用页面 int longesttime(int fold)

虚拟内存不足怎么解决

虚拟内存 内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。举一个例子来说,如果电脑只有128MB物理内存的话,当读取一个容量为200MB的文件时,就必须要用到比较大的虚拟内存,文件被内存读取之后就会先储存到虚拟内存,等待内存把文件全部储存到虚拟内存之后,跟着就会把虚拟内里储存的文件释放到原来的安装目录里了。下面,就让我们一起来看看如何对虚拟内存进行设置吧。 虚拟内存的设置 对于虚拟内存主要设置两点,即内存大小和分页位置,内存大小就是设置虚拟内存最小为多少和最大为多少;而分页位置则是设置虚拟内存应使用那个分区中的硬盘空间。对于内存大小的设置,如何得到最小值和最大值呢?你可以通过下面的方法获得:选择“开始→程序→附件→系统工具→系统监视器”(如果系统工具中没有,可以通过“添加/删除程序”中的Windows安装程序进行安装)打开系统监视器,然后选择“编辑→添加项目”,在“类型”项中选择“内存管理程序”,在右侧的列表选择“交换文件大小”。这样随着你的操作,会显示出交换文件值的波动情况,你可以把经常要使用到的程序打开,然后对它们进行使用,这时查看一下系统监视器中的表现值,由于用户每次使用电脑时的情况都不尽相同,因此,最好能够通过较长时间对交换文件进行监视来找出最符合您的交换文件的数值,这样才能保证系统性能稳定以及保持在最佳的状态。 找出最合适的范围值后,在设置虚拟内存时,用鼠标右键点击“我的电脑”,选择“属性”,弹出系统属性窗口,选择“性能”标签,点击下面“虚拟内存”按钮,弹出虚拟内存设置窗口,点击“用户自己指定虚拟内存设置”单选按钮,“硬盘”选较大剩余空间的分区,然后在“最小值”和“最大值”文本框中输入合适的范围值。如果您感觉使用系统监视器来获得最大和最小值有些麻烦的话,这里完全可以选择“让Windows管理虚拟内存设置”。 调整分页位置 Windows 9x的虚拟内存分页位置,其实就是保存在C盘根目录下的一个虚拟内存文件(也称为交换文件)Win386.swp,它的存放位置可以是任何一个分区,如果系统盘C容量有限,我们可以把Win386.swp调到别的分区中,方法是在记事本中打开System.ini(C:\Windows 下)文件,在[386Enh]小节中,将“PagingDrive=C:WindowsWin386.swp”,改为其他分区的路径,如将交换文件放在D:中,则改为“PagingDrive=D:Win386.swp”,如没有上述语句可以直接键入即可。 而对于使用Windows 2000和Windows XP的,可以选择“控制面板→系统→高级→性能” 中的“设置→高级→更改”,打开虚拟内存设置窗口,在驱动器[卷标]中默认选择的是系统所在的分区,如果想更改到其他分区中,首先要把原先的分区设置为无分页文件,然后再选择其他分区。 或者,WinXP一般要求物理内存在256M以上。如果你喜欢玩大型3D游戏,而内存(包括显存)又不够大,系统会经常提示说虚拟内存不够,系统会自动调整(虚拟内存设置为系统管理)。 如果你的硬盘空间够大,你也可以自己设置虚拟内存,具体步骤如下:右键单击“我的电脑”→属性→高级→性能设置→高级→虚拟内存更改→选择虚拟内存(页面文件)存放的分区→

调大虚拟内存有什么好处

调大虚拟内存有什么好处 调大虚拟内存好处一: 不要设置在c盘设置到其他盘付 2g~4g 够了一半内存大于4g 的都不需要虚拟内存直接无页面文件也够用的 一般虚拟内存一般设置为物理内存的1~1.5倍,别设太小就好。另外c盘小的话,可以设置在d盘或者其他剩余空间比较大的盘里。 虚拟内存最好不要与系统设在同一分区内,内存是随着使用而动态地变化,c盘就容易产生磁盘碎片,影响系统运行速度,所以,最好将虚拟内存设置在其它分区中磁盘剩余空间较大而又不常用的盘中,如d、f,这样可以避免系统在此分区内进行频繁的读写操作而影响系统速度。在一台电脑中,虚拟内存在一个分区中设置就够用了,不必在各个分区中设置虚拟内存。 置虚拟内存的方法是:右击我的电脑—属性—高级—性能设置—高级—虚拟内存更改—点选c盘—单选“无分页文件(n)”—“设置”,此时c盘中的虚拟内存就消失了;然后选中d盘,单选“自定义大小”—在下面的“初始大小”和“最大值”两个文本框中输入数值—“设置”—确定—重启,便完成了设置。 调大虚拟内存好处二: (一)合理设置虚拟内存/虚拟内存的设定主要根据你的物理内存大小和电脑的用途来设定,在桌面上用鼠标右击“我的电脑”,

选择“属性”,就可以看到内存了。根据微软公司的建议,虚拟内存设为物理内存容量的1.5--3倍,例如512mb的内存,虚拟内存设定为768--1536mb;1g的内存,虚拟内存设定为1536--3072mb。也可让windows来自动分配管理虚拟内存,它能根据实际内存的使用情况,动态调整虚拟内存的大小。 在虚拟内存设置页面下方有一个推荐数值,如果确实不知道设置多少为最佳,建议虚拟内存就设为推荐的数值。虚拟内存有初始大小与最大值两个数值,最好把初始大小和最大值设为相同,以避免系统频繁改变页面文件的大小,影响电脑运行。 内存容量2gb或以上的,如果不运行大型文件或游戏,也可以关闭虚拟内存。/虚拟内存就是在你的物理内存不够用时把一部分硬盘空间作为内存来使用,不过由于硬盘传输的速度要比内存传输速度慢的多,所以使用虚拟内存比物理内存效率要慢。个人实际需要的值应该自己多次调整为好。设的太大会产生大量的碎片,严重影响系统速度,设的太小就不够用,于是系统就会提示你虚拟内存太小。 (二)虚拟内存设置方法/右击“我的电脑”选择“属性--高级--性能--设置--高级--虚拟内存--更改”,选择虚拟内存所在的磁盘,然后在下边单击“自定义大小”并输入“初始大小”和“最大值”,最后按“设置”按钮,再确定即可。虚拟内存从c盘设置到其它磁盘的方法(如果在其它盘,设置方法一样):右击我的电脑--属性--高级--性能设置--高级--虚拟内存更改--点选c盘--单选“无分页文件”--“设置”,此时c盘旁的虚拟内存就消失了;然后选中d或f盘,单选“自定义大小”--在下面的“初始大小”

页面置换算法作业

页面置换算法的演示 一.实验要求: 设计一个虚拟存储区和内存工作区,编程序演示下述算法的具体实现过程,并计算访问命中率: 要求设计主界面以灵活选择某算法,且以下算法都要实现 1) 最佳置换算法(OPT):将以后永不使用的或许是在最长(未来)时间内不再 被访问的页面换出。 2) 先进先出算法(FIFO):淘汰最先进入内存的页面,即选择在内存中驻留 时间最久的页面予以淘汰。 3) 最近最久未使用算法(LRU):淘汰最近最久未被使用的页面。 4) 最不经常使用算法(LFU) 二.实验目的: 1、用C语言编写OPT、FIFO、LRU,LFU四种置换算法。 2、熟悉内存分页管理策略。 3、了解页面置换的算法。 4、掌握一般常用的调度算法。 5、根据方案使算法得以模拟实现。 6、锻炼知识的运用能力和实践能力。 三.相关知识: 1.虚拟存储器的引入: 局部性原理:程序在执行时在一较短时间内仅限于某个部分;相应的,它所访问的存储空间也局限于某个区域,它主要表现在以下两个方面:时间局限性和空间局限性。 2.虚拟存储器的定义: 虚拟存储器是只具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。 3.虚拟存储器的实现方式: 分页请求系统,它是在分页系统的基础上,增加了请求调页功能、页面置换功能所形成的页面形式虚拟存储系统。 请求分段系统,它是在分段系统的基础上,增加了请求调段及分段置换功能后,所形成的段式虚拟存储系统。 4.页面分配: 平均分配算法,是将系统中所有可供分配的物理块,平均分配给各个进程。 按比例分配算法,根据进程的大小按比例分配物理块。 考虑优先的分配算法,把内存中可供分配的所有物理块分成两部分:一部分按比例地分配给各进程;另一部分则根据个进程的优先权,适当的增加其相应份额后,分配给各进程。 5.页面置换算法: 常用的页面置换算法有OPT、FIFO、LRU、Clock、LFU、PBA等。

关于2G内存用户的虚拟内存设置方法

现在很多玩家的内存相信都有2G了,也许细心的人会发现,大部分情况下2G根本用不完,基本都在1.2G左右徘徊,其次很人多认为内存大了就可以不需要虚拟内存了,其实不然,虚拟内存对于任何版本的Windows而言都是十分重要的。如果设置得当,它将极大地提升电脑的性能和运行速度。它是Windows XP作为内存使用的一部分硬盘空间。即便物理内存很大,虚拟内存也是必不可少的,作为一个文件数据交叉链接的活动文件,有很多软件或者游戏为了减少内存的占用量,都会直接将数据放在虚拟内存中,使用的时候才会调用到物理内存当中,因此设置为无的话,就会给系统的稳定性埋下一颗定时炸弹,况且,对系统本身而言,并没有性能的提升,那么说了这么多,我们进入主题吧。 虚拟内存因为是Windows XP作为内存使用的一部分硬盘空间,所以它的速度直接受硬盘影响,即使硬盘在再好,速度再快,跟物理内存还是相差甚多,那么我们上面提到了,2G内存大部分用不完,那为什么不把虚拟内存放到物理内存中呢,这样即解决了稳定性,又解决了速度问题,而且连页面文件所产生的磁盘随片都没有了。 要实现这个我们还要借助一个软件的帮忙“Ramdisk ”,Ramdisk 的作用就是让操作系统划出一部分内存来模拟硬盘,这样就可以把对慢速硬盘的操作转换为对高速内存的操作,既提高了系统资源的利用率,又极大提高了系统的运行效率。因为它的特性是数据完全存储在内存中,所以一旦关闭计算机,就会导致内存盘中的数据完全丢失,这个特性使的它非常适合存放页面文件。当然,比如IE的缓存,Windows和应用程序运行时产生的临时文件也都可以存放,不过要注意大小。 ramdisk 的安装和设置非常简单,运行install,进入ramdisk主界面,如果ramdisk 还没有安装,那么仅仅是Install ramdisk 按钮可用,单击按钮,开始安装,windows 可能会警告驱动程序没有数字签名,不去理睬它,按yes就可以了,好了,安装完毕,这时除了Install ramdisk 按钮以外的其他按钮都可用了,设置也很简单,仅仅包括盘符,内存盘大小,内存盘的类型,这3个选项。还有一些高级设置需要修改注册表,一般情况下不需要,具体看ramdisk的说明。内存盘大小,单位是千字节,这个数值完全取决于你的电脑的内存多少,如果你的电脑只有256M内存,那么内存盘的大小最好不要超过64兆,建议2G 拥护设置为512M就可以了,我自己就设置的512M,(1G的用户也可以使用,但是设置多大就看你自己了)然后是盘符的设置,没什么好说的,缺省是R,只要是没有使用的盘符都行。内存盘的类型,缺省是硬盘(fixed),还可以设置为软盘(removable),等等。选择好需要的设置后,按apply按钮或者Ok按钮就可以了,打开资源管理器,你就会发现多了一个盘符R,假定你设置的盘符是R,以后都直接用盘符R来代表内存盘。 后面的就很简单了,只要把页面文件设置在R盘就OK了,我设置的是最大最小都为400M,其他盘都为0,然后把IE的缓存设置为100M 并且也放到里面了。 一切都OK后,也许当时并不能明显感觉速度有什么大的提升,但是你试的进一下极品9,就知道了好处在哪了,呵呵!以前进入我需要将近20秒的时间才能进去,但是现在只需要2秒。

《操作系统》实验五页面置换算法模拟

实验五. 请求页式存储管理的模拟 [实验内容]: 熟悉虚拟存储管理的各种页面置换算法,并编写模拟程序实现请求页式存储管理的页面置换算法----最近最久未使用算法(LRU),要求在每次产生置换时显示页面分配状态和缺页率。 [实验要求]: 1、运行给出的实验程序,查看执行情况,进而分析算法的执行过程,在理解FIFO页面置换算法和最近最久未使 用算法(LRU)置换算法后,给出最佳置换算法的模拟程序实现,并集成到参考程序中。 2、执行2个页面置换模拟程序,分析缺页率的情况。最好页框数和访问序列长度可调节,在使用同一组访问序 列数据的情况下,改变页框数并执行2个页面置换模拟程序,查看缺页率的变化。 3、在每次产生置换时要求显示分配状态和缺页率。程序的地址访问序列通过随机数产生,要求具有足够的长度。 最好页框数和访问序列长度可调节。 实验的执行结果如下图所示(左下图为FIFO执行结果,右下图为LRU执行结果):

程序源代码: #include #include "windows.h" #include #include #include #include #include #include void initialize(); //初始化相关数据结构 void createps(); //随机生成访问序列 void displayinfo(); //显示当前状态及缺页情况 void fifo(); //先进先出算法 int findpage(); //查找页面是否在内存 void lru(); //最近最久未使用算法 int invalidcount = 0; // 缺页次数 int vpoint; //页面访问指针 int pageframe[10]; // 分配的页框 int pagehistory[10]; //记录页框中数据的访问历史 int rpoint; //页面替换指针 int inpflag; //缺页标志,0为不缺页,1为缺页 struct PageInfo //页面信息结构 { int serial[100]; // 模拟的最大访问页面数,实际控制在20以上 int flag; // 标志位,0表示无页面访问数据 int diseffect; // 缺页次数 int total_pf; // 分配的页框数 int total_pn; // 访问页面序列长度 } pf_info; //////////////////////////////////////////////////////////////////////// //初始化相关数据结构 void initialize() { int i,pf; inpflag=0; //缺页标志,0为不缺页,1为缺页 pf_info.diseffect =0; // 缺页次数 pf_info.flag =0; // 标志位,0表示无页面访问数据 printf("\n请输入要分配的页框数:"); // 自定义分配的页框数 scanf("%d",&pf); pf_info.total_pf =pf; for(i=0;i<100;i++) // 清空页面序列 { pf_info.serial[i]=-1; }

目前最全的手动优化系统技巧

目前最全的手动优化系统技巧

————————————————————————————————作者:————————————————————————————————日期:

一、每天关机前要做的清洗: 双击“我的电脑”——右键点C盘——点“属性”——点“磁盘清理”——点“确定”——再点“是”——再点“确定”。清理过程中,您可看得到未经您许可(您可点“查看文件”看,就知道了)进来的“临时文件”被清除了,盘的空间多了。对D,E,F 盘也要用这法进行。 二、随时要进行的清理: 打开网页——点最上面一排里的“工具”——点“Internet选项”——再点中间的“Internet临时文件”中的“删除文件”——再在“删除所有脱机内容”前的方框里打上勾——再点“确定”——清完后又点“确定”。这样,可为打开网和空间提高速度。 三、一星期进行的盘的垃圾清理:?点“开始”——用鼠标指着“所有程序”,再指着“附件”,再指着“系统工具”,再点“磁盘粹片整理程序”——点C盘,再点“碎片整理”(这需要很长时间,最好在您去吃饭和没用电脑时进行。清理中您可看到您的盘里的状况,可将清理前后对比一下)——在跳出“清理完成”后点“关闭”。按上述,对D,E,F盘分别进行清理。 电脑系统越来越慢,怎么删除临时文件啊 1.关闭"休眠" 方法:打开[控制面板]→[电源选项]→[休眠],把"启用休眠"前面的勾去掉?说明:休眠是系统长时间一种待机状态,使您在长时间离开电脑时保存操作状态,如果您不是经常开着电脑到别处去的话,那就把它关了吧! ☆立即节省:256M 2.关闭"系统还原" ?方法:打开[控制面板]→[系统]→[系统还原],把"在所有驱动器上关闭系统还原'勾上 说明:系统还原是便于用户误操作或产生软件问题时的一种挽救手段,可以回复到误操作以前的状态.不建议初级用户使用.当然,它采用的是跟踪手段,需要记录大量信息,所消耗的资源也要很大的.?☆立即节省:数百M(根据还原点的多少 而不同) 您也可以在不关闭系统还原的前提下,相应的减少系统还原所占的磁盘空间,这只会减少可用还原点的数目,一般还原点有一两个就够了吧.?方法:...[系统还原]-选择一个"可用驱动器"-[设置]-调整"要使用的磁盘空间" 3.关闭"远程管理"?方法:打开[控制面板]→[系统]→[远程],把"允许从这台计算机发送远程协助邀请"前面的勾去掉. 说明:谁会经常用到这种功能呢?它占用的不是磁盘空间,但是会影响系统运行速度.?☆提高系统性能

页面置换算法实验报告

一、实验目的 通过模拟实现请求页式存储管理的几种基本页面置换算法,了解虚拟存储技术的特点,掌握虚拟存储请求页式存储管理中几种基本页面置换算法的基本思想和实现过程,并比较它们的效率。 二、实验内容 基于一个虚拟存储区和内存工作区,设计下述算法并计算访问命中率。 1、最佳淘汰算法(OPT) 2、先进先出的算法(FIFO) 3、最近最久未使用算法(LRU) 4、简单时钟(钟表)算法(CLOCK) 命中率=1-页面失效次数/页地址流(序列)长度 三、实验原理 UNIX中,为了提高内存利用率,提供了内外存进程对换机制;内存空间的分配和回收均以页为单位进行;一个进程只需将其一部分(段或页)调入内存便可运行;还支持请求调页的存储管理方式。 当进程在运行中需要访问某部分程序和数据时,发现其所在页面不在内存,就立即提出请求(向CPU发出缺中断),由系统将其所需页面调入内存。这种页面调入方式叫请求调页。为实现请求调页,核心配置了四种数据结构:页表、页帧(框)号、访问位、修改位、有效位、保护位等。 当CPU接收到缺页中断信号,中断处理程序先保存现场,分析中断原因,转入缺页中断处理程序。该程序通过查找页表,得到该页所在外存的物理块号。如果此时内存未满,能容纳新页,则启动磁盘I/O将所缺之页调入内存,然后修改页表。如果内存已满,则须按某种置换算法从内存中选出一页准备换出,是否重新写盘由页表的修改位决定,然后将缺页调入,修改页表。利用修改后的页表,去形成所要访问数据的物理地址,再去访问内存数据。整个页面的调入过程对用户是透明的。 四、算法描述 本实验的程序设计基本上按照实验内容进行。即使用srand( )和rand( )函数定义和产生指令序列,然后将指令序列变换成相应的页地址流,并针对不同的算法计算出相应的命中率。 (1)通过随机数产生一个指令序列,共320条指令。指令的地址按下述原则生成:A:50%的指令是顺序执行的 B:25%的指令是均匀分布在前地址部分 C:25%的指令是均匀分布在后地址部分 具体的实施方法是: A:在[0,319]的指令地址之间随机选取一起点m B:顺序执行一条指令,即执行地址为m+1的指令 C:在前地址[0,m+1]中随机选取一条指令并执行,该指令的地址为m’ D:顺序执行一条指令,其地址为m’+1

虚拟内存不足

Windows虚拟内存不足的几种解决方法问: 经常听别人说起虚拟内存,请问什么是虚拟内存?为什么我的电脑在使用过一段时间后,总是提示虚拟内存太低,是不是只有重新安装操作系统才能解决问题? 答:Windows操作系统用虚拟内存来动态管理运行时的交换文件。为了提供比实际物理内存还多的内存容量以供使用,Windows操作系统占用了硬盘上的一部分空间作为虚拟内存。当CPU有需求时,首先会读取内存中的资料。当所运行的程序容量超过内存容量时,Windows操作系统会将需要暂时储存的数据写入硬盘。所以,计算机的内存大小等于实际物理内存容量加上“分页文件”(就是交换文件)的大小。如果需要的话,“分页文件”会动用硬盘上所有可以使用的空间。 如果你的系统虚拟内存太低,可以鼠标右击“我的电脑”选择“属性→高级→性能下设置→高级→打开虚拟内存设置”,可以重新设置最大值和最小值,按物理内存的1.5~2倍来添加数值,也可以更改虚拟内存的存放位置,可以设置放到其他容量较大的硬盘分区,让系统虚拟内存有充分的空间,让系统运行更快。 虚拟内存太低有三种解决办法: 1. 自定义的虚拟内容的容量(系统默认是自动)太小,可以重新划分大小。 2. 系统所在的盘(一般是C盘)空余的容量太小而运行的程序却很大,并且虚拟内存通常被默认创建在系统盘目录下,我们通常可以删除一些不用的程序,并把文档图片以及下载的资料等有用文件移动到其他盘中,并清理“回收站”,使系统盘保持1GB以上的空间,或者将虚拟内存定义到其他空余空间多的盘符下。 3. 系统盘空余的容量并不小,但因为经常安装、下载软件,并反复删除造成文件碎片太多,也是容易造成虚拟内存不足的原因之一,虚拟内存需要一片连续的空间,尽管磁盘空余容量大,但没有连续的空间,也无法建立虚拟内存区。可以用磁盘工具整理碎片。 虚拟内存不足的九大原因及解决方法系统提示“内存不足”的九大原因及解决方 法 一、剪贴板占用了太多的内存 实际上,剪贴板是内存中的一块临时区域,当你在程序中使用了“复制”或“剪切”命令后,Windows将把复制或剪切的内容及其格式等信息暂时存储在剪贴板上,以供“粘贴”使用。如果当前剪贴板中存放的是一幅图画,则剪贴板就占用了不少的内存。这时,请按下述步骤清除剪贴板中的内容,释放其占用的内存资源:

操作系统常用页面置换算法课程设计

摘要 在linux中,为了提高内存利用率,提供了内外存进程对换机制,内存空间的分配和回收均以页为单位进行,一个进程只需要将其一部分调入内存便可运行;当操作系统发生缺页中断时,必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。因而引入一种用来选择淘汰哪一页的算法——页面置换算法。页面置换算法是操作系统中虚拟存储管理的一个重要部分。页面置换算法在具有层次结构存储器的计算机中,为用户提供一个比主存储器容量大得多的可随机访问的地。常见的页面置换算法有先来先服务算法(FIFO),最近最久未使用算法(LRU)和最佳适应算法(OPT)。 关键字:操作系统;FIFO;LRU;OPT;Linux

目录 1 绪论?1 1.1设计任务 (1) 1.2设计思想?1 1.3设计特点?1 1.4基础知识 (2) 1.4.1 先进先出置换算法(FIFO)?2 1.4.2最近最久未使用算法(LRU) (3) 1.4.3最佳置换算法(OPT) (3) 2 各模块伪代码算法?4 2.1伪代码概念?4 2.2伪代码算法 (4) 2.2.1主函数伪代码算法.............................................. 错误!未定义书签。 2.2.2延迟时间函数伪代码算法?6 2.2.3 FIFO算法的伪代码?7 2.2.4LRU算法的伪代码 (7) 10 2.2.5 OPT算法的伪代码? 3 函数调用关系图................................................................................................... 12 3.1函数声明?12 3.1.1主要算法函数...................................................... 错误!未定义书签。

如何设置笔记本虚拟内存

电脑小技巧教你如何设置虚拟内存 虚拟内存的概念是相对于物理内存而言的,当系统的物理内存空间入不敷出时,操作系统便会在硬盘上开辟一块磁盘空间当做内存使用。 设置虚拟内存 虚拟内存的概念是相对于物理内存而言的,当系统的物理内存空间入不敷出时,操作系统便会在硬盘上开辟一块磁盘空间当做内存使用,这部分硬盘空间就叫虚拟内存。Windows 98中采用Win386.swp文件的形式,而Windows 2000/XP 则采用页面文件pagefile.sys的形式来管理虚拟内存。 一、大小情况 1.一般情况 一般情况下,建议让Windows来自动分配管理虚拟内存,它能根据实际内存的使用情况,动态调整虚拟内存的大小。 2.关于最小值 Windows建议页面文件的最小值应该为当前系统物理内存容量再加上12MB,而对于物理内存容量小于256MB的用户,则建议将页面文件的最小值设得更大些: ①使用128MB或者更少内存的用户,建议将当前物理内存容量的1.75倍设置为页面文件的最小值。 ②内存大小在128MB到256MB之间的用户,建议将当前物理内存容量的1.5倍设置为页面文件的最小值。 3.关于最大值 一般来说,页面文件的最大值设置得越大越好,建议设置为最小值的2到3倍。 4.极端情况 假如硬盘空间比较紧张,在设置页面文件时,只需保证它不小于物理内存的3/4即可。 如果物理内存很大(大于512MB),则可以将虚拟内存禁用 5.根据不同的任务环境设置 ①以3D游戏为主的环境 3D游戏对CPU、显卡和内存要求都很高,如果物理内存小于256MB,建议把虚拟内存预设得大一点,这对提高游戏的稳定性和流畅性很有帮助。 ②以播放视频为主的环境 视频应用对硬盘空间的“胃口”很大,不过千万不要像在3D游戏环境中一样把虚拟内存设得很大,尤其是Windows XP的用户。因为Windows XP不会自动把不需要的空间释放掉,也就是说那个Pagefiles.sys文件会越来越大。如果你把虚拟内存和Windows XP放在同一分区,播放RM、ASF等视频流文件以后,系统经常会提示你虚拟内存设得太小或是磁盘空间不足。查看此时的页面文件,已经足有1GB大小了。所以建议经常欣赏视频文件的Windows XP用户,把初始数值设小一点,或者将虚拟内存转移到系统盘以外的分区。 二、设置方法 下面以在Windows XP下转移虚拟内存所在盘符为例介绍虚拟内存的设置方

请求页式存储管理中常用页面置换算法模拟

信息工程学院实验报告 课程名称:操作系统Array实验项目名称:请求页式存储管理中常用页面置换算法模拟实验时间: 班级姓名:学号: 一、实验目的: 1.了解内存分页管理策略 2.掌握调页策略 3.掌握一般常用的调度算法 4.学会各种存储分配算法的实现方法。 5.了解页面大小和内存实际容量对命中率的影响。 二、实验环境: PC机、windows2000 操作系统、VC++6.0 三、实验要求: 本实验要求4学时完成。 1.采用页式分配存储方案,通过分别计算不同算法的命中率来比较算法的优劣,同时也考虑页面大 小及内存实际容量对命中率的影响; 2.实现OPT 算法 (最优置换算法)、LRU 算法 (Least Recently)、 FIFO 算法 (First IN First Out)的模拟; 3.会使用某种编程语言。 实验前应复习实验中所涉及的理论知识和算法,针对实验要求完成基本代码编写、实验中认真调试所编代码并进行必要的测试、记录并分析实验结果。实验后认真书写符合规范格式的实验报告,按时上交。 四、实验内容和步骤: 1.编写程序,实现请求页式存储管理中常用页面置换算法LRU算法的模拟。要求屏幕显示LRU算法 的性能分析表、缺页中断次数以及缺页率。 2.在上机环境中输入程序,调试,编译。 3.设计输入数据,写出程序的执行结果。 4.根据具体实验要求,填写好实验报告。 五、实验结果及分析: 实验结果截图如下:

利用一个特殊的栈来保存当前使用的各个页面的页面号。当进程访问某页面时,便将该页面的页面号从栈中移出,将它压入栈顶。因此,栈顶始终是最新被访问页面的编号,栈底是最近最久未被使用的页面号。当访问第5个数据“5”时发生了缺页,此时1是最近最久未被访问的页,应将它置换出去。同理可得,调入队列为:1 2 3 4 5 6 7 1 3 2 0 5,缺页次数为12次,缺页率为80%。 六、实验心得: 本次实验实现了对请求页式存储管理中常用页面置换算法LRU算法的模拟。通过实验,我对内存分页管理策略有了更多的了解。 最近最久未使用(LRU)置换算法的替换规则:是根据页面调入内存后的使用情况来进行决策的。该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间,当需淘汰一个页面的时候选择现有页面中其时间值最大的进行淘汰。 最佳置换算法的替换规则:其所选择的被淘汰页面,将是以后永不使用的或许是在最长(未来)时间内不再被访问的页面。 先进先出(FIFO)页面置换算法的替换规则:该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。该算法实现简单只需把一个进程已调入内存的页面,按先后次序链接成一个队列,并设置一个指针,称为替换指针,使它总是指向最老的页面。 三种替换算法的命中率由高到底排列OPT>LRU>FIFO。 本次的程序是在网上查找的相关代码然后自己进行修改,先自己仔细地研读了这段代码,在这过程中我对C++代码编写有了更深的了解。总之,本次实验使我明白要学会把课堂上的理论应用到实际操作中。我需要在今后熟练掌握课堂上的理论基础,只有坚实的基础,才能在实际操作中更得心应手。 附录: #include "iostream.h" #include const int DataMax=100; const int BlockNum = 10;

相关主题
相关文档 最新文档