1、内存架构
1. 物理内存和虚拟内存
系统内存的管理是内核所做的比较复杂的事情之一。高效的内存管理对于系统上良好的进程性能至关重要。
计算机系统将内存组织成固定大小的块(chunks),称为页(page)。页面的大小取决于处理器架构;对于x86_64,标准页面大小是4KiB。系统上的物理RAM被分为页帧(page frame);一页帧保存一页数据。
进程不直接寻址物理内存。相反,每个进程都有一个虚拟地址空间(virtual address space)。当进程请求内存时,内核将页帧的物理地址映射到进程地址空间中的虚拟地址。从进程的角度来看,它有一个私有的内存空间,并且只能访问内核映射到它的虚拟地址的物理页帧。除此之外,这还有助于加强安全限制并明确进程之间的划分。
进程虚拟地址空间的大小不依赖于安装的物理RAM,而是依赖于处理器架构。在64位x86-64系统上,地址空间大小为2的64次幂字节(16 EiB)。
单个进程通常不会使用它的整个地址空间。它的大部分是未分配的,也没有映射到任何实际的物理内存。

上面的图显示了64位x86-64系统上的内存组织,页面大小为4 KiB(2的12次幂)。
每个进

订阅专栏 解锁全文
2007

被折叠的 条评论
为什么被折叠?



