Linux使用的是虚拟内存管理技术。
虚拟内存技术是一种将物理内存和磁盘空间结合起来使用的技术。它将物理内存划分为一段一段的固定大小的页或者块,并将虚拟内存空间也划分为相同大小的页或者块。当程序访问某个虚拟地址时,通过页表的映射关系,确定物理内存中对应的数据。
使用虚拟内存管理技术,可以实现以下几个方面的功能:
1. 扩大可用内存空间:虚拟内存使得程序可以访问远远超过物理内存大小的地址空间。
2. 内存保护:每个进程的虚拟地址空间是独立的,通过页表的权限控制可以实现对内存的保护。
3. 共享内存:多个进程可以共享同一块物理内存区域,减少内存的使用。
在Linux系统下,虚拟内存使用的是分页式虚拟内存管理技术。每个进程的虚拟内存空间被分成大小为4KB的页,内核根据进程的需要将虚拟地址映射到物理内存中的页框上。当物理内存不足时,内核会将不常用的页置换到磁盘上的交换空间,从而释放出物理内存供其他进程使用。