Fichier spécial mem ou kmem
Objectif
Fournit un accès privilégié en lecture et en écriture à la mémoire virtuelle.
Descriptif
Les fichiers spéciaux /dev/mem et /dev/kmem caractère permettent d'accéder à un pseudo pilote de périphérique qui permet d'accéder en lecture et en écriture à la mémoire système ou à l'espace adresse d'entrée-sortie. Généralement, ces fichiers spéciaux sont utilisés par les utilitaires et les commandes du système d'exploitation (tels que sar, iostat, et vmstat) pour obtenir des informations de statut et de statistiques sur le système.
Usage Considerations
Accès spécial aux fichiers kmem
Le fichier spécial kmem permet d'accéder à l'espace d'adresse de la mémoire virtuelle pour le processus en cours, tel qu'il est vu par le noyau. Le décalage de recherche, défini par la sous-routine lseek , est utilisé pour spécifier l'adresse virtuelle ciblée pour la lecture ou l'écriture. Le pilote de pseudo-périphérique kmem prend uniquement en charge open, close, read, readx, writex, et écrivent des sous-routines .
La sous-routine système knlist est généralement utilisée pour obtenir les adresses des symboles de noyau à lire ou à écrire via l'accès fourni par le fichier spécial kmem .
Avant d'émettre une opération de lecture ou d'écriture, la sous-routine lseek doit être utilisée pour désigner l'adresse de début appropriée dans la mémoire virtuelle. Si cette adresse se trouve dans les deux premiers gigaoctets de l'espace adresse, les appels de sous-routine read ou write peuvent être utilisés. Toutefois, si vous souhaitez accéder aux deux gigaoctets supérieurs de l'espace adresse, vous devez utiliser la forme readx et writex des appels de sous-programmes. Dans ce cas, le paramètre ext (extension) doit être défini sur la valeur True. Ainsi, le décalage lseek est interprété par rapport aux 2 gigaoctets supérieurs de l'espace adresse.
mem-Accès spécial aux fichiers
L'accès aux fichiers spéciaux mem est spécifique au système sur lequel s'exécute le système d'exploitation.
Reportez-vous à la section Implementation of mem Special File Access pour plus de détails sur la fonction fournie par ce fichier spécial.
Traiter les régions d'espace adresse pour le fichier spécial /dev/kmem
| Article | Descriptif |
|---|---|
| 2 gigaoctets d'espace adresse inférieur: utilisez des sous-lignes de lecture ou d'écriture |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 gigaoctets supérieurs d'espace adresse: utilisez les sous-routines readx ou writex avec le paramètre ext = TRUE. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Implémentation de mem Special File Access
Le fichier spécial mem a traditionnellement fourni un accès direct à la mémoire physique. Cette capacité et ses exigences en matière d'interface sont spécifiques à la machine. Toutefois, pour ce système d'exploitation, cette fonction est indirectement fournie par l'utilisation du paramètre Extension (extension) sur les appels de sous-routine readx et writex . Lorsqu'un appel de sous-routine readx ou writex associé au fichier spécial /dev/mem est émis, le paramètre ext doit contenir une valeur de registre de segment valide telle que définie dans la documentation POWERstation and POWERserver Hardware Technical Reference-General Information pour les types de plateforme sur lesquels le programme sera exécuté. Cela permet au programme d'accéder à toute la mémoire physique mappée par la table de pages ainsi qu'aux segments d'E-S spécifiques à la plateforme (T=1).
Le décalage de recherche défini par l'appel de sous-routine lseek est utilisé pour spécifier le décalage d'adresse dans le segment décrit par le paramètre ext . Les quatre bits supérieurs du décalage ne sont pas utilisés. Le pilote de pseudo-périphérique prend uniquement en charge les commandes open, close, read, readx, write, et des appels de sous-routine writex . L'appel de sous-routine lseek doit également être utilisé avant l'émission des appels de sous-routine readx ou writex , afin de spécifier le décalage d'adresse.
Si un appel de sous-routine read ou write est utilisé avec ce fichier spécial, l'accès à la mémoire est identique à celui fourni par le fichier spécial /dev/kmem .
Le fichier spécial mem fait partie de l'environnement d'exécution du système d'exploitation de base (BOS).
Fichiers
| Article | Descriptif |
|---|---|
| /dev/mem | Fournit un accès privilégié en lecture et en écriture à la mémoire virtuelle. |
| /dev/kmem | Fournit un accès privilégié en lecture et en écriture à la mémoire virtuelle. |