/dev/mem のバイトアドレスは 物理メモリーアドレスとして解釈される。 存在していない場所への参照はエラーが返される。
読み込み専用(read-only)あるいは書き込み専用(write-only)のビットへの検 査あるいはパッチ当ては予期せぬ結果をもたらすことがある。
Linux 2.6.26 以降では、 アーキテクチャーによっては、 カーネル設定オプション CONFIG_STRICT_DEVMEM によりこのファイル経由でアクセスできる領域が制限される。 例えば、 x86 では、 RAM アクセスは許可されないが、メモリーマップ PCI 領域へのアクセスは許可される。
典型的には次のようにして作られる。:
mknod -m 660 /dev/mem c 1 1
chown root:kmem /dev/mem
/dev/kmem ファイルは /dev/mem と同じだが、 物理メモリーへのアクセスではなく、カーネルの仮想 メモリーへのアクセスである点が異なる。 Linux 2.6.26 以降では、 このファイルが利用できるのは、 カーネル設定オプション CONFIG_DEVKMEM が有効になっている場合だけである。
典型的には次のようにして作られる。:
mknod -m 640 /dev/kmem c 1 2
chown root:kmem /dev/kmem
/dev/port は /dev/mem に似ているが I/O ポート(I/O ports)へのアクセスが行われる。
典型的には次のようにして作られる。:
mknod -m 660 /dev/port c 1 4
chown root:kmem /dev/port