<< 10.5 Geräteunabhänige Software | Index | 10.7 Beispiel Windows 2000/XP >>


10.6 Beispiel Unix/Linux

  • Geräte als spezielle Dateien im im Verzeichnisbaum unter /dev realisiert
    • Zugriff auf diese Geräte analog zum Dateizugriff (auch die gleichen Schutzmechanismen)
  • Drei Klassen
    1. Block-orientierte Geräte
    2. Zeichen-orientierte Geräte (Character-Geräte)
    3. Netzwerk-Geräte
  • Zwei Gerätetreiber-Tabellen
    1. bdevsw (für Block-Geräte)
    2. cdevsw (für Character-Geräte)
    • Geräte werden über Magic-Number identifiziert
    • Tabellen enthalten Pointer zu gerätespezifischen Dateioperationen (open, read, write, ...)
  • Block-Geräte
    • Verwenden Buffer-Cache für zuletzt angeforderte Blöcke
    • Request-Manager verwaltet Lesen und Schreiben von Blockinhalten vom und zum Gerät
      • Pro Gerät eine Request-Liste mit I/O-Anfragen
  • Character-Geräte
    • Kein wahlfreier Zugriff auf Daten
    • Treiber muss eine Menge von I/O-Operationen implementieren

Nach oben

Zuletzt geändert am 13 März 2005 13:44 Uhr von chrschn