android -/dev/mem 和/dev/kmem 不存在?

标签 android linux linux-kernel

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

编辑: 我有 Android 2.3.7 (Cyanogen mod),这两个文件不存在: enter image description here

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

最佳答案

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

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

关于android -/dev/mem 和/dev/kmem 不存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12208350/

相关文章:

linux - 我可以核心转储一个阻塞磁盘事件的进程(最好不要杀死它)吗?

android - linux/shell命令在android中控制屏幕亮度

android - 如何为 okhttp 2.x 请求指定默认用户代理

android - 如何恢复 Android fragment View 状态

linux - 我们是否应该一开始就从 Docker Hub 安装一个 docker 镜像?

linux - 当线程堆栈使用的内存被释放时

linux - 为什么系统 CPU 时间 (% sy) 很高?

c - 如何将内核模块关联到特定设备(驱动程序实例)?

android - 将从相机拍摄的图像设置为 ImageView

c# - 如何在 xamarin 中使用 NotifyDataSetChange?