在 Linux 操作系统中,"页框"(Page Frame)和"页"(Page)是与内存管理相关的两个概念,它们的作用不同,但密切相关。以下是它们的区别:
1. 页(Page)
- 定义:页是虚拟内存的基本单位。在现代操作系统中,内存通常被分为若干个固定大小的块,这些块就是所谓的页。操作系统将程序的虚拟地址空间划分为多个页,以便进行内存的管理和保护。
- 大小:页的大小通常为 4KB,但有时也可能是其他大小(例如 2MB、1GB 等,称为大页或巨页),取决于硬件架构和操作系统配置。
- 作用:页是虚拟内存中的单位,操作系统使用分页机制将虚拟地址空间映射到物理内存。每个页包含了程序或数据的一个部分。
2. 页框(Page Frame)
- 定义:页框是物理内存中存储数据的基本单位。物理内存是由连续的物理地址构成的,每个物理内存块称为一个页框。页框是物理内存的单位,在操作系统的内存管理中,每个页框与一个页相对应,用于存储一个页的内容。
- 大小:页框的大小通常与页的大小相同,一般也是 4KB。如果使用大页(如 2MB 或 1GB 的页),则相应的页框大小也会增大。
- 作用:页框对应着物理内存中的实际存储区域。操作系统通过页表将虚拟页映射到物理页框,使得虚拟内存能够使用物理内存。
区别总结:
- 虚拟内存与物理内存的关系:页是虚拟内存中的单位,页框是物理内存中的单位。
- 映射关系:操作系统通过页表将虚拟页映射到物理页框,这样就能够实现虚拟内存与物理内存之间的转换。
- 大小:页和页框的大小通常相同,通常为 4KB,但也有例外(如大页)。
简而言之,页是虚拟内存中的单位,而页框是物理内存中的单位。页与页框之间的关系通过操作系统的分页机制建立映射。