« Programmation C/Gestion de la mémoire » : différence entre les versions
Contenu supprimé Contenu ajouté
m Révocation des modifications de 196.1.94.74 (discussion) vers la dernière version de Tados |
|||
Ligne 17 :
La manière dont la mémoire physique d'un ordinateur est conçue, ainsi que la façon dont le système d'exploitation la manipule, sont très variables. Cependant, un modèle assez classique consiste à découper la mémoire en segments, segments dont on garde les références dans des tables de pages : c'est le modèle de segmentation / pagination. Ce modèle offre beaucoup d'avantages par rapport à un accès purement linéaire. Décrire son fonctionnement en détail est hors de la porté de cet ouvrage, mais on pourra noter tout de même :
* Indépendance totale de l'espace d'adressage entre les processus : un processus ne peut pas
* Gestion fine de la mémoire : les segments sont
Au niveau des inconvénients, on citera essentiellement un problème de performances. Plusieurs niveaux d'indirection impliquent de multiple lectures en mémoire, extrêmement pénalisant en terme de temps d'exécution, au point où des caches sont nécessaires pour garantir des vitesses acceptables. Même si RAM veut dire mémoire à accès aléatoire, il faut bien garder à l'esprit qu'un accès purement séquentiel (adresse mémoire croissante) peut être jusqu'à cent fois plus rapide qu'une méthode d'accès qui met sans cesse à défaut ce système de cache.
Un processus peut donc demander au
== Fonctions fournies par <stdlib.h> ==
|