【问题标题】:/dev/mem and /dev/kmem not exists?/dev/mem 和 /dev/kmem 不存在?
【发布时间】:2012-08-31 03:03:21
【问题描述】:

如果有人能解释一下为什么这两个文件不存在,我将不胜感激? 没有这2个文件,Android内核的虚拟内存空间和物理空间如何?

编辑: 我有 Android 2.3.7 (Cyanogen mod),这 2 个文件不存在:

编辑2: 我检查了运行 ICS 的三星 Galaxy S3,这 2 个文件存在

【问题讨论】:

  • 我猜这与手机的芯片组有关,某些芯片组供应商可能有不同的实现
  • 也许您可以使用/proc/ 来获取信息

标签: android linux linux-kernel


【解决方案1】:

/dev/mem (c:1:1) 和 /dev/kmem (c:1:2) 设备节点只是 Linux 内核中的 drivers/char/mem.c 向用户空间公开的 API。内核本身直接管理内存而不使用这些设备节点,一般用户空间也不需要它们。

/dev 只是一个(按照传统)包含设备节点的目录,这些设备节点是特殊的“文件”; /dev 中可用的内容与内核提供的内容之间没有严格的关系。 (有像udevmdev 这样的工具可以在/dev 中创建和销毁设备节点以响应内核事件,但这些工具并不总是用于硬件相对固定和已知的嵌入式世界。)如果你愿意,您可以尝试使用mknod 创建这些节点以与之交互(这可以存在于任何地方,而不一定是/dev)。但是,内核可能已经配置了CONFIG_DEVKMEM=n,在这种情况下,这些设备将无法正常工作。

【讨论】:

    【解决方案2】:

    它们存在于我的手机上。

    android 上的大多数文件浏览器由于权限问题而无法查看这些文件

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-20
      • 1970-01-01
      • 2018-03-16
      • 2017-05-26
      • 1970-01-01
      • 2011-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多