Device Mapper-Mechanismus im Linux-Systemkernel (1) (5)
Der User-Space-Teil des Device Mappers ist für Entwickler optional, um ihre eigenen Speicherverwaltungstools zu implementieren. Tatsächlich verwenden viele unserer gängigen logischen Volume-Manager, wie LVM2, dmraid und andere Tools, den Device Mapper Die Benutzerraumbibliothek richtet einen unabhängigen Satz von Verwaltungstools gemäß ihren eigenen Verwaltungsanforderungen ein, verwendet jedoch nicht das von ihr bereitgestellte dmsetup-Tool. Selbst das logische Volume-Managementsystem auf Unternehmensebene von IBM ist nicht in der Implementierung enthalten Die User-Space-Bibliothek des Device Mappers implementiert eine Reihe eigener Funktionsbibliotheken, die vollständig auf der ioctl-Definition im Kernel basieren.
Zieltreiber
Device Mapper bietet eine einheitliche Architektur, die es Benutzern ermöglicht, über das Zieltreiber-Plug-in ihre eigenen E/A-Verarbeitungsregeln entsprechend den tatsächlichen Anforderungen festzulegen, sodass der Zieltreiber das Gerät vollständig verkörpert Mapper-Flexibilität. Oben haben wir den Zieltreiber mehr als einmal erwähnt und die Funktionen des Zieltreibers beschrieben. Hier stellen wir die Implementierung des Zieltreibers im Detail mit dem einfachsten linearen Zieltreiber vor.
Der Zieltreiber definiert hauptsächlich die Verarbeitungsregeln für E/A-Anfragen. Im Geräte-Mapper wurde eine einheitliche Schnittstelle für den Betrieb des Zieltreibers definiert. In der Implementierung wird die Schnittstelle durch die von uns erwähnte Struktur „target_type“ definiert oben, das die folgenden Zieltreibermethoden definiert:
Methode zum Löschen des Zielgeräts; Anforderungsmethode;
4 Methode zum Beenden der E/A-Anfrage;
6 ;
7 Erhalten Sie Zugriff auf den aktuellen Zielgerätestatus;
Benutzer können die oben genannten Methoden selektiv implementieren Aber im Allgemeinen müssen mindestens die ersten drei Methoden implementiert werden, sonst funktioniert es unter dem Geräte-Mapper nicht richtig. Der lineare Zieltreiber implementiert nur die ersten drei Methoden und Methode 7. Er vervollständigt die lineare Zuordnung vom logischen Adressraum zum physischen Adressraum und kann ein logisches Gerät bilden, indem mehrere physische Geräte linear verbunden werden, wie in Abbildung 4 beschrieben In werden die drei kontinuierlichen Räume /dev/sda, /dev/sdb und /dev/sdc über den linearen Zieltreiber zu einem großen logischen Blockgerät geformt. Die Implementierung des linearen Ziels ist sehr einfach. Seine Erstellungs- und Löschmethoden vervollständigen hauptsächlich die Anwendung und Freigabe der vom linearen Zielgerät verwendeten Struktur. Die Implementierung der IO-Zuordnungsverarbeitungsmethode ist noch einfacher, wie im folgenden Code gezeigt:
Die Zuordnungsmethode besteht darin, die an das zugeordnete logische Gerät gesendete Bio-Anfrage linear entsprechend der Zuordnungsbeziehung zum entsprechenden Standort des physischen Geräts umzuleiten, das durch das lineare Zielgerät As dargestellt wird Wie im Code gezeigt, besteht die spezifische Implementierungsmethode darin, den bi_bdev von bio zu ändern. Der Gerätezeiger ist der Gerätezeiger, der dem Zielgerät entspricht, und die Sektornummer bi_sector, in der die E/A-Anforderung beginnt, wird entsprechend der Startadresse des Zielgeräts geändert und den Offsetwert der Bio-Anfrage auf dem zugeordneten Gerätegerät, wodurch die Umleitung der IO-Anfrage abgeschlossen wird. Die Implementierung anderer Zieltreiber ist ebenfalls ähnlich. Sie können sie gemäß den vom Geräte-Mapper definierten Schnittstellenspezifikationen implementieren und die von Ihnen benötigten Funktionen kombinieren. Ich werde sie hier nicht einzeln vorstellen im Kernel. (T114) Das Obige ist der Inhalt des Device Mapper-Mechanismus (1) (5) im Linux-Systemkern. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn) !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; }

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Es gibt viele Fragen, die Linux-Anfänger oft stellen: „Verfügt Linux über einen Task-Manager?“, „Wie öffnet man den Task-Manager unter Linux?“ Windows-Benutzer wissen, dass der Task-Manager sehr nützlich ist. Sie können den Task-Manager öffnen, indem Sie in Windows Strg+Alt+Entf drücken. Dieser Task-Manager zeigt Ihnen alle laufenden Prozesse und den von ihnen belegten Speicher, und Sie können einen Prozess aus dem Task-Manager-Programm auswählen und beenden. Wenn Sie Linux zum ersten Mal verwenden, werden Sie auch nach etwas suchen, das einem Task-Manager unter Linux entspricht. Ein Linux-Experte verwendet am liebsten die Befehlszeile, um Prozesse, Speicherverbrauch usw. zu finden, aber Sie müssen das nicht tun

