2015-12-10 2 views
0

Linux crée des pages de mémoire virtuelle pour chaque programme à utiliser, et le système d'exploitation gère le mappage des adresses virtuelles à des adresses matérielles authentiques, correct?Mémoire de programme Windows Vs Mémoire de programme Linux

Mais comment Windows fait-il cela? Les programmes Windows ont-ils réellement de la mémoire qui se traduit par de vraies adresses matérielles? Je suis également conscient que Windows peut utiliser la mémoire du disque dur lorsque la RAM est trop utilisée, et ce processus est à nouveau appelé mémoire virtuelle, mais je crois que c'est un concept entièrement différent?

+0

Attention, Microsoft désigne parfois le * backing store * comme de la «mémoire virtuelle». Voir http://superuser.com/questions/748743/what-is-the-difference-between-virtual-memory-and-built-in-memory-ram/748776#748776 Par conséquent, certains utilisateurs de Windows insistent sur le fait que le fichier d'échange est "mémoire virtuelle". – sawdust

Répondre

4

Windows et Linux (au moins sur les systèmes Intel 32/64 bits) implémentent tous deux la mémoire virtuelle en utilisant le même mécanisme: les tables de pages prises en charge par le matériel. Le système d'exploitation et le matériel coopèrent pour effectuer le mappage d'adresse.

Le concept entier de séparation des adresses logiques qu'un programme utilise à partir des adresses physiques est ce qu'on appelle la mémoire virtuelle. L'utilisation du disque dur comme magasin de stockage est une implémentation de la mémoire virtuelle qui utilise un fichier d'échange pour augmenter la quantité de mémoire virtuelle à une quantité supérieure à la mémoire physique installée dans le système.

La mémoire virtuelle est un sujet assez profond et large. Peut-être commencer avec cet article Wiki un Memory Management et puis frapper les googles pour une compréhension plus profonde.