相当于Linux中的dwAllocationGranularity

Equivalent of dwAllocationGranularity in Linux?

本文关键字:dwAllocationGranularity 中的 Linux 相当于      更新时间:2023-10-16

Linux中的dwAllocationGranularity是什么?在Windows中,它被定义为:

分配虚拟内存的起始地址粒度

请注意,这是PAGE_SIZE不同的,后者是物理页面的粒度。(在Windows上,虚拟地址粒度在x86上是64 KiB,而页面大小当然是4 KiB。)

Linux上与VirtualAlloc最接近的等价物是mmap,它与VirtualAlloc一样,允许您指定所分配内存的所需分配目标地址。在Windows上,这个地址必须在分配粒度上保持一致。在Linux上,我引用mmap手册页:

如果addr不为NULL,那么内核将其作为指向何处的提示放置映射;在Linux上,映射将在附近创建页面边界 .

据我所知,不存在分配粒度高于系统页面大小的情况,因此您应该能够安全地使用PAGE_SIZE作为替代品。

相关文章:
  • 没有找到相关文章