Recommandé, 2024

Choix De L'Éditeur

Différence entre la pagination et la segmentation dans un système d'exploitation

La gestion de la mémoire dans le système d'exploitation est une fonctionnalité essentielle, qui permet d'allouer de la mémoire aux processus à exécuter et de la désallouer lorsque le processus n'est plus nécessaire. Dans cet article, nous aborderons la pagination et la segmentation de deux schémas de gestion de la mémoire. La différence fondamentale entre la pagination et la segmentation réside dans le fait que «page» est un bloc de taille fixe alors qu'un «segment» est un bloc de taille variable.

Nous discuterons de quelques différences supplémentaires entre la pagination et la segmentation à l'aide du tableau de comparaison ci-dessous.

Tableau de comparaison

Base de comparaisonPaginationSegmentation
De baseUne page a une taille de bloc fixe.Un segment est de taille variable.
FragmentationLa pagination peut entraîner une fragmentation interne.La segmentation peut conduire à une fragmentation externe.
AdresseL'adresse spécifiée par l'utilisateur est divisée par la CPU en un numéro de page et un offset.L'utilisateur spécifie chaque adresse par deux quantités: un numéro de segment et le décalage (limite de segment).
TailleLe matériel décide de la taille de la page.La taille du segment est spécifiée par l'utilisateur.
TableLa pagination implique une table de pages contenant l'adresse de base de chaque page.La segmentation implique la table de segments contenant le numéro de segment et le décalage (longueur de segment).

Définition de la radiomessagerie

La pagination est un schéma de gestion de la mémoire . La pagination permet de stocker un processus dans une mémoire de manière non contiguë . Stocker le processus de manière non contiguë résout le problème de la fragmentation externe .

Pour la mise en oeuvre de la pagination, les espaces mémoire physique et logique sont divisés en mêmes blocs de taille fixe. Ces blocs de mémoire physique de taille fixe sont appelés des trames et les blocs de mémoire logique de taille fixe sont appelés des pages .

Lorsqu'un processus doit être exécuté, les pages de processus de l'espace mémoire logique sont chargées dans les trames de l'espace adresse de la mémoire physique. Maintenant, l'adresse générée par la CPU pour accéder à la trame est divisée en deux parties, à savoir le numéro de page et le décalage de page .

La table de pages utilise le numéro de page comme index; chaque processus a sa table de pages séparée qui mappe l'adresse logique à l'adresse physique. La table de pages contient l'adresse de base de la page stockée dans le cadre de l'espace mémoire physique. L'adresse de base définie par le tableau de pages est combinée avec le décalage de page pour définir le numéro de trame dans la mémoire physique où la page est stockée.

Définition de la segmentation

Comme la radiomessagerie, la segmentation est également un schéma de gestion de la mémoire . Il prend en charge la vue de l'utilisateur de la mémoire. Le processus est divisé en segments de taille variable et chargé dans l'espace d'adressage de la mémoire logique.

L'espace d'adressage logique est la collection de segments de taille variable. Chaque segment a son nom et sa longueur . Pour l'exécution, les segments de l'espace mémoire logique sont chargés dans l'espace mémoire physique.

L'adresse spécifiée par l'utilisateur contient deux quantités: le nom du segment et le décalage . Les segments sont numérotés et référencés par leur numéro au lieu de leur nom. Ce numéro de segment est utilisé comme index dans la table de segments et la valeur de décalage détermine la longueur ou la limite du segment. Le numéro de segment et le décalage génèrent ensemble l'adresse du segment dans l'espace mémoire physique.

Principales différences entre la pagination et la segmentation

  1. La différence fondamentale entre la pagination et la segmentation réside dans le fait qu'une page a toujours une taille de bloc fixe, tandis qu'un segment est de taille variable .
  2. La pagination peut conduire à une fragmentation interne car la page a une taille de bloc fixe, mais il peut arriver que le processus n'acquiert pas la taille de bloc complète qui générera le fragment interne en mémoire. La segmentation peut entraîner une fragmentation externe car la mémoire est remplie de blocs de taille variable.
  3. Lors de la pagination, l’utilisateur ne fournit qu’un seul entier en tant qu’adresse qui est divisée par le matériel en un numéro de page et un décalage . D'autre part, dans la segmentation, l'utilisateur spécifie l'adresse en deux quantités: le numéro de segment et l'offset .
  4. La taille de la page est décidée ou spécifiée par le matériel . D'autre part, la taille du segment est spécifiée par l' utilisateur .
  5. Dans la pagination, la table de pages mappe l' adresse logique sur l'adresse physique et contient l'adresse de base de chaque page stockée dans les trames d'espace mémoire physique. Toutefois, lors de la segmentation, la table de segments mappe l' adresse logique sur l'adresse physique et contient le numéro de segment et le décalage (limite de segment).

Conclusion:

La pagination et la segmentation sont les schémas de gestion de la mémoire . La pagination permet de diviser la mémoire en bloc de taille fixe alors que la segmentation divise l’espace mémoire en segments de taille variable . Lorsque la pagination conduit à une fragmentation interne, la segmentation conduit à une fragmentation externe .

Top