一、引子
之前文章讲解的是系统的虚拟内存,本章讲述这些硬件的架构和系统怎样统一管理这些硬件的。
二、物理内存模型
物理内存模型描述了计算机系统中的物理内存如何由操作系统组织和管理。它定义了物理内存如何划分为单元,如何寻址这些单元以及如何将它们映射到虚拟内存地址。物理内存模型对于确保高效和可靠的内存管理至关重要。
物理内存模型对操作系统管理内存分配、虚拟内存映射和内存访问模式产生重大影响。它会影响内存碎片化、缓存利用率和整体系统性能等因素。
2.1平坦内存模型(Flat Memory Model)
平坦内存模型,也称为线性内存模型,是一种简单的内存管理方式,在这种模型下,整个内存空间被视为一个连续的线性地址空间。每个地址直接对应物理内存中的一个字节,没有分段或分页的复杂性。
因为该内存模型的所有内存地址是一个连续的线性地址空间,因此Linux内核中,使用一个全局数组来管理这些物理内存页,并且内核中默认的配置是使用平坦内存模型。在Linux中最小分配的内存是4KB,所以即使是平坦内存模型,还是按页来管理内存的。
特点:
单一地址空间:所有程序和数据共享一个统一的地址空间,从地址0到最大地址。
无分段和分页:没有分段和分页机制,所有内存地址都是线性且连续的。
简单性:管理和编程简单,适用于内存需求较小且操作系统简单的系统。
优点