Maison Opération et maintenance exploitation et maintenance Linux Quel est le mécanisme de mémoire virtuelle de Linux

Quel est le mécanisme de mémoire virtuelle de Linux

May 14, 2023 pm 12:01 PM
linux

Mécanisme de mémoire virtuelle Linux :

1. Chaque processus possède son propre espace mémoire 4G indépendant, et l'espace mémoire de chaque processus a une structure similaire.

La gestion de la mémoire Linux adopte la gestion des pages, en utilisant des tables de pages à plusieurs niveaux. Le mécanisme de traduction d'adresses dynamique, la mémoire principale et la mémoire auxiliaire réalisent conjointement la mémoire virtuelle. Il établira son propre espace mémoire, et les données, le code, etc. de ce processus seront copiés du disque vers son propre espace de processus. Quelles données se trouvent où ? Ils sont tous enregistrés par task_struct dans la table de contrôle de processus. Il y a une liste chaînée enregistrée dans task_struct, et l'allocation d'espace mémoire dans l'enregistrement est enregistrée,

Les adresses contenant des données, les adresses dépourvues de données, celles qui sont lisibles et celles qui sont accessibles en écriture peuvent être enregistrées via cette liste chaînée. L'espace mémoire alloué par chaque processus peut être mappé avec l'espace disque correspondant.

2. Chaque programme peut voir un espace d'adressage complet et continu. Ces espaces ne sont pas directement liés à la mémoire physique, mais le système d'exploitation fournit un concept abstrait de mémoire,

. Cela permet à chaque processus de disposer d'un espace d'adressage continu et complet. Pendant le processus d'exécution du programme, la conversion de l'adresse virtuelle en adresse physique est terminée.

Nous savons également que l'espace d'adressage d'un processus est segmenté et qu'il existe des segments de données, des segments de code, des segments bbs, des tas, des piles, etc. Chaque segment a un rôle spécifique.

En même temps, l'ordinateur n'a pas beaucoup de mémoire (n processus doivent correspondre à n*4G de mémoire). Pour créer un processus, vous devez copier les fichiers programme sur le disque dans la mémoire correspondant au processus,

.

Dans le cas où un programme correspond à plusieurs processus, la mémoire est gaspillée.

3. L'espace mémoire 4G de chaque processus n'est qu'un espace mémoire virtuel. Chaque fois que vous accédez à une adresse dans l'espace mémoire, vous devez traduire l'adresse en une adresse physique réelle. Tous les processus partagent la même mémoire physique,

Quel est le mécanisme de mémoire virtuelle de Linux. Chaque processus mappe et stocke uniquement l'espace mémoire virtuel dont il a actuellement besoin dans la mémoire physique. Le processus doit savoir quelles adresses mémoire se trouvent dans la mémoire physique, lesquelles ne le sont pas et où elles se trouvent dans la mémoire physique,

. La table des pages doit être enregistrée. Chaque entrée de la table des pages est divisée en deux parties. La première partie enregistre si la page est dans la mémoire physique. La deuxième partie enregistre l'adresse de la mémoire physique lorsque le processus accède à une adresse virtuelle. ,

Vérifiez la table des pages. Si les données correspondantes ne sont pas dans la mémoire physique, le processus de traitement des exceptions de page manquante consiste à copier les données requises par le processus du disque vers la mémoire physique,

Si la mémoire est pleine , s'il n'y a pas d'espace libre, recherchez une page à écraser. Bien entendu, si la page écrasée a été modifiée, cette page doit être réécrite sur le disque.

4. L'espace mémoire de chaque processus est cohérent et fixe, de sorte que l'éditeur de liens peut définir l'adresse mémoire lors de la liaison du fichier d'exécution, sans avoir à se soucier de l'adresse mémoire réelle finale de ces données,

Quel est le mécanisme de mémoire virtuelle de Linux Cela a une mémoire indépendante Avantages de l'espace : lorsque différents processus utilisent le même code, comme le code d'un fichier de bibliothèque, une seule copie de ce code peut être stockée dans la mémoire physique,

Différents processus n'ont besoin de mapper leur propre mémoire virtuelle pour économiser de la mémoire que lorsque le programme doit allouer de l'espace mémoire continu

. Seul l'espace contigu doit être alloué dans l'espace mémoire virtuelle sans avoir besoin d'espace contigu dans la mémoire physique réelle, et la fragmentation peut être utilisée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT

Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment traiter dans la politique de planification FIFO Linux Linux Comment traiter dans la politique de planification FIFO Linux Linux Sep 03, 2025 pm 12:39 PM

