我正在尝试确定我的Linux系统上的一组连续内存位置当前是否正在保存进程的数据。如果不是,那么我想将这些位置分配给我的程序,并确保其他进程知道这些内存位置是为我的程序保留的。
我需要访问特定的内存位置,例如0xF0A35194。任何旧位置都不会。
我一直在寻找解决方案,但由于担心我会破坏我的系统而没有足够的勇气来执行和测试任何代码。
我不想在内核空间中运行此代码,因此最好使用用户空间解决方案。
非常感谢任何帮助!
答案 0 :(得分:1)
这里有很多问题在起作用。首先,每个进程都有自己的内存地址空间。即使为一个进程分配了特定的内存地址,它也不会用于不同的进程。内存虚拟化和分页是一种复杂且不透明的抽象,无法在用户空间内被打破。
接下来,我可以想象你想做这样的事情的唯一原因是去寻找设备的特定DMA范围。用户空间也不允许这样做,并且有更好的方法来实现这一点。
如果您可以更直接地发布您想要实现的目标,我们可以提供更好的解决方案。