2015-10-14 1 views
1

La lecture en ligne semble conférer une certaine confusion au terme «mémoire virtuelle». Il semble décrire deux concepts, l'un étant que chaque processus a son propre espace d'adressage virtuel, et l'autre étant l'idée d'être capable de faire une recherche sur un disque secondaire. Je suppose que dans presque tous les nouveaux systèmes d'exploitation, ils implémentent les deux.Espace d'adressage virtuel et pagination

Ma question est, ces deux concepts doivent-ils être mis en œuvre ensemble? Lorsque vous cherchez en ligne des informations, ils semblent toujours être mentionnés ensemble, mais est-il possible d'en avoir un sans l'autre? Par exemple, je sais que je peux désactiver la possibilité d'avoir un fichier d'échange sur mon système, donc chaque processus a toujours son propre espace d'adressage virtuel et continue d'implémenter de la mémoire virtuelle, mais pas de pagination sur un lecteur secondaire. En théorie, non pas que cela se produise, mais pourriez-vous implémenter un système qui utilise la pagination mais pas des espaces d'adressage virtuel pour chaque processus, techniquement cela utiliserait-il encore de la mémoire virtuelle?

Lorsque nous parlons de «mémoire virtuelle», de quel concept parlons-nous spécifiquement, ou s'agit-il des deux?

Toute aide éclaircissant ma confusion serait appréciée, merci.

Répondre

0

Les termes mémoire et mémoire virtuelle logique ont généralement été vous conflated.In jours olde qui n'était pas un gros problème parce que les deux sont venus la main dans la main. Maintenant, avec un grand système de mémoire, nous sommes susceptibles de voir la mémoire logique rester et la mémoire virtuelle disparaître.

La mémoire logique est le remappage de la mémoire physique vers un espace d'adressage linéaire. La mémoire virtuelle est la simulation de la mémoire physique en utilisant le stockage sur disque.

Il est tout à fait possible d'avoir un système implémentant une mémoire logique sans avoir de mémoire virtuelle. Cependant, presque tous les principaux systèmes d'exploitation (y compris Linux et Windoze) sont des systèmes de mémoire virtuelle basés sur disque. Il ne serait pas possible de les convertir en mémoire non virtuelle simplement en désactivant la gestion des erreurs de page et en supprimant les fichiers de page.

Si je courais M $ je développerais un remplacement de Windoze qui est conçu pour la grande mémoire sans support de disque.

+0

Merci. Comme vous le dites les deux semblent aller de pair, mais si vous deviez concevoir un nouveau système à partir de zéro, les deux n'ont pas mis en œuvre? Vous dites que nous sommes susceptibles de voir disparaître un système qui utilise encore de la mémoire logique et de la mémoire virtuelle, mais si quelqu'un voulait (pas que cela arrive), il pourrait implémenter un système qui n'utilise pas de mémoire logique mais qui utilise virtuellement Mémoire? Il n'y a pas de 'règle' qui signifie que les deux doivent être utilisés, vous pouvez utiliser l'un ou l'autre si le concepteur du système le souhaite. – RJSmith92

+1

Je disais que je pense que nous verrons des systèmes utilisant la mémoire logique mais pas la mémoire virtuelle à l'avenir. La mémoire virtuelle sans mémoire logique n'a aucun sens. – user3344003

+0

J'apprécie cela et je sais que cela n'arrivera jamais, mais la 'simulation de la mémoire physique en utilisant le stockage sur disque.' ne sonne pas comme si cela nécessitait de la mémoire logique. Cela semble être un concept complètement différent qui fonctionne bien avec la mémoire logique et c'est pourquoi ils vont de pair. Ma question est, en théorie, l'idée de simuler la RAM avec le stockage sur disque pourrait être implémentée sans système utilisant la mémoire logique, il n'y a pas de "règle" qui dit que ce concept nécessite que le système utilise la mémoire logique pour fonctionner? – RJSmith92