Pour effectuer des processus Linux exécutés dans la planification FIFO en temps réel, vous devez utiliser l'appel système CHRT ou Sched_Setscheduler pour définir la stratégie et la priorité de la planification, telles que Sudochrt-F99./App ou configurer sched_fifo et paramètres prioritaires dans le programme C, et assurez-vous que le processus a CAP_SYS_NICE CONDITIONS ou PRÉMITION ROAD PERMITIONS, et Configurer RTPio et MEMLOC Assurez-vous une réalité et évitez l'inversion prioritaire. Vous devez utiliser un mutex qui prend en charge l'héritage prioritaire.

Lien d'installation d'iPhone de l'assistant d'assistant d'assistant authentique de l'assistant AISI Lien d'installation d'iPhone de l'assistant d'assistant d'assistant authentique de l'assistant AISI Sep 16, 2025 am 11:30 AM

Le portail de téléchargement officiel de l'assistant AISI est situé sur le site officiel https://www.i4.cn/, et fournit des téléchargements informatiques et mobiles, prise en charge de la gestion des périphériques, de l'installation d'applications, de la commutation de mode, de la projection d'écran et de la gestion des fichiers.

Comment installer des packages logiciels de format Deb pour Linux Comment installer des packages logiciels de format Deb pour Linux Sep 03, 2025 pm 12:36 PM

Les méthodes courantes d'installation des packages .Deb comprennent: l'utilisation de la commande dpkg pour installer et utiliser les dépendances APT pour réparer; 2. Il est recommandé d'utiliser apttinstall./package_name.deb pour gérer automatiquement les dépendances; 3. Vous pouvez double-cliquer sur le fichier pour installer via le centre logiciel de manière graphique; 4. Après l'installation, vous pouvez utiliser DPKG-L ou DPKG-S pour vérifier l'état du package.

Comment exécuter les programmes Windows sur Linux Comment exécuter les programmes Windows sur Linux Sep 18, 2025 am 03:25 AM

TorunwindowsProgramSonLinux, TryTheseMethods: 1.Usewinetodirectlyrun.exefiles.2.installplayonLinuxforeasierwinemanagement.3.SetUpawindowsVirtualMachinewithVirtualBox.4USELULUTRISTOINSTALLANDRUNWINDOWSGAMINEWORD.

Le système Huawei Harmonyos 6 annule le 'prochain' suffixe: ce sera Hongmeng natif à l'avenir Le système Huawei Harmonyos 6 annule le 'prochain' suffixe: ce sera Hongmeng natif à l'avenir Sep 24, 2025 pm 04:12 PM

Les dernières nouvelles du 18 septembre, Huawei HarmonyOS6 a lancé plusieurs cycles de version prévisibles pour les développeurs, et a récemment ouvert la qualification d'expérience à certains utilisateurs qui l'ont essayé pour la première fois. Selon les commentaires de l'utilisateur, le nom du système actuel n'affiche plus le suffixe "suivant", et il est officiellement renommé HarmonyOS6.0. Huawei a initialement proposé le nom HarmonyOsnext pour la première fois lors de la conférence des développeurs en août 2023, visant à marquer le système Hongmeng entrant dans une nouvelle étape de développement et réalisant le véritable développement auto-autonome indigène. La percée la plus principale de HarmonyOsNext est d'adopter complètement l'architecture du système sous-jacente développée indépendamment, de supprimer complètement le noyau Linux et le code AOSP Android, et d'exécuter uniquement des applications basées sur le noyau Harmonyos.

Comment gérer les utilisateurs et les groupes sur un système Linux Comment gérer les utilisateurs et les groupes sur un système Linux Sep 05, 2025 am 08:01 AM

Créer un utilisateur avec AddUser ou UserAdd, 2. Modifier l'utilisateur avec UserMod, 3. Supprimer l'utilisateur avec DeLuerger ou UserDel, 4. Créer un groupe avec GroupAdd, 5. Ajouter un utilisateur à Group avec UserMod-Ag, 6. Supprimer les informations avec GPASSWD-D à partir du groupe, 7. Comptes, définition des politiques de mot de passe et allouant raisonnablement les autorisations de groupe. En maîtrisant ces commandes principales et en sélectionnant des outils appropriés en fonction de la distribution, la gestion des utilisateurs et groupes Linux peut être réalisé efficacement.

Comment prendre une capture d'écran sur Linux Comment prendre une capture d'écran sur Linux Sep 15, 2025 am 03:35 AM

TotakesCreenshotSonLinux: 1.USEPRTSCNKEYFORFULLSREEN, ALT PRTSCNFORACTIALWINDOW.2.UsegnomesReenshottoolFormoreOptions.3.Usegnome-ScreenshotCommandInterminal.4.InstalLanduscrotForlightWeARDCommand-linecapturing.

Comment trouver le chemin d'un programme dans Linux Comment trouver le chemin d'un programme dans Linux Sep 16, 2025 am 08:56 AM

TolocateAprogram'sinstallationPathonLinux, Utilisation: 1.Whichprogram_NameforquickPath-basés-basés sur la base.2.Harons de l'Isprogramme

See all articles