我了解到,当我们管理诸如树或其他图之类的数据结构时,其节点以称为 block 的形式存储在计算机中,并且图的节点可以组成 block ,并且它是在 block 之间传输的 block 当数据结构在主内存和辅助内存之间移动时,辅助内存和主内存。所以我认为 block 是什么是很清楚的,它可以根据架构由不同的大小组成,但通常是 4K。现在我想知道一个 block 如何与内存页面相关。页面是由 block 组成的吗? block 与页面的关系是什么?我们可以用 block 来定义内存中的页面是什么吗?
最佳答案
您通常会尝试定义一个 block ,使其大小与内存页的大小相同,或者其大小可以被内存页的大小整除,以便在一个页中容纳整数个 block 。
正如您所提到的,4K 往往效果很好——典型的内存页面大小是 4K 和 8K。大多数还支持至少一种更大的页面大小(例如 1 兆字节),但您通常可以或多或少地忽略它们;它们主要用于映射单个大块的连续内存(例如,CPU 直接可见的图形内存部分)。
关于c - 如何用 block 来定义页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10722373/