随机存取存储器(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
。