为什么 Linux 对 /dev/mem 使用字符设备接口?

为什么 Linux 对 /dev/mem 使用字符设备接口?

随机存取存储器(RAM)是一种块设备,为什么Linux使用字符设备文件而不是块设备文件来供用户进程与之交互/dev/mem

$ ls -l /dev/mem
crw-r----- 1 root kmem 1, 1 Jul 24 19:05 /dev/mem

答案1

答案就在问题中:RAM 不是块设备,它可以不受限制(物理上)访问和修改,并且不需要任何缓冲。

/dev/mem在 Linux 上是由drivers/char/mem.c它实现了许多字符设备:/dev/mem, /dev/kmem(5.13之前),/dev/null/dev/port/dev/zero/dev/full/dev/random/dev/urandom/dev/kmsg

相关内容