![Welche Beziehung besteht zwischen den „Domänen“ der Linux-Gerätetreiber?](https://rvso.com/image/31664/Welche%20Beziehung%20besteht%20zwischen%20den%20%E2%80%9EDom%C3%A4nen%E2%80%9C%20der%20Linux-Ger%C3%A4tetreiber%3F.png)
Wenn ich über die Linux-Gerätetreiber und die Energieverwaltungs-API lese, stoße ich immer wieder auf Begriffe wie „Systemebene“, „Subsystem“, „Plattform“, „Klasse“ und so weiter.
Welche Beziehung besteht zwischen ihnen? Ist das System ein Untertyp einer Plattform? Oder existieren System und Plattform parallel, ohne dass eine Inklusionsbeziehung besteht? Wie unterscheidet sich „Klasse“ von „System“? Wofür ist jede Domäne gut (d. h. wenn ich eine bestimmte Funktionalität implementieren möchte, sollte es eine Funktionalität auf Klassenebene oder eine Plattformfunktionalität oder etwas anderes usw. sein)?
Kurz gesagt, kann mir jemand erklären, was diese unterschiedlichen Dinge sind?
Antwort1
Diese sind schwer zu definieren. Im Allgemeinen gilt im Zusammenhang mit der Geräteaufzählung:
„Plattform“-Geräte sind Dinge, die man normalerweise auf einem PC oder einem Raspberry Pi findet.
Der Kernel sucht zunächst nach ihnen, da der Kernel für die Ausführung auf einem PC oder einem RPi kompiliert wurde. Einige der Mainboard-Komponenten sowie CPU und Speicher fallen in diese Kategorie.
Ein „Subsystem“ ist im Grunde eine Gruppe von Treibern mit ähnlicher Funktionalität für unterschiedliche Hardware.
Einzelne Treiber können dann wiederum Treiber eines anderen Subsystems verwenden. Beispielsweise handhaben die Treiber des Subsystems „Sound“ einzelne Soundkarten und stellen eine gemeinsame Soundkartenschnittstelle dar, während ein Treiber das PCI-Subsystem verwenden kann, um die Soundkarte zu finden, unabhängig vom Typ des verwendeten Southbridge-Chips.
Ein „Klassen“-Treiber befasst sich mit Geräten verschiedener Hersteller, die eine gemeinsame Schnittstelle implementieren.
Dies ist typisch für USB-Geräte, bei denen es beispielsweise einen Standard für Massenspeichergeräte gibt und ein einziger Treiber alle Geräte verwaltet, die als kompatibel gelten.