进程的不同页面大小和框架大小

问题描述 投票:0回答:1

不同进程可以有不同的页面大小和帧大小吗?例如。如果进程 p1 已分为 5 个 4MB 的页面,进程 p2 已分为 4 个 3Mb 的页面,那么在这种情况下帧大小是多少,p1 为 4MB,p2 为 3 Mb?

期望 p1 和 p2 的帧大小以及如何分配帧

memory-management process operating-system paging
1个回答
0
投票

可用的页面大小由硬件决定。绝对所有硬件都要求页面大小为 2 的幂:因此从不使用 3MB 的页面大小。

关于你的问题:不仅不同的进程可以有不同的页面大小,甚至同一进程也可以使用多种页面大小。

在硬件驱动分页的架构中(大多数架构,包括x86、ARM、RISC-V等),页面大小通常由页表级别之间的边界决定。例如,在 x86_64 上,可用的页面大小为 4kB、2MB 和 1GB。每一个都比前一个大 512 倍 - 因为页表的大小为 512 个条目。

具有软件驱动分页的架构可以有更多选择。例如,MIPS 允许 4kB 到 256MB 之间的所有页面大小(4 的倍数)。操作系统可以决定它将支持哪些页面 - 它最终负责将页表存储在 RAM 中。

© www.soinside.com 2019 - 2024. All rights reserved.