Segmentation de la mémoire virtuelle

Comme les techniques de gestion de la mémoire virtuelle par pagination engendrent une fragmentation interne, un moyen de résoudre ce problème est de ne plus travailler avec des blocs de tailles fixes (pagination), mais bien d'adapter la taille du bloc selon la taille du processus qui doit entrer en mémoire (segmentation).

En pagination, lorsqu'un processus libère un espace mémoire, comme toutes les pages ont une taille identique, un autre process peut prendre la place ainsi libérée.

En segmentation, comme la taille du segment est fonction de la taille du processus qui s'est présenté en entrée, lorsque le processus libère la mémoire, il faut que le processus suivant ait une taille similaire.

Adressage et segmentation

Dans un système de pure segmentation, le principe est presque similaire à celui de l'adressage en mémoire paginée.

L'adresse virtuelle est composée d'un numéro de segment, et du déplacement à effectuer.

La différence par rapport à l'adressage en mémoire paginée est que la valeur du déplacement n'est plus ici concaténée à celle trouvée dans la table de pages, mais réellement additionnée à la valeur trouvée dans la table de segments.

Structure d'une entrée dans la table des segments

r | a | l | R | W | E | A | s' |

r : Bit qui détermine l'endroit où se trouve le segment (Segment residence bit).

  • r = 0 : le segment ne se trouve pas en Mp.
  • r = 1 : le segment se trouve en Mp.

a : Adresse du segment en Ms (si r = 0).

l : Longueur du segment, pour éviter que la valeur de déplacement dans la conversion d'adresse ne pointe hors des bordures du segment.

Bits de protection :

  • R : autorise l'accès lecture (Read). Le processus peut lire ou copier le segment s'il le désire.
  • W : autorise l'accès écriture (Write). Le processus peut modifier chaque partie du segment, ajouter des informations, ou détruire toutes les informations contenues dans le segment.
  • E : autorise l'accès exécution (Execute). Dans le cas où le segment contient des données, il ne peut être exécuté.
  • A : autorise l'ajout d'information (Append). Le processus peut ajouter des informations, mais ne peut pas modifier les informations existantes.

s' : Adresse de début du segment (Base address segment) si r = 1.

Deutsche Übersetzung

Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.

Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.

Vielen Dank im Voraus.

Dokument erstellt 15/05/2004, zuletzt geändert 27/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/systeme-exploitation-memoire-segmentation.html

Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.