Advertisements

30 Dinge, die Sie über den Linux-Kernel nicht wussten

Der Linux-Kernel wird dieses Jahr 30 Jahre alt. Das sind drei Jahrzehnte wegweisender Open-Source-Software, die es Benutzern ermöglicht, freie Software auszuführen, von den von ihnen ausgeführten Anwendungen zu lernen und das Gelernte mit Freunden zu teilen. Es wird argumentiert, dass ohne den Linux-Kernel der Luxus der offenen Kultur und der freien Software, den wir heute genießen, möglicherweise nicht aufgetaucht wäre, wenn er es getan hat. Es ist höchst unwahrscheinlich, dass die offenen Teile von Apple und Microsoft und Google ohne Linux als Katalysator überhaupt offen wären. Der Einfluss von Linux als Phänomen für Kultur, Softwareentwicklung und Benutzererfahrung kann nicht hoch genug eingeschätzt werden, und doch fing alles mit einem Kernel an.

Weitere Linux-Ressourcen

Ein Kernel ist die Software, die einen Computer bootet, alle an den Computer angeschlossenen Komponenten erkennt – und die Kommunikation zwischen ihnen gewährleistet – sowohl innerhalb als auch außerhalb des Computergehäuses. Für Code, über den die meisten Benutzer nie nachdenken, geschweige denn verstehen, gibt es viele Überraschungen über den Linux-Kernel. Hier ist in keiner bestimmten Reihenfolge eine Tatsache über den Kernel für jedes Jahr seines Lebens:

  1. Linux war das erste Betriebssystem mit USB 3.0-Treibern. Sage Sharp gab am 7. Juni 2009 bekannt, dass sein Treiber für USB 3.0-Geräte verfügbar ist und sein Code in der Kernel-Version 2.6.31 enthalten ist

  2. Der Kernel markiert sich selbst als tainted wenn ein Ereignis auftritt, das später für die Fehlerbehebung nützlich sein könnte. Es ist kein Problem, einen “befleckten” Kernel auszuführen. Sollte etwas schief gehen, besteht einer der ersten Schritte zur Fehlerbehebung darin, zu versuchen, das Problem auf einem nicht verfälschten Kernel zu reproduzieren.

  3. Sie können einen Hostnamen oder Domänennamen als Teil der ip= Befehlszeilenoption behält Linux diese bei, anstatt sie mit einer von DHCP oder BOOTP vorgeschlagenen zu überschreiben. Zum Beispiel, ip=::::myhostname::dhcp bekommt den Namen myhostname.

  4. Es gibt eine Version eines Schwarzweiß-, 16-Farben- und 224-Farben-Tux-Logos während des Textstarts.

  5. In der Unterhaltungsbranche ist DRM eine Technologie, die verwendet wird, um den Zugriff auf Medien zu verhindern. Im Linux-Kernel bezieht sich DRM jedoch auf Direct Rendering Manager und bezieht sich auf die Bibliothek (libdrm) und die Treiber, die zur Schnittstelle mit den GPUs von Grafikkarten verwendet werden.

  6. Es ist möglich, den Linux-Kernel ohne Neustart zu patchen.

  7. Wenn Sie Ihren eigenen Kernel kompilieren, können Sie Ihre Textkonsole so konfigurieren, dass sie mehr als 80 Spalten enthält. Nach dem Kompilieren ist es als Bootloader-Einstellung konfigurierbar.

  8. Der Linux-Kernel bietet integrierte FAT-, exFAT- und NTFS-Kompatibilität (Lesen und Schreiben).

  9. Treiber für Wacom-Tablets und viele ähnliche Geräte sind in den Kernel integriert.

  10. Die meisten Kernel-Hacker verwenden die git send-email Patches einzureichen.

  11. Der Kernel verwendet eine Dokumentations-Toolchain namens Sphinx, die in Python geschrieben ist.

  12. Hamlib bietet gemeinsam genutzte Bibliotheken mit einer standardisierten API zur Steuerung von Amateurfunkgeräten über Ihren Linux-Computer, der eine Vielzahl von Funkunterstützungen bietet.

  13. Hardwarehersteller werden ermutigt, bei der Entwicklung des Kernels zu helfen, um die Kompatibilität sicherzustellen. Damit kann die Hardware direkt angesprochen werden, ohne einen Treiber vom Hersteller herunterladen zu müssen. Treiber, die direkt Teil des Kernels sind, profitieren auch automatisch von Leistungs- und Sicherheitsverbesserungen in neuen Versionen des Kernels.

  14. Für viele Raspberry Pi-Module (Pi Hats) sind im Kernel Treiber enthalten.

  15. Die Band netcat hat ein Album veröffentlicht, das nur als Linux-Kernel-Modul spielbar ist.

  16. Inspiriert von der Albumveröffentlichung von Netcat wurde auch ein Modul entwickelt, um Ihren Kernel in einen Musik-Player zu verwandeln.

  17. Die Linux-Kernelfunktionen unterstützen viele CPU-Architekturen: ARM, ARM64, IA-64, m68k, MIPS, Nios II, PA-RISC, OpenRISC, PowerPC, s390, Sparc, x86, Xtensa und mehr.

  18. 2001 führte der Linux-Kernel als erster die x86-64-CPU-Architektur im Long-Modus aus.

  19. Linux-Version 3.4 führte die x32-ABI ein, die es Entwicklern ermöglicht, Code für die Ausführung im 64-Bit-Modus zu kompilieren und dabei nur 32-Bit-Zeiger und Datenfelder zu verwenden.

  20. Der Kernel unterstützt viele verschiedene Dateisysteme, einschließlich Ext2, Ext3, Ext4, JFS, XFS, GFS2, GCFS2, BtrFS, NILFS2, NFS, Overlay FS, UDF und mehr.

  21. Das virtuelle Dateisystem ist eine Softwareschicht im Kernel, die die Dateisystemschnittstelle für Anwendungen bereitstellt, die von Benutzern ausgeführt werden. Es ist auch eine Abstraktion für den Kernel, damit verschiedene Dateisystemimplementierungen nebeneinander existieren können.

  22. Der Linux-Kernel enthält einen Treiber für ein physisches Braille-Ausgabegerät.

  23. In der Kernel-Version 2.6.29 wurde das Tux-Logo beim Booten durch “Tuz” ersetzt, um auf einen aggressiven Krebs aufmerksam zu machen, der zu dieser Zeit die Bevölkerung des Tasmanischen Teufels in Australien betraf.

  24. Kontrollgruppen (cgroups) sind der Grund, warum Container (die Basistechnologie für Docker, Podman, Kubernetes und vieles mehr) existieren können.

  25. Es brauchte umfangreiche rechtliche Schritte, um es freizugeben, damit es aufgenommen werden konnte, aber heute ist das CIFS-Modul in den Kernel integriert, um SMB-Unterstützung zu ermöglichen. Auf diese Weise kann Linux Remote- und Cloud-basierte Dateifreigaben von Microsoft mounten.

  26. Es ist für einen Computer bekanntermaßen schwierig (bisher sogar unmöglich), eine wirklich zufällige Zahl zu erzeugen. Die hw_random Framework kann spezielle Hardwarefunktionen auf Ihrer CPU oder Ihrem Motherboard nutzen, um die Zufallszahlengenerierung zu verbessern.

  27. Betriebssystem-Jitter ist eine Störung einer Anwendung, die durch Konflikte bei der Planung von Hintergrundprozessen und der Verarbeitung asynchroner Ereignisse (wie Interrupts) durch das System verursacht wird. Das Binden von Tasks an vom Kernel definierte CPUs, die Verwendung von Kontrollgruppen und SMP-IRQ-Affinität sind Optionen, die der Kernel stellt Programmierer zur Verfügung, um den Jitter des Betriebssystems zu reduzieren. Probleme wie diese werden in der Kernel-Dokumentation ausführlich behandelt, damit Programmierer, die auf Linux abzielen, intelligenteren Code schreiben können.

  28. Die make menuconfig Mit dem Befehl können Sie einen Kernel vor dem Kompilieren über eine GUI konfigurieren. Die Kconfig Sprache definiert Kernel-Konfigurationsoptionen.

  29. Für wesentliche Linux-Server, a Wachhund System kann implementiert werden, um den Zustand des Servers zu überwachen. Zwischen den Zustandsprüfungen schreibt der Watchdog-Daemon Daten auf ein spezielles Watchdog-Kernel-Gerät und verhindert so ein Zurücksetzen des Systems. Sollte ein Watchdog keinen Erfolg protokollieren, wird das System zurückgesetzt. Es gibt viele Implementierungen von Watchdog-Hardware, die für geschäftskritische Remote-Computer (wie sie zum Mars gesendet werden) von entscheidender Bedeutung sind.

  30. Obwohl es auf der Erde entwickelt wurde, gibt es eine Kopie des Linux-Kernels auf dem Planeten Mars.

30 Dinge, die Sie über den Linux-Kernel nicht wussten

Leave a Reply

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

Scroll to top