


Quel est le mécanisme de mémoire virtuelle de 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,.
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,
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds











Les cinq composants de base du système Linux sont: 1. Kernel, 2. Bibliothèque système, 3. Utilitaires système, 4. Interface utilisateur graphique, 5. Applications. Le noyau gère les ressources matérielles, la bibliothèque système fournit des fonctions précompilées, les utilitaires système sont utilisés pour la gestion du système, l'interaction GUI fournit une interaction visuelle et les applications utilisent ces composants pour implémenter des fonctions.

VS CODE Utilisation de la clé de raccourci en une étape / prochaine: une étape (arrière): Windows / Linux: Ctrl ←; macOS: cmd ← Étape suivante (vers l'avant): Windows / Linux: Ctrl →; macOS: CMD →

Pour afficher l'adresse du référentiel GIT, effectuez les étapes suivantes: 1. Ouvrez la ligne de commande et accédez au répertoire du référentiel; 2. Exécutez la commande "git Remote -v"; 3. Affichez le nom du référentiel dans la sortie et son adresse correspondante.

Bien que le bloc-notes ne puisse pas exécuter directement le code Java, il peut être réalisé en utilisant d'autres outils: à l'aide du compilateur de ligne de commande (Javac) pour générer un fichier bytecode (filename.class). Utilisez l'interpréteur Java (Java) pour interpréter ByteCode, exécuter le code et sortir le résultat.

Il existe six façons d'exécuter du code en sublime: via les raccourcis clavier, les menus, les systèmes de construction, les lignes de commande, définir des systèmes de construction par défaut et les commandes de construction personnalisées et exécuter des fichiers / projets individuels en cliquant avec le bouton droit sur des projets / fichiers. La disponibilité du système de construction dépend de l'installation du texte sublime.

Les principales utilisations de Linux comprennent: 1. Système d'exploitation du serveur, 2. Système intégré, 3. Système d'exploitation de bureau, 4. Environnement de développement et de test. Linux excelle dans ces domaines, offrant des outils de stabilité, de sécurité et de développement efficaces.

Pour installer Laravel, suivez ces étapes dans Séquence: Installer Composer (pour MacOS / Linux et Windows) Installez Laravel Installer Créer une nouvelle application d'accès au service de démarrage du projet (URL: http://127.0.0.1:8000) Configurer la connexion de la base de données (si nécessaire)

L'installation du logiciel GIT comprend les étapes suivantes: Téléchargez le package d'installation et exécutez le package d'installation pour vérifier la configuration d'installation Git Installation Git Bash (Windows uniquement)
