linux从用户空间连续的物理内存

前端之家收集整理的这篇文章主要介绍了linux从用户空间连续的物理内存前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法从 linux中的用户空间分配连续的物理内存?至少几个保证连续的内存页面.一个巨大的页面不是答案.

解决方法

不,那里没有.您需要从内核空间中执行此操作.

如果你说“我们需要从用户空间”这样做 – 在内核空间中没有任何事情就没有意义 – 因为用户空间程序无法控制,甚至不知道底层内存是否连续.

您需要执行此操作的唯一原因是 – 如果您正在与一块硬件或需要此需求的其他一些低级(即内核)服务配合使用.那么再一次,你必须在这个层面上处理它.

所以答案不只是“你不能” – 而是“你永远不需要”.

我已经写过这样的内存管理器,让我可以做到这一点 – 但是它总是因为内核层面的一些基本问题,这在内核层面必须被解决.通常因为总线上的其他一些代理(PCI卡,BIOS,甚至是通过RDMA接口的另一台计算机)具有物理连续的内存要求.再次,所有这一切都必须在内核空间中解决.

当你谈论“缓存行”时,你不用担心.您可以放心,用户空间内存的每个页面都是连续的,每个页面都比缓存行大得多(无论您在讨论什么架构).

猜你在找的Linux相关文章