内存是程序得以运行的重要物质基础。如何在有限的内存空间运行较大的应用程序,曾是困扰人们的一个难题。为解决这个问题,人们设计了许多的方案,其中最成功的当属虚拟内存技术。Linux作为一个以通用为目的的现代大型操作系统,当然也毫不例外的采用了优点甚多的虚拟内存技术。
为了运行比实际物理内存容量还要大的程序,包括Linux在内的所有现代操作系统几乎毫无例外的都采用了虚拟内存技术。虚拟内存技术,可让系统看上去具有比实际物理意义内存大的多的内存空间,并为实现多道程序的执行创造了条件。
总所周知,为了对内存中的存储单元进行识别,内存中的每一个存储单元都必须有一个确切的地址。而一台计算机的处理器能访问多大的内存空间就取决于处理器的程序计数器,该计数器的字长越长,能访问的空间就越大。
例如:对于程序计数器位数为32位的处理器来说,他的地址发生器所能发出的地址数目为2^32=4G个,于是这个处理器所能访问的最大内存空间就是4G。在计算机技术中,这个值就叫做处理器的寻址空间或寻址能力。
照理说,为了充分利用处理器的寻址空间,就应按照处理器的最大寻址来为其分配系统的内存。如果处理器具有32位程序计数器,那么就应该按照下图的方式,为其配备4G的内存:
原文链接 : https://blog.csdn.net/qq_38410730/article/details/81036768
在此十分感谢大佬的文章,让我受益匪浅!