Tremayne
La gestion principale est la responsabilité des systèmes d'exploitation. La gestion de la mémoire implique l'allocation efficace de la mémoire, son utilisation, puis la libération de la mémoire une fois le programme terminé.
La mémoire principale joue un rôle essentiel dans le traitement. C'est un large éventail de mots dont la taille varie de centaines de milliers à des milliards. Les programmes et les données doivent être dans la mémoire principale avant que le processeur ne les exécute. Le processeur lit les instructions de la mémoire principale et exécute
ces instructions pendant le cycle d'extraction et d'exécution. Dans l'environnement de multiprogrammation plusieurs processus sont traités simultanément donc tous les programmes correspondants doivent être dans la mémoire afin qu'ils soient exécutés correctement.
Il est de la responsabilité du système d'exploitation d'assurer la bonne gestion de la mémoire. Pour exécuter un programme, il doit être mappé sur une adresse absolue, car le programme s'exécute, il accède aux instructions et aux données de la mémoire principale en générant ces adresses absolues, puis il se termine et l'espace libre est déclaré disponible et peut être alloué à un autre programme pour son exécution.
Afin d'améliorer l'utilisation et la réponse de l'utilisateur, le système d'exploitation garde une trace de tous les programmes en cours d'exécution ainsi que des programmes en attente dans la file d'attente. De nombreux schémas de gestion de la mémoire différents sont disponibles, dont la plupart dépendent du matériel. Voici quelques tâches principales des systèmes d'exploitation en ce qui concerne la gestion de la mémoire :
· Garder une trace des portions de mémoire qui sont utilisées et par qui
· Décider quel programme sera chargé dans la mémoire lorsqu'un programme existant se terminera
· Allocation et désallocation de mémoire de mémoire chaque fois que nécessaire.
Bernardo
De nos jours, les architectures informatiques rassemblent la mémoire de l'ordinateur dans une approche hiérarchique, en commençant par les meilleurs registres jamais créés, le cache du processeur, la mémoire d'accès aléatoire et le stockage sur disque. Le gestionnaire de mémoire d'un système d'exploitation coordonne l'utilisation de ces différents types de mémoire en suivant lequel est disponible, qui doit être payé ou désalloué et comment transmettre des données entre eux. Ce mouvement, le plus souvent appelé gestion de la mémoire virtuelle, s'ajoute à la quantité de mémoire pouvant être obtenue pour chaque procédure en donnant l'impression que le stockage sur disque est comme mémoire principale.
Il y a une pénalité de vitesse liée à l'utilisation de disques ou d'un stockage plus lent comme mémoire - si les processus de gestion nécessitent beaucoup plus de RAM que ce qui est disponible, le système peut commencer à battre. Cela peut se produire soit parce qu'une procédure nécessite une grande quantité de RAM, soit parce que deux processus ou plus luttent pour une quantité de mémoire supérieure à celle disponible. Cela conduit ensuite à un transfert invariable des données de chaque processus vers un espace de stockage plus lent.
Hailie
Les besoins des utilisateurs peuvent être mieux adaptés par une informatique qui prend en charge la programmation modulaire et l'utilisation flexible des données. Gestionnaire de système contrôle efficace et ordonné de l'allocation de stockage. Le système d'exploitation, pour satisfaire ces exigences, a cinq responsabilités principales de gestion du stockage :
1) Isolation des processus : le système d'exploitation doit empêcher des processus indépendants d'interférer avec les données et la mémoire des uns et des autres.
2) Allocation et gestion automatiques : les programmes doivent être alloués dynamiquement à travers la hiérarchie de la mémoire selon les besoins. L'attribution doit être transparente pour le programmeur. Ainsi, le programmeur est soulagé des problèmes liés aux limitations de mémoire, et le système d'exploitation peut gagner en efficacité en affectant de la mémoire aux tâches uniquement en fonction des besoins.
Prise en charge de la programmation modulaire : les programmeurs devraient être capables de définir des modules de programme et de créer, détruire et modifier la taille des modules de manière dynamique.
3) Protection et contrôle d'accès : Le partage de la mémoire, à n'importe quel niveau de la hiérarchie de la mémoire, crée la possibilité pour un programme d'adresser l'espace mémoire d'un autre.
Stockage à long terme : de nombreux programmes d'applications nécessitent des moyens de stocker des informations pendant de longues périodes, après la mise hors tension de l'ordinateur.
Antonette
Un élément important de la gestion de la mémoire est l'organisation des adresses virtuelles. Si de nombreux processus sont en mémoire à la fois, ils doivent être interdits d'empiéter sur la mémoire de tous (sinon il y a une demande explicite d'utiliser la mémoire commune). Ceci est réalisé en contenant des espaces d'adressage séparés. Chaque processus voit l'espace d'adressage virtuel en une seule pièce, typiquement de l'adresse 0 jusqu'à la taille maximale de la mémoire virtuelle, comme lui étant exclusivement attribué.
Le système d'exploitation maintient un morceau de table en papier qui fait correspondre les adresses effectives aux adresses corporelles. Ces allocations de mémoire sont suivies de sorte que dès qu'un processus se termine, toute la mémoire utilisée par cette progression peut être terminée et disponible pour des processus supplémentaires.
L'agencement d'exploitation peut également inscrire des pages de mémoire inactives dans un stockage moins important. Cette procédure est décrite "pagination" ou "échange" - les expressions varient selon les systèmes d'exploitation.
Il est également caractéristique pour les systèmes d'exploitation d'utiliser la mémoire physique autrement vacante comme cache de pages ; les exigences relatives aux données d'un équipement plus lent peuvent être conservées en mémoire pour obtenir une meilleure présentation. Le système d'exploitation peut également précharger le cache commémoratif avec des informations qui peuvent être demandées par le consommateur dans le prospect proche ; Super Fetch en est un exemple.