Mécanisme Device Mapper dans le noyau du système Linux (1) (5)
La partie espace utilisateur du mappeur de périphériques est facultative pour que les développeurs puissent implémenter leurs propres outils de gestion de stockage. En fait, bon nombre de nos gestionnaires de volumes logiques courants, tels que LVM2, dmraid et d'autres outils, utilisent le mappeur de périphériques. La bibliothèque d'espace utilisateur établit un ensemble indépendant d'outils de gestion en fonction de ses propres besoins de gestion, mais n'utilise pas l'outil dmsetup qu'elle fournit. Même le système de gestion de volumes logiques au niveau de l'entreprise du projet open source d'IBM-EVMS n'est pas inclus dans l'implémentation. bibliothèque d'espace utilisateur du mappeur de périphériques, un ensemble de sa propre bibliothèque de fonctions est entièrement implémenté sur la base de la définition ioctl dans le noyau.
Pilote cible
Le mappeur de périphérique fournit une architecture unifiée, permettant aux utilisateurs de spécifier leurs propres règles de traitement des E/S en fonction des besoins réels via le plug-in du pilote cible, de sorte que le pilote cible incarne pleinement le périphérique. flexibilité du mappeur. Dans ce qui précède, nous avons mentionné le pilote cible plus d'une fois et décrit les fonctions du pilote cible. Nous présenterons ici en détail la mise en œuvre du pilote cible avec le pilote cible linéaire le plus simple.
Le pilote cible définit principalement les règles de traitement des requêtes IO. Dans le mappeur de périphériques, une interface unifiée a été définie pour le fonctionnement du pilote cible. Dans l'implémentation, l'interface est définie par la structure target_type que nous avons mentionnée. ci-dessus, qui définit les méthodes de pilote cible suivantes :
1. Méthode de création du périphérique cible ;
2. Méthode de suppression du périphérique cible ; Méthode de requête ;
4. Méthode de la cible pour mettre fin à la requête IO ;
5. Méthode de suspension de la lecture et de l'écriture de l'appareil cible
6. . ;
7. Accédez à l'état actuel de l'appareil cible ;
8. Mais généralement, au moins les trois premières méthodes doivent être implémentées, sinon cela ne fonctionnera pas correctement sous le mappeur de périphérique. Le pilote cible linéaire implémente uniquement les trois premières méthodes et la méthode 7. Il complète le mappage linéaire de l'espace d'adressage logique à l'espace d'adressage physique et peut former un périphérique logique en connectant linéairement plusieurs périphériques physiques, comme décrit dans la figure 4. Comme dans , les trois espaces continus de /dev/sda, /dev/sdb et /dev/sdc sont formés en un grand périphérique de bloc logique via le pilote cible linéaire. La mise en œuvre de la cible linéaire est très simple. Ses méthodes de création et de suppression complètent principalement l'application et la libération des ressources mémoire décrivant la structure utilisée par le périphérique cible linéaire. La mise en œuvre de la méthode de traitement du mappage IO est encore plus simple, comme le montre le code suivant :
La méthode de mappage consiste à rediriger la demande bio envoyée au périphérique logique mappé de manière linéaire en fonction de la relation de mappage vers l'emplacement correspondant du périphérique physique représenté par le périphérique cible linéaire As. indiqué dans le code, la méthode de mise en œuvre spécifique consiste à modifier le bi_bdev de bio. Le pointeur de périphérique est le pointeur de périphérique correspondant au périphérique cible et modifie le numéro de secteur bi_sector où la requête IO commence en fonction de l'adresse de départ du périphérique cible et la valeur de décalage de la demande bio sur le périphérique mappé, complétant ainsi la redirection de la demande IO. L'implémentation d'autres pilotes cibles est également similaire. Vous pouvez l'implémenter selon les spécifications d'interface définies par le mappeur de périphérique et combiner les fonctions dont vous avez besoin. Je ne les présenterai pas une par une ici. dans le noyau. (T114)static int linear_map(struct dm_target *ti, struct bio *bio, union map_info *map_context) { struct linear_c *lc = (struct linear_c *) ti->private; bio->bi_bdev = lc->dev->bdev; bio->bi_sector = lc->start + (bio->bi_sector - ti->begin); return 1; }
Ce qui précède est le contenu du mécanisme Device Mapper (1) (5) dans le noyau du système Linux. Pour plus de contenu connexe, veuillez faire attention au site Web chinois PHP. (www.php.cn) !

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

AI Hentai Generator
Générez AI Hentai gratuitement.

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)

Il existe de nombreuses questions que les débutants sous Linux posent souvent : « Linux a-t-il un gestionnaire de tâches ? », « Comment ouvrir le gestionnaire de tâches sous Linux ? » Les utilisateurs de Windows savent que le gestionnaire de tâches est très utile. Vous pouvez ouvrir le Gestionnaire des tâches en appuyant sur Ctrl+Alt+Suppr sous Windows. Ce gestionnaire de tâches vous montre tous les processus en cours d'exécution et la mémoire qu'ils consomment, et vous pouvez sélectionner et tuer un processus à partir du programme gestionnaire de tâches. Lorsque vous utiliserez Linux pour la première fois, vous rechercherez également quelque chose qui équivaut à un gestionnaire de tâches sous Linux. Un expert Linux préfère utiliser la ligne de commande pour rechercher les processus, la consommation de mémoire, etc., mais ce n'est pas obligatoire

