虚拟页和页框的区别?
Difference between virtual page and page frame?
据我了解,页面来自覆盖层,覆盖层是由虚拟内存生成的内存空间集群。但我不明白什么是框架或它们之间的关系。
谁能解释一下页面和框架是什么以及它是如何工作的?
页框是主内存的物理属性。然而,虚拟页面是...虚拟的。
frame 0 frame 1 frame 2 frame 3 frame 4
----------------------------------------------
| | | | | |
| | | | | |
---------------------------------------------- Main Memory
物理内存被组织成页面框架。页框的大小是以字节为单位的 2 的幂,并且因系统而异。
逻辑内存被组织成 PAGES。页面大小与页面框架匹配。
逻辑地址分为页选择符和页偏移量。
逻辑页面使用页面 table 映射到页面框架。页面结构 table 因系统而异。逻辑地址的页面选择器用作页面的索引 table.
在大多数系统中,页 table 可以指定没有关联页框的有效逻辑地址。这是一个虚拟内存系统。如果应用程序试图访问这样的页面,它会触发页面错误异常。操作系统页面错误处理程序必须分配一个物理页面框架,使用辅助存储中的数据加载页面框架,更新页面 table 以将逻辑页面映射到新分配的物理页面框架,最后重新启动指令导致故障。
操作系统管理页面 tables。 CPU(对应用程序透明)使用页面 table.
将逻辑页框转换为物理页框
首先,分页是一种内存管理方案。 物理内存可分为帧,逻辑内存可分为页。页面也称为虚拟页面,框架称为页面框架。物理地址space中的所有内存块都用帧号标识,逻辑地址用页号标识。
页面 table 由页码及其相应的偏移量组成。
Physical address = (page size * frame number) + page offset
帧号来自页面 table 和页面被添加到空框架中。
根据 SILBERSCHATZ 等人的说法。 "The basic method for implementing paging involves breaking physical memory into fixed-sized blocks called frames and breaking logical memory into blocks of the same size called pages." [OS 概念第 9 版]
页(或内存页、虚拟页或逻辑页)是固定长度的连续虚拟内存块。
一个帧(或内存帧,或物理页面,或页面帧)是固定长度的RAM块(即物理内存,它存在-如"physical"。虚拟内存是为我们的数学正确有效地工作以安全地管理内存)。
请注意,框架可能不连续,但页面会。我们希望进程 OS 处理连续的地址,因为它使一切变得更容易。让专用硬件芯片(MMU)将虚拟地址对应到正确的物理地址,反之亦然。
进程使用虚拟地址,而硬件使用物理地址,即。 CPU(将地址放入其地址总线以请求内存访问)和 RAM 子系统(MMU、页表等)。
编译程序时,编译器将程序代码转换为机器可理解的代码,在此过程之间,地址空间以虚拟地址的形式设置。当由处理器处理时,在 MMU 的帮助下,它们再次映射到内存中可用的物理位置,无论是 RAM 还是 HDD。
PS。
我不容忍使用术语页面框架。您可能意识到这是混乱的根源。坚持 'page' 和 'frame',两个非常简单但含义明确的词。
页框是物理的属性主存分区,分成不同的段用于虚拟地址存储。它有不同的大小 1/2kb、2k、1.5 等
分页分配将计算机的主内存分成 fixed-size 个称为页框的单元,并将程序的逻辑(或虚拟)地址 space 分成相同大小的页面。
硬件内存管理单元将页映射到帧。
据我了解,页面来自覆盖层,覆盖层是由虚拟内存生成的内存空间集群。但我不明白什么是框架或它们之间的关系。
谁能解释一下页面和框架是什么以及它是如何工作的?
页框是主内存的物理属性。然而,虚拟页面是...虚拟的。
frame 0 frame 1 frame 2 frame 3 frame 4
----------------------------------------------
| | | | | |
| | | | | |
---------------------------------------------- Main Memory
物理内存被组织成页面框架。页框的大小是以字节为单位的 2 的幂,并且因系统而异。
逻辑内存被组织成 PAGES。页面大小与页面框架匹配。
逻辑地址分为页选择符和页偏移量。
逻辑页面使用页面 table 映射到页面框架。页面结构 table 因系统而异。逻辑地址的页面选择器用作页面的索引 table.
在大多数系统中,页 table 可以指定没有关联页框的有效逻辑地址。这是一个虚拟内存系统。如果应用程序试图访问这样的页面,它会触发页面错误异常。操作系统页面错误处理程序必须分配一个物理页面框架,使用辅助存储中的数据加载页面框架,更新页面 table 以将逻辑页面映射到新分配的物理页面框架,最后重新启动指令导致故障。
操作系统管理页面 tables。 CPU(对应用程序透明)使用页面 table.
将逻辑页框转换为物理页框首先,分页是一种内存管理方案。 物理内存可分为帧,逻辑内存可分为页。页面也称为虚拟页面,框架称为页面框架。物理地址space中的所有内存块都用帧号标识,逻辑地址用页号标识。
页面 table 由页码及其相应的偏移量组成。
Physical address = (page size * frame number) + page offset帧号来自页面 table 和页面被添加到空框架中。
根据 SILBERSCHATZ 等人的说法。 "The basic method for implementing paging involves breaking physical memory into fixed-sized blocks called frames and breaking logical memory into blocks of the same size called pages." [OS 概念第 9 版]
页(或内存页、虚拟页或逻辑页)是固定长度的连续虚拟内存块。
一个帧(或内存帧,或物理页面,或页面帧)是固定长度的RAM块(即物理内存,它存在-如"physical"。虚拟内存是为我们的数学正确有效地工作以安全地管理内存)。
请注意,框架可能不连续,但页面会。我们希望进程 OS 处理连续的地址,因为它使一切变得更容易。让专用硬件芯片(MMU)将虚拟地址对应到正确的物理地址,反之亦然。
进程使用虚拟地址,而硬件使用物理地址,即。 CPU(将地址放入其地址总线以请求内存访问)和 RAM 子系统(MMU、页表等)。 编译程序时,编译器将程序代码转换为机器可理解的代码,在此过程之间,地址空间以虚拟地址的形式设置。当由处理器处理时,在 MMU 的帮助下,它们再次映射到内存中可用的物理位置,无论是 RAM 还是 HDD。
PS。 我不容忍使用术语页面框架。您可能意识到这是混乱的根源。坚持 'page' 和 'frame',两个非常简单但含义明确的词。
页框是物理的属性主存分区,分成不同的段用于虚拟地址存储。它有不同的大小 1/2kb、2k、1.5 等
分页分配将计算机的主内存分成 fixed-size 个称为页框的单元,并将程序的逻辑(或虚拟)地址 space 分成相同大小的页面。 硬件内存管理单元将页映射到帧。