gpt4 book ai didi

linux - 来自用户空间的连续物理内存

转载 作者:IT王子 更新时间:2023-10-28 23:30:09 32 4
gpt4 key购买 nike

有没有办法在 linux 中从用户空间分配连续的物理内存?至少有几个保证连续的内存页。一个巨大的页面不是答案。

最佳答案

没有。那没有。您确实需要从内核空间执行此操作。

如果您说“我们需要从用户空间执行此操作” - 在内核空间中没有任何事情发生,这毫无意义 - 因为用户空间程序无法控制甚至不知道底层内存是否连续。

您需要这样做的唯一原因是,如果您正在与一 block 硬件或其他需要此要求的低级(即内核)服务一起工作。同样,您必须在 级别处理它。

所以答案不仅仅是“你不能”——而是“你永远不需要”。

我已经编写了这样的内存管理器,确实允许我这样做 - 但这始终是因为内核级别的一些潜在问题,必须在内核级别解决。通常是因为总线上的一些其他代理(PCI 卡、BIOS 甚至是通过 RDMA 接口(interface)的另一台计算机)具有物理连续内存要求。同样,所有这些都必须在内核空间中解决。

当您谈论“缓存行”时 - 您无需担心。您可以放心,您的用户空间内存的每个 page 都是连续的,并且每个 page 都比缓存行大得多(无论您在谈论什么架构大约)。

关于linux - 来自用户空间的连续物理内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4401912/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com