操作系统中如何算页面大小(操作系统页面大小怎么算)-mile米乐体育
操作系统中如何算页面大小,操作系统页面大小怎么算
内容导航:操作系统页面大小4kb 什么是系统页面大小 不同系统中页面的大小有什么不一样的吗 问下最佳页面配置谁会的
一、操作系统页面大小4kb
没有用错,内存的访问一定是按字节来访问的,不会一个一个页内地址只对应一个二进制的位。所以每个页内地址其实代表的就是一个字节的存储空间。12位的地址也就是4kb的存储空间。
二、什么是系统页面大小
什么是虚拟内存什么是虚拟内存 虚拟内存是用硬盘空间做内存来弥补计算机ram空间的缺乏。
当实际ram满时(实际上,在ram满之前),虚拟内存就在硬盘上创建了。
当物理内存用完后,虚拟内存管理器选择最近没有用过的,低优先级的内存部分写到交换文件上。
这个过程对应用是隐藏的,应用把虚拟内存和实际内存看作是一样的。
技术细节:对于英特尔 ia-32 处理器(包括 386、奔腾等)而言,用户应用程序(进程)访问内存时其内存地址是虚拟的,cpu
会将它转换为实际的物理内存地址。
物理内存不够时,操作系统系统会将各个进程中一部分暂时不用的内存换出到页面文件(交换文件)中,并将需要访问内存的程序的内容从页面文件中换入到物理内存。
更详细可以到/view/虚拟内存的设置
对于虚拟内存主要设置两点,即内存大小和分页位置,内存大小就是设置虚拟内存最小为多少和最大为多少;而分页位置则是设置虚拟内存应使用那个分区中的硬盘空间。
对于内存大小的设置,如何得到最小值和最大值呢?你可以通过下面的方法获得:选择“开始→程序→附件→系统工具→系统监视器”(如果系统工具中没有,可以通过“添加/删除程序”中的windows安装程序进行安装)打开系统监视器,然后选择“编辑→添加项目”,在“类型”项中选择“内存管理程序”,在右侧的列表选择“交换文件大小”。
这样随着你的操作,会显示出交换文件值的波动情况,你可以把经常要使用到的程序打开,然后对它们进行使用,这时查看一下系统监视器中的表现值,由于用户每次使用电脑时的情况都不尽相同,因此,最好能够通过较长时间对交换文件进行监视来找出最符合您的交换文件的数值,这样才能保证系统性能稳定以及保持在最佳的状态。
找出最合适的范围值后,在设置虚拟内存时,用鼠标右键点击“我的电脑”,选择“属性”,弹出系统属性窗口,选择“性能”标签,点击下面“虚拟内存”按钮,弹出虚拟内存设置窗口,点击“用户自己指定虚拟内存设置”单选按钮,“硬盘”选较大剩余空间的分区,然后在“最小值”和“最大值”文本框中输入合适的范围值。
如果您感觉使用系统监视器来获得最大和最小值有些麻烦的话,这里完全可以选择“让windows管理虚拟内存设置”。
调整分页位置 windows
9x的虚拟内存分页位置,其实就是保存在c盘根目录下的一个虚拟内存文件(也称为交换文件),它的存放位置可以是任何一个分区,如果系统盘c容量有限,我们可以把调到别的分区中,方法是在记事本中打开(c:\windows下)文件,在[386enh]小节中,将“pagingdrive=c:”,改为其他分区的路径,如将交换文件放在d:中,则改为“pagingdrive=d:”,如没有上述语句可以直接键入即可。
而对于使用windows 2000和windows
xp的,可以选择“控制面板→系统→高级→性能”中的“设置→高级→更改”,打开虚拟内存设置窗口,在驱动器[卷标]中默认选择的是系统所在的分区,如果想更改到其他分区中,首先要把原先的分区设置为无分页文件,然后再选择其他分区。
或者,winxp一般要求物理内存在256m以上。
如果你喜欢玩大型3d游戏,而内存(包括显存)又不够大,系统会经常提示说虚拟内存不够,系统会自动调整(虚拟内存设置为系统管理)。
如果你的硬盘空间够大,你也可以自己设置虚拟内存,具体步骤如下:右键单击“我的电脑”→属性→高级→性能 设置→高级→虚拟内存
更改→选择虚拟内存(页面文件)存放的分区→自定义大小→确定最大值和最小值→设置。
一般来说,虚拟内存为物理内存的1.5倍,稍大一点也可以,如果你不想虚拟内存频繁改动,可以将最大值和最小值设置为一样。
44》虚拟内存使用技巧 对于虚拟内存如何设置的问题,微软已经给我们提供了官方的解决办法,对于一般情况下,我们推荐采用如下的设置方法:
(1)在windows系统所在分区设置页面文件,文件的大小由你对系统的设置决定。
具体设置方法如下:打开”我的电脑”的”属性”设置窗口,切换到”高级”选项卡,在”启动和故障恢复”窗口的”写入调试信息”栏,如果你采用的是”无”,则将页面文件大小设置为2mb左右,如果采用”核心内存存储”和”完全内存存储”,则将页面文件值设置得大一些,跟物理内存差不多就可以了。
小提示:对于系统分区是否设置页面文件,这里有一个矛盾:如果设置,则系统有可能会频繁读取这部分页面文件,从而加大系统盘所在磁道的负荷,但如果不设置,当系统出现蓝屏死机(特别是stop错误)的时候,无法创建转储文件
(),从而无法进行程序调试和错误报告了。
所以折中的办法是在系统盘设置较小的页面文件,只要够用就行了。
(2)单独建立一个空白分区,在该分区设置虚拟内存,其最小值设置为物理内存的1.5倍,最大值设置为物理内存的3倍,该分区专门用来存储页面文件,不要再存放其它任何文件。
之所以单独划分一个分区用来设置虚拟内存,主要是基于两点考虑:其一,由于该分区上没有其它文件,这样分区不会产生磁盘碎片,这样能保证页面文件的数据读写不受磁盘碎片的干扰;其二,按照windows对内存的管理技术,windows会优先使用不经常访问的分区上的
页面文件,这样也减少了读取系统盘里的页面文件的机会,减轻了系统盘的压力。
(3)其它硬盘分区不设置任何页面文件。
当然,如果你有多个硬盘,则可以为每个硬盘都创建一个页面文件。
当信息分布在多个页面文件上时,硬盘控制器可以同时在多个硬盘上执行读取和写入操作。
这样系统性能将得到提高。
小提示: 允许设置的虚拟内存最小值为2mb,最大值不能超过当前硬盘的剩余空间值,同时也不能超过32位操作系统的内存寻址范围——4gb。
你应该安装 msdn,说它是宝典一点都不为过。
函数名字为:getsysteminfo( );函数语法如下:void getsysteminfo( lpsystem_info lpsysteminfo
);这个函数需要传入一个 system_info 的结构体的指针,其中有一个叫做 dwpagesize
的成员就是系统页面大小,请参考下面代码:#include #include using namespace std;void main(
){system_info sysinfo;::zeromemory( &sysinfo;, sizeof( system_info )
);::getsysteminfo( &sysinfo; );cout << e << endl;}如果提示找不到 system_info
声明的话,将下面代码拷贝到 main( ) 函数上面的任意地方。
typedef struct _system_info { union { dword dwoemid; struct { word
wprocessorarchitecture; word wreserved; }; }; dword dwpagesize; lpvoid
lpminimumapplicationapress; lpvoid lpmaximumapplicationapress; dword_ptr
dwactiveprocessormask; dword dwnumberofprocessors; dword dwprocessortype;
dword dwallocationgranularity; word wprocessorlevel; word wprocessorrevision;}
system_info;
三、不同系统中页面的大小有什么不一样的吗
答:不同系统中页面的大小可以相同,也可以不同,这样将带来管理的不便
四、问下最佳页面配置谁会的
答:页面配置一般和你的物理内存和硬盘剩余空间有关,以512m内存为例,如果硬盘空间足够大的话,虚拟内存设置最小可以设为1024m,最大设为2048m。而且最好是专门划出一个分区当虚拟内存,或者用d盘或e盘,以加快系统运行速度。