The
mem driver controls and restricts access to the systems memory by the hardware buses and the processor.
It also provides an interface to userland through the special files
/dev/mem and
/dev/kmem. Physical memory is accessed through
/dev/mem, while kernel virtual memory is accessed through
/dev/kmem. Access to kernel virtual addresses not currently mapped to memory will fail. On hp700, the physical memory range is always contiguous and starts at address 0; kernel virtual memory begins at address 0 as well.
The writeability of the
/dev/mem and
/dev/kmem special files are controlled by the system securelevel in addition to the filesystem permissions.