Table des matières:
- Définition - Que signifie l'allocation de mémoire contiguë?
- Techopedia explique l'allocation de mémoire contiguë
Définition - Que signifie l'allocation de mémoire contiguë?
L'allocation de mémoire contiguë est un modèle d'allocation de mémoire classique qui attribue à un processus des blocs de mémoire consécutifs (c'est-à-dire des blocs de mémoire ayant des adresses consécutives).
L'allocation de mémoire contiguë est l'un des plus anciens schémas d'allocation de mémoire. Lorsqu'un processus doit s'exécuter, la mémoire est demandée par le processus. La taille du processus est comparée à la quantité de mémoire principale contiguë disponible pour exécuter le processus. Si suffisamment de mémoire contiguë est trouvée, le processus se voit allouer de la mémoire pour démarrer son exécution. Sinon, il est ajouté à une file d'attente de processus en attente jusqu'à ce que suffisamment de mémoire contiguë libre soit disponible.
Techopedia explique l'allocation de mémoire contiguë
Le schéma d'allocation de mémoire contigu peut être implémenté dans les systèmes d'exploitation à l'aide de deux registres, appelés registres de base et de limite. Lorsqu'un processus s'exécute dans la mémoire principale, son registre de base contient l'adresse de départ de l'emplacement de mémoire où le processus s'exécute, tandis que la quantité d'octets consommés par le processus est stockée dans le registre limite. Un processus ne fait pas directement référence à l'adresse réelle d'un emplacement mémoire correspondant. Au lieu de cela, il utilise une adresse relative par rapport à son registre de base. Toutes les adresses référencées par un programme sont considérées comme des adresses virtuelles. La CPU génère l'adresse logique ou virtuelle, qui est convertie en une adresse réelle à l'aide de l'unité de gestion de mémoire (MMU). Le registre d'adresses de base est utilisé pour la traduction d'adresses par la MMU. Ainsi, une adresse physique est calculée comme suit:
-
Adresse physique = adresse de registre de base + adresse logique / adresse virtuelle
L'adresse de tout emplacement mémoire référencé par un processus est vérifiée pour s'assurer qu'elle ne fait pas référence à une adresse d'un processus voisin. Cette sécurité de traitement est gérée par le système d'exploitation sous-jacent.
Un inconvénient de l'allocation de mémoire contiguë est que le degré de multiprogrammation est réduit en raison des processus en attente de mémoire libre.