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



Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen

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 Stammkonto 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 zu sehen, 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 mögliche formale Definition der Festplatte in der Informatik verwendet und nicht die Art und Weise, wie wir diesen Begriff normalerweise verwenden. Dies bedeutet, dass eine Festplatte, eine SSD, eine SD-Karte, eine microSDHC-Karte, ein über USB angeschlossenes Smartphone-Dateisystem, USB-Sticks und sogar gemountete 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. Beachten Sie, dass die Swap-Partition in diesem allgemeinen Beispiel eine logische Festplatte innerhalb einer erweiterten Partition ist und als Ziffer 5 statt 3 erhält.

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 Schreiben Sie keine Partitionstabellen, bis Sie dazu aufgefordert werden. Versuchen Sie dies dennoch am besten mit etwas, 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, dh für Linux-Laufwerke, 82, für Linux-Swap-Partitionen, oder 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, Festplatten zu betrachten. 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. Dies ermöglicht dem Festplattencontroller jedoch die Zuordnung von Zylinder-, Kopf- und Sektornummern, wo immer er möchte. 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 Ihnen beim Erlernen des Kernels immens helfen kann. Starten Sie den grafischen Manpage-Browser von xman entweder über einen .desktop-Link (falls vorhanden) oder halten Sie alternativ die Supertaste und R gleichzeitig gedrückt, geben Sie xman ein und drücken Sie die Eingabetaste. 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

6 Minuten gelesen