web-dev-qa-db-fra.com

Échange de différence et pagination

Quelles sont les différences entre Swapping et Paging en référence à Process Memory Management

Guidez-moi également vers les tutoriels, le cas échéant, où je pourrais obtenir plus d'informations.

16
nitin_cherian

La permutation consiste à copier l'intégralité de l'espace d'adressage du processus ou, en tout état de cause, le segment de données texte non partageable, sur le périphérique de permutation ou à l'envers, en une fois (généralement sur un disque).

Considérant que la pagination fait référence à la copie d’une ou plusieurs pages de l’espace adresse. En particulier, il s’agit d’un grain beaucoup plus fin. Par exemple, il existe environ 250 000 pages de 4 Ko dans un espace d'adressage de 1 Go RAM.

L'échange a été utilisé dans les premiers jours, par exemple DEC pdp-11 époque Unix, 1975-1980. Pour tout savoir et plus encore, puis-je recommander The Lions Document a.k.a. Commentaire des Lions sur Unix 6th Ed. avec code source, John Lions, ISBN 1-57398-013-7?

Vous apprécierez sûrement le chapitre 14, "Échange de programmes", qui commence par: "Unix, comme tous les systèmes de partage de temps et certains systèmes de multiprogrammation, utilise" l'échange de programmes "(également appelé" roll-in/roll-out "). ressource limitée de la mémoire physique principale entre plusieurs processus ".

La pagination (sous Unix) est arrivée avec le BSD (Berkeley Systems Distribution) sur le VAX-11/780 à partir de 1980 environ.

La pagination est généralement associée à des attributs de mémoire par page (pas d’accès, lecture seule, lecture-écriture, pas d’exécution, exécutable) et à diverses astuces de gestion de la mémoire virtuelle telles que pages remplies à la demande, pages à copie sur écriture, et ainsi de suite.

Du point de vue matériel, la permutation peut s’effectuer sans aucun matériel de gestion de la mémoire, bien que les premières machines utilisaient un schéma de mappage de mémoire simple (base et lié, par exemple) ou une simple table de mappage de page de taille fixe à un niveau (par exemple, diviser l’espace adresse de données de 64 Ko 8 pages de 8 Ko dans un espace d’adresse physique plus grand (256 Ko ... 4 Mo).

En revanche, la pagination nécessite des entrées de table de pages de mémoire virtuelle à granularité de page, qui codent généralement l'adresse physique de la page, des bits PTE tels que valides, en lecture, en écriture, etc. La machine doit également procéder à une extraction automatique (de manière transparente vers le programme d'application). et interpréter les entrées de table de page comme nécessaire pour mapper chaque adresse virtuelle sur son adresse physique et/ou prendre une exception de faute de page pour permettre au système d'exploitation de rendre la page accessible et/ou de planifier une E/S pour la charger dans la RAM physique.

Bonne piratage!

39
Jan Gray

Bien que les deux termes soient considérés comme distincts, par exemple par les grands médias universitaires, le fait est que certains auteurs les utilisent comme synonymes. Pour citer l'excellent livre sur les architectures informatiques écrit par David et Sarah Harris ( Conception numérique et architecture informatique ), "écrire la page physique sur un disque et la recharger avec une page virtuelle différente s'appelle swapping , de sorte que le disque dans un système de mémoire virtuelle est parfois appelé swap space ". Tyler a donc répondu correctement à la question et sa réponse ne devrait pas du tout être refusée.

Excellente réponse by Siddharth Teotia plus sur Quora qui m'a aidé à comprendre ces concepts:

Swapping est la procédure de copie du processus entier (son espace d'adressage) de la mémoire principale vers une sorte de stockage secondaire (Généralement sur disque dur ou sur bande). Cela se fait généralement comme À la suite de la planification de la CPU. 

[...]

La chose la plus importante à noter ici est que le processus complet est Permuté entre. Il n'y a aucune précision ici sur la partie de l'espace d'adressage de Qui est retournée sur le disque. L'ensemble de l'image de processus Dans son intégralité est retourné sur le disque. Cela devrait être très clair lorsque nous essayons de comprendre les différences entre la pagination Et la permutation.

Paging d’autre part est une technique d’allocation de mémoire qui permet à l’espace adresse physique du processus d’être non contigu. En d’autres termes, la mémoire peut être allouée à un processus où qu’il se trouve disponible et l’unité d’attribution est la taille de la page ou du cadre (généralement 4 Ko, mais cela dépend du système). Chaque fois qu'une image libre est Disponible dans la mémoire principale, une page physique appartenant au processus peut être chargée dans Et la table des pages du processus se chargera de adresse (numéros de page logique) pour corriger les trames physiques en mémoire (peuvent ou non être contiguës). 

[...]

Pour plus de détails, voir la réponse complète: https://www.quora.com/What-is-difference-between-paging-and-swapping

1
MiXT4PE

Jan a fait un excellent travail en expliquant en détail, mais si vous voulez juste une différence, voici ce que chacun remarquera par la police grasse pour indiquer la différence principale.

Paging : est le moment où les segments individuels de la mémoire , ou des pages, sont déplacés vers ou depuis la partition/zone de swap

Swapping: est le moment où l'ensemble process es a été échangé et déplacé vers ou depuis la partition/zone de swap

0
grepit

la pagination est applicable en cas de processus actif, seul le processus actif peut effectuer une pagination. La permutation est effectuée par un processus inactif.

0
Venkat Naidu