La gestion de la mémoire est un élément essentiel des systèmes d'exploitation, assurant une utilisation efficace de la RAM et une performance optimale du système. Différentes stratégies sont utilisées pour affecter, organiser et libérer des ressources de mémoire en fonction des besoins du système et des caractéristiques de la charge de travail.

Recherche dans Windows

Microsoft Windows utilise un système de téléappel pour gérer la mémoire. Il divise la mémoire physique en blocs de taille fixe appelés pages. Lorsque les applications nécessitent de la mémoire, le système d'exploitation attribue des pages et des cartes d'adresses virtuelles à des adresses physiques. Cette approche permet à Windows de gérer efficacement les grandes applications et le multitâche en échangeant des pages entre la mémoire vive et le stockage disque, connu sous le nom de fichier de page.

Segmentation dans Linux

Linux utilise la segmentation dans le cadre de sa gestion de la mémoire. Il divise la mémoire en segments tels que le code, les données et les segments de pile. Chaque processus a ses propres descripteurs de segment, permettant la protection et l'isolement. Linux utilise également la recherche au sein des segments pour optimiser l'utilisation de la mémoire et faciliter la gestion de la mémoire virtuelle.

Mémoire virtuelle dans macOS

MacOS utilise la gestion de la mémoire virtuelle qui combine les techniques de recherche et d'échange. Il permet aux applications d'utiliser plus de mémoire que physiquement disponible en transférant temporairement des données sur disque. macOS gère ce processus de manière transparente, fournissant un grand espace d'adresse et empêchant les applications de s'écraser en raison de pénuries de mémoire.

Stratégies d'allocation de mémoire

  • Première adaptation: Attribue le premier bloc de mémoire assez grand pour la demande.
  • Meilleure adaptation: Trouver le plus petit bloc disponible qui correspond à la demande.
  • Système de bulles:[ Divise la mémoire en partitions qui sont des puissances de deux, fusion et division au besoin.
  • Distribution de la labo:[ Utilisée pour l'attribution de la mémoire pour des objets de même taille, courante dans la gestion de la mémoire du noyau.