内存管理中的内存分区和内存帧

内存管理中的内存分区和内存帧

因此,我在阅读这些术语时,在阅读了“Frames and Pages”后感到困惑。

  1. 内存可以使用基址寄存器和限制寄存器划分为固定或动态分区,这些分区通常会面临内部或外部碎片的问题。每个分区只能拥有一个进程。

  2. 在进程的页面期间,内存 (RAM) 被划分为固定大小的框架,以容纳进程的相同大小的页面。进程被划分为许多页面,许多内存框架容纳这些页面。

我的问题是,内存(RAM)是否分为分区{固定/动态},然后细分为帧,我是否混淆了这些,内存分区概念是一个过时的概念,而帧/页面是最新概念,我将这两者混淆了?

答案1

维基百科上的页面表有一张很好的图表来形象化地展示你的问题的一部分。这是页面上的第一个图形

进程具有虚拟地址空间,该空间可能比任何物理内存都大得多。显然,此地址空间内的数据必须在某个时刻映射到物理内存。内存管理单元 (MMU) 负责此操作。它通过各种机制跟踪哪些页面(虚拟地址空间的段)与哪些物理内存帧相关。页面不一定必须与物理地址相关。如果是这种情况,您将获得页面错误,这意味着必须先将特定页面从替代位置加载到物理内存中,然后才能访问它。

虚拟地址空间始终从 0 开始。基址寄存器和限制寄存器用于定义应用程序可以在其中工作的物理内存分区的开始和结束。如果您的基址寄存器为 12345,则对于您尝试访问的每个虚拟地址,都会添加 12345。

有关此内容的更多信息,另请参阅基址寄存器、限制寄存器和重定位寄存器如何使用?

相关内容