Un défaut de page est un type d'erreur qui se produit lorsqu'un programme tente d'accéder à une page de mémoire qui n'est actuellement mappée à aucune mémoire physique. Lorsque cela se produit, l'unité centrale déclenche une exception de défaut de page, ce qui entraîne l'arrêt du programme.
Il existe deux types de défauts de page :
Les défauts de page logiciels se produisent lorsque la page n'est pas actuellement mappée à une mémoire physique, mais peut être résolue en lisant la page sur le disque et en la mappant à la mémoire physique. Ce n'est généralement pas un problème, car la page se trouve probablement dans le cache du disque et peut être lue rapidement.
Les défauts de pages durs se produisent lorsque la page n'est pas actuellement mappée à une mémoire physique et ne peut pas être résolue par la lecture de la page à partir du disque. Cela est généralement dû au fait qu'un programme tente d'accéder à une page de mémoire qui a été libérée, ou à un programme qui tente d'accéder à une page de mémoire qui n'existe pas. Les défauts de page durs sont beaucoup plus graves, car ils peuvent provoquer le plantage du programme.
Qu'indiquent les défauts de page ?
En informatique, un défaut de page (parfois appelé défaut, défaut majeur ou mineur) est un type d'interruption qui se produit lorsqu'un programme en cours d'exécution accède à une page de mémoire qui n'est pas actuellement mappée par l'unité de gestion de la mémoire (MMU) dans l'espace d'adressage virtuel du programme. Lorsqu'un défaut de page se produit, le système d'exploitation en est informé et doit prendre des mesures pour résoudre le problème, généralement en chargeant la page requise depuis un stockage secondaire (par exemple, un disque dur) vers la mémoire principale.
Les défauts de page peuvent être mous ou durs. Un défaut de page logiciel se produit lorsque la page est trouvée en mémoire mais n'est pas mappée dans l'espace d'adressage virtuel du programme (c'est-à-dire qu'elle n'est pas chargée en mémoire). Un défaut de page dur se produit lorsque la page n'est pas trouvée en mémoire et doit être chargée à partir d'une mémoire secondaire.
Les défauts de page peuvent être causés par un certain nombre de facteurs, notamment :
- Des programmes mal écrits qui n'utilisent pas efficacement la mémoire
- Des programmes écrits pour une architecture différente et qui ne sont pas correctement optimisés pour l'architecture actuelle
- Des programmes écrits pour un système d'exploitation différent et qui ne sont pas correctement portés sur le système d'exploitation actuel
- Des défauts matériels, comme une mauvaise puce mémoire Que sont les cadres de page ? Une trame de page est un bloc contigu de mémoire physique qui est mappé sur une page de mémoire virtuelle. Les cadres de page ont généralement une taille de 4 ou 8 Ko.
Quelles sont les causes des défauts de page élevés ?
Il existe un certain nombre de raisons pour lesquelles un nombre élevé de défauts de page peut se produire.
L'une des possibilités est que le système manque tout simplement de mémoire. Dans ce cas, le système essaie constamment de libérer de la mémoire en déplaçant des données de la mémoire vers le disque. Ce processus est connu sous le nom de pagination et peut entraîner un nombre élevé de défauts de page.
Une autre possibilité est que le système utilise une grande quantité de mémoire virtuelle. La mémoire virtuelle est un moyen d'utiliser la mémoire qui n'est pas physiquement présente dans le système. Cela peut entraîner un nombre élevé de défauts de page, car le système essaie constamment d'accéder à des données qui ne sont pas physiquement présentes en mémoire.
Enfin, un nombre élevé de défauts de page peut se produire si le système accède constamment à des données qui ne sont pas mises en cache en mémoire. Lorsque les données ne sont pas mises en cache, le système doit les récupérer sur le disque, ce qui peut entraîner un nombre élevé de défauts de page. Comment trouver les défauts de page ? Il existe plusieurs façons de détecter les défauts de page. L'une d'elles consiste à utiliser un outil comme perf ou top. Ces outils peuvent afficher le nombre de défauts de page. Une autre façon est d'utiliser un outil comme strace. Celui-ci affiche tous les appels système effectués par un programme, y compris les défauts de page.
Qu'est-ce que la pagination et le défaut de page ?
La pagination est une technique de gestion de la mémoire qui consiste à diviser un processus en petits morceaux, appelés pages, et à stocker ces pages en mémoire. Lorsqu'une page est nécessaire, elle est amenée en mémoire depuis le disque, puis exécutée.
Un défaut de page se produit lorsqu'une page est nécessaire mais n'est pas présente en mémoire. Dans ce cas, le système d'exploitation doit ramener la page en mémoire depuis le disque. Cela peut entraîner un retard dans l'exécution, car le processus doit attendre que la page soit mise en mémoire.