La prise en charge du chinois par Zabbix n'est pas très bonne, mais parfois nous choisissons toujours le chinois à des fins de gestion. Dans l'interface Web surveillée par Zabbix, le chinois sous l'icône graphique affichera des petits carrés. Ceci est incorrect et nécessite le téléchargement de polices. Par exemple, "Microsoft Yahei", "Microsoft Yahei.ttf" est nommé "msyh.ttf", téléchargez la police téléchargée dans /zabbix/fonts/fonts et modifiez les deux caractères dans /zabbix/include/defines.inc.php. fichier dans definition('ZBX_GRAPH_FONT_NAME','DejaVuSans');define('ZBX_FONT_NAME'

Saviez-vous comment vérifier la date de création d'un compte sur un système Linux ? Si vous le savez, que pouvez-vous faire ? Avez-vous réussi ? Si oui, comment faire ? Fondamentalement, les systèmes Linux ne suivent pas ces informations, alors quelles sont les autres manières d'obtenir ces informations ? Vous vous demandez peut-être pourquoi je vérifie cela ? Oui, il existe des situations dans lesquelles vous devrez peut-être consulter ces informations et elles vous seront utiles à ce moment-là. Vous pouvez utiliser les 7 méthodes suivantes pour vérifier. Utilisez /var/log/secure Utilisez l'outil aureport Utilisez .bash_logout Utilisez la commande chage Utilisez la commande useradd Utilisez la commande passwd Utilisez la dernière commande Méthode 1 : Utilisez /var/l

Installation à l'échelle du système Si vous installez une police à l'échelle du système, elle sera disponible pour tous les utilisateurs. La meilleure façon de procéder est d'utiliser les packages RPM des référentiels de logiciels officiels. Avant de commencer, ouvrez l'outil "Logiciel" dans Fedora Workstation, ou d'autres outils utilisant le référentiel officiel. Sélectionnez la catégorie « Modules complémentaires » dans la barre de sélection. Sélectionnez ensuite « Polices » dans la catégorie. Vous verrez les polices disponibles similaires à celle de la capture d'écran ci-dessous : Lorsque vous sélectionnez une police, certains détails apparaîtront. Selon plusieurs scénarios, vous pourrez peut-être prévisualiser un exemple de texte pour la police. Cliquez sur le bouton "Installer" pour l'ajouter à votre système. En fonction de la vitesse du système et de la bande passante du réseau, ce processus peut prendre un certain temps.

1. Recherchez les polices wingdings, wingdings2, wingdings3, Webdings et MTExtra sur Internet 2. Entrez dans le dossier principal, appuyez sur Ctrl+h (afficher les fichiers cachés) et vérifiez s'il existe un dossier .fonts. Sinon, créez. 3. Copiez les polices téléchargées telles que wingdings, wingdings2, wingdings3, Webdings et MTExtra dans le dossier .fonts du dossier principal. Ensuite, démarrez wps pour voir s'il existe toujours une boîte de dialogue de rappel « Police manquante dans le système ». sinon, juste du succès Notes : wingdings, wingdin

Environnement expérimental : OS : LinuxCentos7.4x86_641. Affichez le fuseau horaire actuel du serveur, répertoriez le fuseau horaire et définissez le fuseau horaire (s'il s'agit déjà du fuseau horaire correct, veuillez l'ignorer) : #timedatectl#timedatectllist-timezones#timedatectlset-timezoneAsia. /Shanghai2. Compréhension des concepts de fuseau horaire : GMT, UTC, CST, DSTUTC : La terre entière est divisée en vingt-quatre fuseaux horaires. Dans les situations de communication radio internationale, dans un souci d'unification, une heure unifiée est utilisée, appelée Temps coordonné universel (UTC : UniversalTim).

Comment utiliser un câble réseau pour connecter deux hôtes Ubuntu à Internet 1. Préparez l'hôte A : ubuntu16.04 et l'hôte B : ubuntu16.042. L'hôte A possède deux cartes réseau, l'une est connectée au réseau externe et l'autre est connectée. pour accueillir B. Utilisez la commande iwconfig pour afficher toutes les cartes réseau sur l'hôte. Comme indiqué ci-dessus, les cartes réseau sur l'hôte A (ordinateur portable) de l'auteur sont : wlp2s0 : Il s'agit d'une carte réseau sans fil. enp1s0 : carte réseau filaire, la carte réseau connectée à l'hôte B. Le reste n’a rien à voir avec nous, inutile de s’en soucier. 3. Configurez l'adresse IP statique de A. Modifiez le fichier #vim/etc/network/interfaces pour configurer une adresse IP statique pour l'interface enp1s0, comme indiqué ci-dessous (où #==========

Différentes architectures de processeur signifient qu'exécuter DOS sur le Raspberry Pi n'est pas facile, mais ce n'est pas très compliqué. FreeDOS est peut-être familier à tout le monde. Il s'agit d'un système d'exploitation complet, gratuit et bien compatible pour DOS. Il peut exécuter certains anciens jeux DOS ou logiciels commerciaux, et peut également développer des applications embarquées. Tant que le programme peut fonctionner sur MS-DOS, il peut fonctionner sur FreeDOS. En tant qu'initiateur et coordinateur du projet FreeDOS, de nombreux utilisateurs me poseront des questions en tant qu'initié. La question qu'on me pose le plus souvent est : « FreeDOS peut-il fonctionner sur un Raspberry Pi ? » Cette question n'est pas surprenante. Après tout, Linux fonctionne très bien sur le Raspberry Pi
