So erfahren Sie mehr über den Linux-Kernel von Ihrem eigenen Computer aus

Das Erlernen der Arbeit mit GNU / Linux erfordert im Allgemeinen das Erlernen der Arbeit mit einer Desktop-Umgebung. Mit der Theme-Technologie können diese Desktop-Umgebungen die Schnittstellen von iOS-, Microsoft Windows- und OS X-Geräten nachahmen. Dies hilft, dies sozusagen zu minimieren. Viele Leute gehen noch weiter und lernen die Unix-Befehlszeilenverwaltung mit den Bash- oder tcsh-Shells. Wenn Sie sich jedoch mit den Interna des Linux-Kernels auskennen, können Sie besser verstehen, wie verschiedene Opcode-Teile miteinander interagieren.

Einige Leute würden argumentieren, dass es am besten wäre, einige Schritte weiter zu gehen und zusätzlich zu lernen, wie Compiler C-Code in Maschinenlehrer für einen Mikroprozessor umwandeln. Befürworter des Assembler-Codes würden dann argumentieren, dass es am besten ist, ASM zu lernen, um die Programmierung auf den Plattformen x86 und x86_64 wirklich zu verstehen. Unabhängig von diesen Positionen können grundlegende Linux-Befehle eine Fülle von Informationen darüber liefern, wie der Kernel Ihren Computer sieht. Durch einen Blick zu lernen, aber das Paradigma nicht zu berühren, ist eine großartige Möglichkeit, den Kernel selbst zu beherrschen. Während das Root-Konto für die Beispiele auf dieser Seite verwendet wurde, wird dringend empfohlen, dass Sie kernelverknüpfte Verzeichnisse immer nur über ein Benutzerkonto anzeigen.

Methode 1: Das Verzeichnis / proc

Das Verzeichnis / proc befindet sich in einer der primären Regionen des Stammverzeichnisses der obersten Ebene in einer beliebigen Unix-Dateistruktur. Es enthält das sogenannte proc-Dateisystem, besser bekannt als procfs, das Informationen darüber enthält, wie verschiedene Ressourcen auf den Kernelspeicher zugreifen. Es ist zum Zeitpunkt des Systemstarts / proc zugeordnet. Da diese Proxy-Dateistruktur als Schnittstelle zur internen Datenstruktur im Linux-Kernel dient, ist es wiederum am besten, dies nur über ein Benutzerkonto zu untersuchen. Die meisten Dateien werden von der sichtbaren Systemdateistruktur ohnehin als schreibgeschützt eingestuft, aber es ist am besten, auf der sicheren Seite zu sein.

Davon abgesehen ist jede dieser Dateien eine Textdatei, sodass Sie sie auf Wunsch anzeigen können. Verwenden Sie den Befehl cd, um das Verzeichnis / proc aufzurufen, und geben Sie dann ls ein, um einen Blick auf das zu werfen, was sich dort befindet. Verwenden Sie den Befehl cat, less oder more mit einer der Dateien, um sie anzuzeigen. Die cpuinfo-Datei ist ein guter Ausgangspunkt, da sie anzeigt, wie der Kernel Ihren Mikroprozessor anzeigt. In der Statistikdatei finden Sie eine Ansicht der ausgeführten Prozesse.

2016-11-25_020006

Wenn Sie Katzengeräte eingeben, sehen Sie, welche Dinge an Ihrer Maschine angebracht sind.

2016-11-25_020109

Übrigens können Sie jederzeit den Befehl man proc ausgeben, um einen Überblick über die Beziehung der / proc-Dateistruktur zum Kernel zu erhalten. Die bereitgestellte Seite stammt aus dem Linux-Programmierhandbuch.

2016-11-25_020156

Methode 2: Das Verzeichnis / sys

Ihr nächster Stopp auf der Tour Ihres Kernels ist / sys, ein weiteres Verzeichnis, das einer vorgetäuschten Dateistruktur zugeordnet ist. Dies folgt dem gleichen allgemeinen Unix-Konzept wie / proc, exportiert jedoch aktiv Informationen zu zugeordneten Gerätelaufwerken und einer Reihe von Kernel-Subsystemen. Wenn Sie jemals mit einem BSD-basierten System gearbeitet haben, sind Sie möglicherweise besser mit sysctl vertraut, das diese Funktionen bereitstellt. PCI-, USB- und S / 390-Busgeräte werden alle dem Verzeichnis / sys zugeordnet.

