Product SiteDocumentation Site

B.4. Einige vom Kernel erledigte Aufgaben

B.4.1. Die Hardware steuern

Es ist vor allem Aufgabe des Kernels, die Hardwareelemente zu steuern, sie zu erkennen, sie einzuschalten, wenn der Rechner angeschaltet wird, und so weiter. Er macht sie auch über eine vereinfachte Programmierschnittstelle für die Software auf höherer Ebene verfügbar, so dass Anwendungen Geräte nutzen können, ohne sich um Einzelheiten kümmern zu müssen, wie zum Beispiel, in welchen Erweiterungssteckplatz die Optionsplatine eingesteckt ist. Die Programmierschnittstelle stellt auch eine Abstraktionsschicht zur Verfügung; diese ermöglicht es zum Beispiel einer Videokonferenz-Anwendung, eine Webkamera unabhängig von ihrer Marke und ihrem Modell zu verwenden. Die Anwendung kann einfach die Schnittstelle Video for Linux (V4L) benutzen, und der Kernel übersetzt die Funktionsaufrufe dieser Schnittstelle in die tatsächlichen Hardwarebefehle, die von der konkret verwendeten Webkamera benötigt werden.
Der Kernel exportiert über die virtuellen Dateisysteme /proc/ und /sys/ zahlreiche Einzelheiten über die erkannte Hardware. Verschiedene Hilfsprogramme fassen diese Einzelheiten zusammen. Von ihnen zeigt lspci (im Paket pciutils) eine Liste der PCI-Geräte an, lsusb (im Paket usbutils) führt USB-Geräte auf und lspcmcia (im Paket pcmciautils) PCMCIA-Karten. Diese Hilfsprogramme sind zur Identifizierung des genauen Modells eines Geräts sehr hilfreich. Diese Identifizierung ermöglicht auch ein genaueres Suchen im Web, das wiederum zu relevanteren Dokumenten führt.
Beispiel B.1. Beispiel der von lspci und lsusb angezeigten Informationen
$ lspci
[...]
00:02.1 Display controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 03)
[...]
01:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5751 Gigabit Ethernet PCI Express (rev 01)
02:03.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05)
$ lsusb
Bus 005 Device 004: ID 413c:a005 Dell Computer Corp.
Bus 005 Device 008: ID 413c:9001 Dell Computer Corp.
Bus 005 Device 007: ID 045e:00dd Microsoft Corp.
Bus 005 Device 006: ID 046d:c03d Logitech, Inc.
[...]
Bus 002 Device 004: ID 413c:8103 Dell Computer Corp. Wireless 350 Bluetooth


Diese Programme haben eine Option -v, durch die wesentlich detailliertere (aber gewöhnlich nicht erforderliche) Informationen angezeigt werden. Schließlich listet der Befehl lsdev (im Paket procinfo) die von den Geräten benutzten Kommunikationsressourcen auf.
Anwendungen greifen häufig mittels spezieller in /dev/ erzeugter Dateien auf Geräte zu (siehe Seitenleiste ZURÜCK ZU DEN GRUNDLAGEN Zugriffsberechtigungen für Geräte). Dies sind besondere Dateien, die Plattenlaufwerke (zum Beispiel /dev/hda und /dev/sdc), Partitionen (/dev/hda1 oder /dev/sdc3), Mäuse (/dev/input/mouse0), Tastaturen (/dev/input/event0), Soundkarten (/dev/snd/*), serielle Schnittstellen (/dev/ttyS*) und so weiter repräsentieren.