Die Unterstützung für Chinesisch durch Zabbix ist nicht sehr gut, aber manchmal wählen wir Chinesisch für Verwaltungszwecke. In der von Zabbix überwachten Weboberfläche werden unter dem Grafiksymbol kleine Quadrate angezeigt. Dies ist falsch und erfordert das Herunterladen von Schriftarten. Beispiel: „Microsoft Yahei“, „Microsoft Yahei.ttf“ heißt „msyh.ttf“, laden Sie die heruntergeladene Schriftart nach /zabbix/fonts/fonts hoch und ändern Sie die beiden Zeichen in /zabbix/include/defines.inc.php Datei unter define('ZBX_GRAPH_FONT_NAME','DejaVuSans');define('ZBX_FONT_NAME'

Wussten Sie, wie man das Erstellungsdatum eines Kontos auf einem Linux-System überprüft? Wenn Sie es wissen, was können Sie tun? War es Ihnen gelungen? Wenn ja, wie geht das? Grundsätzlich verfolgen Linux-Systeme diese Informationen nicht. Welche alternativen Möglichkeiten gibt es also, an diese Informationen zu gelangen? Sie fragen sich vielleicht, warum ich das überprüfe? Ja, es gibt Situationen, in denen Sie diese Informationen möglicherweise noch einmal überprüfen müssen, und sie werden Ihnen zu diesem Zeitpunkt hilfreich sein. Zur Überprüfung können Sie die folgenden 7 Methoden verwenden. Verwenden Sie /var/log/secure. Verwenden Sie das aureport-Tool. Verwenden Sie .bash_logout. Verwenden Sie den Befehl chage. Verwenden Sie den Befehl useradd. Verwenden Sie den Befehl passwd. Verwenden Sie den letzten Befehl. Methode 1: Verwenden Sie /var/l

Systemweite Installation Wenn Sie eine Schriftart systemweit installieren, steht sie allen Benutzern zur Verfügung. Der beste Weg hierfür ist die Verwendung von RPM-Paketen aus den offiziellen Software-Repositories. Bevor Sie beginnen, öffnen Sie das „Software“-Tool in Fedora Workstation oder andere Tools, die das offizielle Repository verwenden. Wählen Sie in der Auswahlleiste die Kategorie „Add-ons“ aus. Wählen Sie dann innerhalb der Kategorie „Schriftarten“ aus. Sie sehen die verfügbaren Schriftarten ähnlich wie im Screenshot unten: Wenn Sie eine Schriftart auswählen, werden einige Details angezeigt. Abhängig von mehreren Szenarios können Sie möglicherweise eine Vorschau einiger Beispieltexte für die Schriftart anzeigen. Klicken Sie auf die Schaltfläche „Installieren“, um es Ihrem System hinzuzufügen. Abhängig von der Systemgeschwindigkeit und der Netzwerkbandbreite kann dieser Vorgang einige Zeit dauern

1. Suchen Sie die Schriftarten Wingdings, Wingdings2, Wingdings3, Webdings und MTExtra im Internet. 2. Öffnen Sie den Hauptordner, drücken Sie Strg+h (versteckte Dateien anzeigen) und prüfen Sie, ob ein .fonts-Ordner vorhanden ist 1. Kopieren Sie die heruntergeladenen Schriftarten wie Wingdings, Wingdings2, Wingdings3, Webdings und MTExtra in den .fonts-Ordner im Hauptordner. Starten Sie dann wps, um zu sehen, ob immer noch ein Erinnerungsdialogfeld „System fehlt“ angezeigt wird Box. Wenn nicht, nur Erfolg!

Experimentelle Umgebung: Betriebssystem: LinuxCentos7.4x86_641. Sehen Sie sich die aktuelle Serverzeitzone an, listen Sie die Zeitzone auf und legen Sie die Zeitzone fest (wenn es bereits die richtige Zeitzone ist, überspringen Sie sie bitte): #timedatectl#timedatectllist-timezones#timedatectlset-timezoneAsia /Shanghai2. Verständnis der Zeitzonenkonzepte: GMT, UTC, CST, DSTUTC: Die gesamte Erde ist aus Gründen der Vereinheitlichung in vierundzwanzig Zeitzonen unterteilt. Es wird eine einheitliche Zeit verwendet, die als Universal Coordinated Time (UTC) bezeichnet wird

So verwenden Sie ein Netzwerkkabel, um zwei Ubuntu-Hosts mit dem Internet zu verbinden 1. Bereiten Sie Host A: Ubuntu16.04 und Host B: Ubuntu16.042 vor. Host A verfügt über zwei Netzwerkkarten, eine ist mit dem externen Netzwerk verbunden und die andere ist angeschlossen Gastgeber B. Verwenden Sie den Befehl iwconfig, um alle Netzwerkkarten auf dem Host anzuzeigen. Wie oben gezeigt, sind die Netzwerkkarten auf dem A-Host (Laptop) des Autors: wlp2s0: Dies ist eine drahtlose Netzwerkkarte. enp1s0: kabelgebundene Netzwerkkarte, die mit Host B verbundene Netzwerkkarte. Der Rest hat nichts mit uns zu tun, kein Grund zur Sorge. 3. Konfigurieren Sie die statische IP von A. Bearbeiten Sie die Datei #vim/etc/network/interfaces, um eine statische IP-Adresse für die Schnittstelle enp1s0 zu konfigurieren, wie unten gezeigt (wobei #==========

Aufgrund unterschiedlicher CPU-Architekturen ist die Ausführung von DOS auf dem Raspberry Pi zwar nicht einfach, stellt aber auch keine großen Probleme dar. FreeDOS dürfte jedem bekannt sein. Es ist ein vollständiges, kostenloses und gut kompatibles Betriebssystem für DOS. Es kann einige ältere DOS-Spiele oder kommerzielle Software ausführen und auch eingebettete Anwendungen entwickeln. Solange das Programm unter MS-DOS ausgeführt werden kann, kann es auch unter FreeDOS ausgeführt werden. Als Initiator und Projektkoordinator von FreeDOS werden mir viele Anwender als Insider Fragen stellen. Die Frage, die mir am häufigsten gestellt wird, ist: „Kann FreeDOS auf einem Raspberry Pi laufen?“ Diese Frage ist nicht überraschend. Schließlich läuft Linux auf dem Raspberry Pi sehr gut
