Gestion de la mémoire : Linux, Solaris et Windows 2000
Classified in Informatique
Written at on français with a size of 3,5 KB.
Gestion de la mémoire dans Linux
Répartition des pages
De la mémoire principale, Linux définit un mécanisme pour faire face aux blocs contigus de pages correspondant à des blocs d'images contiguës. Pour ce faire, il utilise le système d'équipe où le noyau maintient une liste de groupes de cadres de page contigus de taille fixe.
Algorithme de remplacement de page
L'algorithme de remplacement de page de Linux est basé sur l'horloge (NUR ou NRU), qui combine un bit d'utilisation et un bit de modification de chaque page de la mémoire principale.
Gestion de la mémoire dans Solaris
Système de pagination
Les structures de données
Pour la mémoire virtuelle paginée, Solaris utilise une série de structures de données indépendantes de la machine :
- Tableau de la page : Une table par processus, avec une entrée pour chaque page de mémoire virtuelle du processus.
- Descripteur de blocs du disque : Associé à chaque page du processus, il y a une entrée dans le tableau de page qui décrit la copie du disque de la page virtuelle.
- Table de cadre de page : Décrit chaque image de la mémoire réelle et est indexé par numéro de châssis.
Les pages de remplacement
L'algorithme de remplacement de page utilisé dans Solaris est connu sous le nom d'algorithme d'horloge à deux aiguilles. Il utilise un bit de référence pour chaque page de la mémoire qui répond aux exigences (non verrouillée) pour être éjectée. Deux paramètres déterminent le fonctionnement de l'algorithme :
- Vitesse de déplacement : La vitesse avec laquelle les aiguilles se déplacent à travers la liste des pages, en pages par seconde.
- Distance entre les aiguilles : L'espace entre l'aiguille avant et l'aiguille arrière.
Gestion de la mémoire dans Windows 2000
Le gestionnaire de mémoire virtuelle de Windows 2000 (W2K) contrôle la façon dont la mémoire est allouée et comment la pagination est exécutée.
Carte d'adresse virtuelle W2K
Chaque processus utilisateur W2K dispose d'un espace d'adressage séparé de 32 bits, ce qui permet d'avoir 4 Go de mémoire par processus. Une partie de cette mémoire est réservée au système d'exploitation et chaque utilisateur dispose de 2 Go d'espace d'adressage virtuel disponible.
Pagination dans W2K
Lorsqu'un processus est créé, il peut en principe utiliser tout l'espace utilisateur de 2 Go. Cet espace est divisé en pages de taille fixe, et n'importe quelle page peut être chargée en mémoire principale.
Une taille maximale de la taille de la RAM est définie.
Quand une erreur de page se produit, la page demandée est chargée, en plus de quelques pages environnantes. C'est ce qu'on appelle la pagination à la demande avec regroupement.
Si la mémoire est pleine, une stratégie de remplacement LRU (pour transporter le disque) ou FIFO (prises sur le WS, mais reste en mémoire) peut être utilisée.
Les fils d'exécution et les défauts de page
Selon le modèle utilisé par un programme : un-à-un, plusieurs-à-un ou plusieurs-à-plusieurs.
- Pour le noyau Solaris, ce sont les LPW qui produisent les défauts de page (PF) séparément.
- Sous Linux, les discussions peuvent obtenir des défauts de page séparément.
- La situation de Windows NT est semblable à celle de Linux.