需求分页术语澄清

时间:2018-02-01 15:35:44

标签: memory memory-management paging

我一直在阅读有关请求分页的内容,并且有一些我不理解的术语。

  • 什么是框架?我读到它是一块物理内存,至少可以放在一个页面中(所以一帧可以适合一个或多个页面?)。但是这个物理内存是指RAM还是磁盘存储?

  • 其中一个是真的:

    一次为一个应用程序分配虚拟地址空间(32位系统中为4 GiB),以便每个应用程序都有4个GiB虚拟地址可供访问,每次我们切换应用程序时,操作系统都会重新配置虚拟地址空间映射到其他其他应用程序。或者虚拟地址空间分配给多个进程?如果是这样,每个应用程序获得多少虚拟内存,以及当需要更多虚拟内存时会发生什么?

  • 我们是否为每个正在运行的应用程序提供了一个页表,或者是所有应用程序的公共页表?
  • 虚拟内存碎片来自何处?

我希望有人可以澄清我。

1 个答案:

答案 0 :(得分:0)

  • 帧是物理内存块RAM。我没有听说过帧比页面大,我总是把它们理解为同义词。但是,CPU可能允许不同大小的帧/页同时共存(例如,大页面 4MB / 2MB / 1GB大小和常规4KB页面在x86上)。
  • 是否有多个应用程序共享的单个地址空间或每个应用程序都有自己的地址空间取决于操作系统。 Windows 3.xx和9x / Me有一个共享地址空间。 Windows NT / 2000 / XP /等具有单独的每个应用程序地址空间。并非所有地址空间都可用于应用程序/应用程序。部分是为操作系统(内核,驱动程序及其数据)保留的。
  • 现在应该是显而易见的。但需要注意的是......即使使用单独的地址空间,仍可以在几个不同的地址空间中使一部分存储器可用,并且可以通过在相应的进程中具有公共页表来完成。此外,地址空间的内核部分通常由所有进程共有的几个页表进行管理。
  • 地址空间是否为虚拟空间,可能会碎片化。您可能希望分配一个连续的(就虚拟地址而言)缓冲区,例如8KB,但您可能只有两个不相邻的4KB区域可用。