Verwenden Sie cd / sys, um zum Verzeichnis zu gelangen, und geben Sie dann den Befehl ls oder dir aus. Möglicherweise haben Sie Verzeichnisse mit den Titeln Block, Klasse, Geräte, Fs, Kernel und möglicherweise andere. Sie können diese nach weiteren Flatfiles durchsuchen, die Informationen über das System enthalten. Tun Sie dies jedoch erneut über ein Benutzerkonto und behalten Sie den Überblick, ohne die Mentalität über sich selbst zu berühren.

Methode 3: Das Verzeichnis / dev

Verwenden Sie den Befehl cd / dev, um zum Verzeichnis / dev zu wechseln. Dies ist möglicherweise die virtuelle Kernelstruktur, mit der Sie bereits am besten vertraut sind. Der Name bedeutet Geräte und enthält eine Dateidarstellung der an Ihr System angeschlossenen Geräte. Ein ls-Befehl in diesem Verzeichnis gibt selbst auf der einfachsten Serververteilung viele Dateien zurück.

2016-11-25_020242

Einige davon sind sehr speziell. Die Datei / dev / null ist ein Nullgerät, das nichts tut. Wenn Sie cat / dev / null eingeben, erhalten Sie nichts davon. Es wird als Bit-Bucket bezeichnet und die Ausgabe kann dorthin umgeleitet werden, um den Bildschirm sauber zu halten. Eine Datei mit dem Namen / dev / zero enthält nur Nulldaten, die auf eine Festplatte geschrieben werden können, um sie auf Null zu setzen. Die zufälligen und zufälligen Dateien enthalten zufällige Junk-Daten zum Erstellen von Sicherheits-Hashes.

Wenn Sie jemals eine Festplatte formatiert haben, haben Sie wahrscheinlich zumindest einige Erfahrungen mit der Art und Weise, wie der Linux-Kernel sie anzeigt. Jede an das System angeschlossene Festplatte erhält für jede Festplatte einen Namen wie sda, sdb usw. Unterschiedliche Festplattentypen erhalten unterschiedliche Namen. Beachten Sie, dass das Verzeichnis / dev eine potenzielle formale Definition der Festplatte in der Informatik verwendet und nicht die Art und Weise, wie wir diesen Begriff normalerweise verwenden würden. Dies bedeutet, dass eine Festplatte, eine SSD, eine SD-Karte, eine microSDHC-Karte, ein über USB angeschlossenes Smartphone-Dateisystem, USB-Sticks und sogar montierte Tablets Festplatten im Kernel sind.

Jeder Datenträgername unter Linux erhält danach eine Ziffer, die eine Partitionsnummer angibt. Wenn Sie eine SSD mit zwei primären Partitionen hatten, haben Sie möglicherweise / dev / sda1 und / dev / sda2 als gültige Volumes. Wenn Sie Linux von einem Desktop oder Laptop mit MBR-Partitionierung ausführen, ist / dev / sda1 höchstwahrscheinlich auf die ext4-Partition eingestellt, auf der tatsächlich Linux installiert ist. Höchstwahrscheinlich ist / dev / sda2 eine erweiterte Partition, die dann / dev / sda5 als Swap-Partition enthält. Dieses Schema ist üblich, aber keineswegs notwendig. Da die Swap-Partition in diesem allgemeinen Beispiel eine logische Festplatte innerhalb einer erweiterten Partition ist, erhält sie 5 anstelle von 3 als Ziffer.

Wenn Sie mehr darüber erfahren möchten, wie der Kernel Partitionen anzeigt und formatiert, können Sie eine unterstützte Partitionsliste mit dem Befehl fdisk anzeigen. Während fdisk schreibt keine Partitionstabellen, bis Sie es anweisen, es ist immer noch am besten, dies mit etwas zu versuchen, das Ihnen beim Toasten egal ist. Es wird empfohlen, auf einen leeren USB-Stick zu zeigen, den Sie einfach neu formatieren können.

