【问题标题】:Can we write into physical address linux我们可以写入物理地址linux吗
【发布时间】:2016-09-20 04:00:10
【问题描述】:

在linux中,有没有办法将数据直接写入物理地址(比如0x777777)? 我们能否为特定的物理地址创建一个虚拟地址(0x777777)

编辑: PS:我不会尝试这样做。这只是为了澄清我的理解

【问题讨论】:

  • 您为什么要这样做?导致分段错误?

标签: linux operating-system


【解决方案1】:

这将导致 SIGSEGV。为此,您必须使用系统特定的函数来映射包含该确切地址的内存区域,然后再尝试访问它。

无论如何,你最好知道你在做什么,但你可以使用

*(int*)0x7777777 = 2345

映射到物理位置已经由操作系统负责。

【讨论】:

  • 感谢您的回答。当您执行此操作“(int)0x7777777 = 2345”时,这意味着 0x7777777 是一个虚拟地址权。这将被映射到一些随机的物理地址。?
  • 0x77777 是物理地址。所以在你的代码中写这个之前,请确定你在做什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-02
  • 1970-01-01
  • 1970-01-01
  • 2023-03-29
相关资源
最近更新 更多