当前位置:首页 > 内存 > 正文

虚拟内存储器的容量是由

  • 内存
  • 2024-06-11 02:15:51
  • 6033

一、虚拟存储器的最大容量是由什么决定的

地址寄存器中的位数

虚拟内存,又称虚拟内存,是计算机系统中的一种内存管理技术。这使得应用程序认为它具有连续的可用内存(完整的连续地址空间),而实际上它通常被划分为多个物理内存片段,其中一些可以根据需要临时保存到磁盘存储中。

虚拟内存的最大数量由地址寄存器中的位数决定。在具有分层存储器的计算机系统中,虚拟存储器自动实现部分加载和部分替换功能,并且可以在逻辑上为用户提供比物理存储容量大得多的可寻址“主存储器”。

虚拟内存的作用

计算机内部运行的每个程序都必须通过内存来运行,如果程序很大或者需要通过内存来运行。这会导致内存消耗。为了解决这个问题,Windows采用了虚拟内存技术,将你的一部分硬盘空间用作内存,当该内存用完时,电脑会自动召唤硬盘充当内存,缓解内存紧张。

如果你的电脑只有128MB的物理内存,那么读取200MB容量的文件将需要相对较大的虚拟内存,因为文件从内存中读取后必须先保存。等待所有文件存入虚拟内存后,将虚拟内存中存储的文件释放到原来的安装目录中。

32位与64位

由于CPU通过物理总线访问内存,因此访问地址范围受到32位机器总线数量的限制。机器有32条总线,每条总线有两个电位分别代表位1和0,最大可访问地址是2^32bit=4GB,所以能在32条总线上插入超过4G的内存是无效的。位机和CPU不能访问超过4G的内存。

但是,64位机器没有64位总线,Linux目前支持的最大内存受到操作系统的限制。

虽然根据虚拟内存的概念,在32位系统上运行64位软件是可以的,但是系统虚拟内存地址的构造方式使得64位虚拟地址无法运行。用于32位系统。


二、计算机系统的虚拟存储器,其最大容量和实际容量分别取决于哪些因素最大容量由CPU地址决定,实际容量由内外存储器和CPU地址之和决定。
例如,如果CPU寻址为32位,则最大虚拟内存量为2^32。
例如内存为1M,外存为400M,32位,则实际容量为:min(1+400M,2^32B)(假设系统是字节寻址的)