Angenommen, Ihr Stick wird als angezeigt / dev / sdc, dann könntest du verwenden sudo fdisk / dev / sdc um es aufzuladen. Wenn Sie eine gültige Partition haben, geben Sie t ein, um den Typ zu ändern, und den Typ L, um eine Hex-Codeliste zu laden. Beachten Sie, dass MBR- und GUID-Partitionsschemata unterschiedlich mit dem Kernel kommunizieren und daher unterschiedliche Zuweisungen haben.

2016-11-25_020331

In den meisten Fällen sind Laufwerke auf Typ 83 eingestellt, was für Linux-Laufwerke gilt, 82, was für Linux-Swap-Partitionen gilt, oder auf einen der FAT-Dateitypen. FAT stammt in irgendeiner Form aus dem Jahr 1977 und wird immer noch für viele Arten von Mobilgeräten sowie für viele Wechseldatenträger bevorzugt. Beachten Sie, dass einige Partitionstypen, z. B. Typ 0x0c, eine sogenannte LBA-Unterstützung bieten.

Wenn ein Programmierer einen Kernel für ein Betriebssystem entwirft, hat er verschiedene Möglichkeiten, wie er Festplatten betrachten kann. Eine besteht darin, die Platten in Zylinder, Köpfe und Sektoren zu unterteilen. Dies war die klassische Art, sich am längsten auf Festplatten zu beziehen. Echte Festplattengeometrie war für Linux nie wirklich wichtig, und diesem Schema gehen leider nach ungefähr 8 binären Gigabyte die Adressen aus. Die zweite Möglichkeit besteht darin, die logische C / H / S-Adressierung zu verwenden, die dies tut, aber dann dem Plattencontroller ermöglicht, Zylinder-, Kopf- und Sektornummern zuzuordnen, wo immer sie möchten. Aus diesem Grund könnte ein Betriebssystem theoretisch behaupten, dass sich Köpfe in einer SD-Karte oder einem USB-Stick befinden, wenn dies physikalisch unmöglich ist.

Die dritte Methode ist die logische Blockadressierung, für die LBA steht. Jeder physische Block in einem Volume erhält in diesem Schema eine Ziffer. Das Betriebssystem weist den Festplattencontroller an, in einen bestimmten nummerierten Block zu schreiben, weiß jedoch nicht, ob dies der direkte Block auf der Festplatte ist. Dies ist das heute am häufigsten verwendete Schema, und es wird sicherlich seit Mitte der neunziger Jahre auf der überwiegenden Mehrheit der Festplatten verwendet.

Linux bietet Kernel-Unterstützung, um eine Vielzahl von Partitionstypen ohne direkte Eingabe bereitzustellen, aber es ist immer noch am besten, bei der Auswahl nicht zu ausgefallen zu sein. Sie könnten Ihre Daten anstoßen, wenn Sie einen sehr seltsamen Partitionstyp für die passende Auswahl des Dateisystems getroffen hätten.

Methode 4: Systemaufrufe aus dem Linux-Programmierhandbuch

Onboard-Manpages-Reader, die in den meisten Linux-Distributionen enthalten sind, können Ihnen tatsächlich einen Crash-Kurs zu Systemaufrufen geben, der beim Erlernen des Kernels immens hilfreich sein kann. Starten Sie den grafischen Manpage-Browser von xman entweder über einen .desktop-Link, falls vorhanden, oder indem Sie gleichzeitig die Supertaste und R gedrückt halten, dann xman eingeben und die Eingabetaste drücken. Wählen Sie die Option “Manuelle Seite” und dann “Abschnitte” und schließlich “(2) Systemaufrufe” aus dem Dropdown-Menü.

2016-11-25_020430

Einmal eine Option mit der Aufschrift „Intro”Erscheint, wählen Sie das aus. Eine Seite aus dem Linux-Programmierhandbuch, auf der Sie viel über Systemaufrufe erfahren, wird Sie dann begrüßen.

2016-11-25_020518

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *