Service de noyau ltpin
Objectif
Épingère la plage d'adresses dans l'espace du système (noyau) et libère l'espace de page pour les pages associées.
Syntaxe
#include <sys/types.h>
#include <sys/errno.h>
#include <sys/pin.h> int ltpin (addr, length)
caddr_t addr;
int length;
Paramètres
| Article | Descriptif |
|---|---|
| ADDR | Indique l'adresse du premier octet à broche. |
| Length | Indique le nombre d'octets à broche. |
Descriptif
Le service de noyau Broche (à long terme) broche les pages de mémoire réelle touchées par la plage d'adresses spécifiée par les paramètres Adresse et Longueur dans l'espace adresse du système (noyau). Il épingle les pages de mémoire réelle pour s'assurer que les erreurs de page ne se produisent pas pour les références de mémoire dans cette plage d'adresses. Le service de noyau Broche incrémente le nombre de broches à long terme pour chaque page de mémoire réelle. Tant que le nombre de broches à long terme ou à court terme est différent de zéro, la page ne peut pas être mise à l'écart de la mémoire réelle.
Le service de noyau Broche broches l'intégralité de la plage d'adresses ou aucune de celle-ci. Seul un nombre limité de pages sont réservées dans le système. S'il n'y a pas suffisamment de pages non réservées dans le système, le service de noyau Broche renvoie un code d'erreur. Le service de noyau Broche n'est pas une interface publiée.
Le service de noyau Broche ne peut être appelé que pour les adresses dans l'espace adresse du système (noyau).
Valeurs renvoyées
| Article | Descriptif |
|---|---|
| 0 % | Indique que l'exécution a réussi. |
| EINVAL | Indique que le paramètre Longueur a une valeur négative. Sinon, la zone de mémoire commençant à l'adresse du premier octet à broche (paramètre Adresse ) et s'étendant pour le nombre d'octets spécifié par le paramètre Longueur n'est pas définie. |
| EIO | Indique qu'une erreur d'E-S permanente s'est produite lors du référencement des données. |
| ENOMEM | Indique que le service de noyau Broche n'a pas pu épinglette en raison de la mémoire réelle insuffisante ou du nombre d'épingles à l'échelle du système. |
| ENOSPC | Indique que le système de fichiers ou l'espace de pagination est insuffisant. |