Il permet d'accéder à la mémoire physique du système.
Le mem(4)
la page de manuel explique plus sur quoi /dev/mem
est.
Oui, cela pourrait causer toutes sortes de problèmes. Un redémarrage devrait vous réparer, mais de mauvaises choses peuvent arriver très facilement. Faire attention! :-)
/dev/mem donne accès au système physique mémoire, pas la mémoire virtuelle. L'espace d'adressage virtuel des noyaux est accessible à l'aide de /dev/kmem.
Il est principalement utilisé pour accéder aux adresses mémoire IO liées au matériel périphérique, comme les adaptateurs vidéo.
sudo cat /dev/urandom > /dev/mem
ne fera rien, puisque sudo élèvera le privilège du chat mais pas de la redirection. Vous pouvez soit faire sudo su
puis travaillez dans le shell racine, ou utilisez
sudo dd if=/dev/urandom of=/dev/mem
/dev/mem
fournit un accès à la mémoire physique, c'est-à-dire à toute la RAM du système, mais cela ne signifie pas qu'il vous donne un accès complet en lecture/écriture à la RAM (voir l'option CONFIG_STRICT_DEVMEM dans ce document). Notez également que certaines régions de la mémoire physique auront d'autres périphériques comme la mémoire de la carte vidéo, etc. mappées dessus.
Écrire aveuglément à /dev/mem
entraînera un comportement incertain, voici une vidéo youtube faisant de même.