Gestion de la Mémoire et du Stockage dans les Systèmes d'Exploitation

Classé dans Informatique

Écrit le en français avec une taille de 4,92 KB

Gestion de la Mémoire Virtuelle

La Segmentation

La segmentation permet des partitions de mémoire redimensionnables. Elle tire avantage du fait que les programmes sont divisés en parties logiques, tels que des morceaux de données, de code, etc. Dans ce cas, le programme et ses données sont divisés en plusieurs segments.

La traduction d'adresse est similaire à celle de la pagination, mais la taille des segments, contrôlée par la table des segments, est variable. Ainsi, chaque entrée de la table doit contenir le bit de présence/résidence, l'adresse du segment sur le disque, l'adresse de départ du segment en mémoire et sa longueur.

Le système d'exploitation (OS) maintient une table de segments pour chaque processus. L'adresse de début de cette table est stockée dans un registre matériel, souvent appelé registre de base de la table des segments (ROTBS).

Stratégies de Gestion de la Mémoire

Stratégies de Chargement (Fetch Strategies)

Ces stratégies déterminent le moment où une page ou un segment doit être transféré du stockage secondaire vers le stockage primaire.

  • Chargement à la Demande (Demand Paging/Fetching) : Attend qu'un processus référence une page ou un segment avant de le charger.
  • Chargement Anticipé (Anticipatory Paging/Fetching) : Tente de déterminer à l'avance quelles pages ou segments seront référencés par un processus.

Pagination à la Demande

Cette technique nécessite un support matériel (ex: bit de présence).

Stratégies de Placement (Placement Strategies)

Ces stratégies déterminent où une page ou un segment entrant doit être placé en mémoire principale, c'est-à-dire la quantité de mémoire à allouer.

Stratégies de Remplacement (Replacement Strategies)

Ces stratégies sont utilisées pour décider quelle page ou quel segment doit être déplacé pour faire de la place à une page ou un segment entrant lorsque la mémoire principale est entièrement occupée.

Stockage Physique des Données

  • Piste : Les cercles concentriques qui divisent l'espace de stockage sur un disque.
  • Secteur : La division d'une piste, représentant la plus petite unité de données transférable.
  • Cylindre : Une union logique de pistes parallèles situées sur différentes surfaces de stockage (plateaux).
  • Plateau (Platter) : Les surfaces de stockage physiques d'un disque dur.
  • Tête de Lecture/Écriture : Les unités physiques qui lisent et écrivent les données sur le support.

Concepts Clés du Stockage

  • Temps de Recherche (Seek Time) : Le temps nécessaire à une tête de lecture/écriture pour se déplacer d'une piste à l'autre. Il dépend de la distance entre la position actuelle de la tête et la piste recherchée.
  • Latence ou Délai de Rotation (Rotational Latency) : Le temps nécessaire à la tête de lecture/écriture pour attendre que le secteur désiré passe sous elle.
  • Cache Disque : Un tampon (buffer) en mémoire principale utilisé pour stocker des secteurs de disque fréquemment accédés. Le cache contient une copie de certains secteurs du disque.

Allocation d'Espace de Stockage

Différentes méthodes sont utilisées pour allouer l'espace sur le disque aux fichiers :

  • Allocation Contiguë : Lors de la création d'un fichier, des blocs contigus lui sont attribués. Chaque entrée de répertoire contient le nom du fichier, l'adresse du bloc de départ et sa taille totale.
  • Allocation Chaînée : L'allocation est constituée de blocs individuels, pas nécessairement contigus. Chaque bloc contient un pointeur vers le bloc suivant. Le répertoire contient le nom du fichier, l'adresse du bloc initial et l'adresse du bloc final.
  • Allocation Indexée : Le répertoire stocke un bloc d'index pour chaque fichier, ce bloc contenant des pointeurs vers tous les blocs de données du fichier. Lors de la lecture d'un fichier, deux accès sont nécessaires : un pour le bloc d'index et un autre pour le bloc de données souhaité.

Méthodes d'Accès aux Fichiers

Les systèmes de fichiers proposent différentes manières d'accéder aux données :

  • Accès Séquentiel : Accès aux enregistrements d'un fichier un par un, du début à la fin.
  • Accès Direct : Permet l'accès immédiat à n'importe quel enregistrement du fichier.
  • Accès Séquentiel Indexé : Chaque fichier dispose d'une table d'index, où chaque entrée pointe vers un bloc de données ou un bloc d'index secondaire, permettant un accès rapide tout en supportant l'accès séquentiel.

Entrées associées :