Operating system 32位操作系统是否可能使用超过4GB的内存,以及如何使用?

Operating system 32位操作系统是否可能使用超过4GB的内存,以及如何使用?,operating-system,32-bit,Operating System,32 Bit,大多数32位操作系统通常使用4GB的物理内存,我应该使用只安装在32位操作系统上的MATLAB工具箱。你能给我推荐一个使用超过4GB内存的32位操作系统吗?一个32位操作系统通常使用32位虚拟地址;它将单个虚拟地址空间限制为4 GiB,通常将其分为用户空间和内核空间,因此用户空间中的进程可能只能获得2 GiB或3 GiB的空间 虚拟地址转换为物理地址。这种转换通常使用表的层次结构,其中最终物理地址的大小可以与虚拟地址的大小完全不同。举一个具体的例子;在20世纪90年代推出的80x86上的PAE物

大多数32位操作系统通常使用4GB的物理内存,我应该使用只安装在32位操作系统上的MATLAB工具箱。你能给我推荐一个使用超过4GB内存的32位操作系统吗?

一个32位操作系统通常使用32位虚拟地址;它将单个虚拟地址空间限制为4 GiB,通常将其分为用户空间和内核空间,因此用户空间中的进程可能只能获得2 GiB或3 GiB的空间

虚拟地址转换为物理地址。这种转换通常使用表的层次结构,其中最终物理地址的大小可以与虚拟地址的大小完全不同。举一个具体的例子;在20世纪90年代推出的80x86上的PAE物理地址扩展功能允许物理地址大小为36位,但在2000年代引入另一个功能长模式时,它被扩展,现在PAE支持更大的物理地址,当前架构最大为52位

本质上;它就像一个数组,其中索引的大小与条目的大小不同,例如uint64_t myArray[my8bitIndex]或uint52_t myPageTable[my32bitVirtualAddress];除了它实际上不是一个单一的阵列,并且有多个级别,所以您不需要为大量未使用的阵列浪费空间

当然,不同的CPU有不同的限制有些80x86 CPU只支持36位物理地址,有些支持48位物理地址。。。;安装的RAM的数量总是小于CPU支持的物理地址空间的数量,因为部分物理地址空间用于ROM、设备等;因为RAM要花钱,而大量的RAM要花很多钱

举一个实际例子;如果一台计算机有32吉比特的RAM;然后,一个32位操作系统可以运行100个进程,每个进程的总用户空间为300 GiB,每个进程的空间为3 GiB,但大部分空间将被闲置,其中的部分将是映射到许多不同虚拟地址空间的相同RAM,因此这100个进程可能只使用12 GiB的RAM;然后,操作系统可能会使用剩余的20gib内存来缓存文件系统数据,文件的数据可以缓存在内存中,而无需将该内存映射到任何虚拟地址空间,直到/除非进程需要