2 votes

quelles sont les différences et les relations entre la mémoire logique et la mémoire virtuelle ?

Je me demandais quelles sont les différences et les relations entre la mémoire logique et la mémoire virtuelle ? En quoi leurs objectifs diffèrent-ils ?

Les relations et les différences sont-elles les mêmes pour les adresses logiques et virtuelles ?

5voto

Reya276 Points 469

Examinons d'abord la différence entre l'adressage virtuel et logique. Je crois que la distinction est la suivante : "adresse logique" signifie que l'adresse vue par le programme est différente de l'adresse physique des données stockées dans la RAM.

Si vous disposez d'une mémoire virtuelle, il se peut qu'il n'y ait pas d'adresse physique du tout, car les données stockées peuvent être transférées sur le disque. Cependant, il est possible d'avoir un système sans mémoire virtuelle où les adresses logiques sont différentes des adresses physiques, mais où chaque adresse logique est mappée à une adresse physique. Cela faciliterait l'exécution de plusieurs programmes sans qu'ils se chevauchent, mais ne permettrait pas aux programmes d'utiliser plus de mémoire que la mémoire physique disponible dans le système.

Il n'y a donc pas de "mémoire logique" distincte dans un ordinateur, bien que je suppose que l'on pourrait dire qu'un ordinateur avec des adresses logiques mais sans système de mémoire virtuelle a un système de mémoire logique. Je dirais simplement que la mémoire logique est une mémoire adressée via une méthode d'indirection. Avez-vous un système informatique spécifique à l'esprit ?

--

Nous tenons compte de vos commentaires :

Les adresses logiques d'une même mémoire physique peuvent être identiques ou différentes. En général, deux processus n'ont pas accès à la même mémoire, car l'un peut alors corrompre l'autre. Cependant, s'ils se sont arrangés pour utiliser une forme de mémoire partagée, ils vont généralement affecter cette mémoire partagée à des adresses différentes. Les adresses virtuelles sont plus ou moins un type d'adresse logique, donc si vous avez un système d'exploitation qui supporte la VM, et que deux processus mappent la mémoire partagée, ils verront généralement cette mémoire comme étant à des adresses différentes, comme s'il n'y avait pas de mémoire virtuelle.

En ce qui concerne votre compréhension de l'objectif de l'adressage logique par rapport à l'adressage virtuel, la mémoire virtuelle permet d'utiliser le disque dur pour étendre la mémoire dont disposent les programmes. L'adressage logique peut être utilisé pour autre chose que la séparation des processus, mais ce serait une utilisation majeure.

3voto

sawdust Points 16268

Les adresses mémoire "logiques" sont utilisées par un processus pour référencer son code et ses données. La traduction d'une adresse logique en une adresse physique dépend du modèle de mémoire.

Lorsque la mémoire est directement mappée (c'est-à-dire en mode réel), l'adresse de la mémoire logique est identique à celle de la mémoire physique.

Si la mémoire physique est plus grande que l'espace d'adressage du processeur (comme sur un processeur 16 bits), le matériel de banque de mémoire est souvent utilisé pour étendre la quantité utilisable de mémoire physique. Les processeurs Intel 8086/8088 utilisaient des banques de mémoire flexibles. segment au lieu de un schéma de banques fixes. La traduction d'une adresse logique (16 bits) en une adresse physique (20 bits) utilise les tables de correspondance des banques. Pour x86, l'adresse logique comprendrait probablement la spécification d'un registre de segment.

Si la plage d'adresses physiques est plus grande que la mémoire physique typique (comme les processeurs 32 bits il y a dix ans), le matériel de mémoire virtuelle est utilisé pour permettre l'utilisation de la plage d'adresses complète. Les adresses logiques sont soutenues par la mémoire physique à la demande. Pour permettre l'utilisation de l'ensemble de l'espace d'adressage virtuel/logique et/ou pour fournir à chaque processus son propre espace d'adressage, on utilise un matériel de mémoire virtuelle. magasin de soutien est nécessaire pour conserver des copies de la mémoire virtuelle. La mémoire swappée peut être organisée par segments, pages ou pages segmentées.

Au cours de mes années de piratage du noyau Unix, j'ai rarement entendu ou utilisé l'expression "adresse (mémoire) logique". Si vous ne faites pas référence à l'adresse physique de la mémoire, alors il s'agit de l'adresse virtuelle. Autrement dit, "adresse logique" == "adresse virtuelle" (lorsque la mémoire virtuelle est activée dans la MMU).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X