Im Katalog suchen

Linux - Wegweiser zur Installation & Konfiguration, 3. Auflage

Online-Version

Copyright © 2000 by O'Reilly Verlag GmbH & Co.KG

Bitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

Wünschen Sie mehr Informationen zu der gedruckten Version des Buches Linux - Wegweiser zur Installation & Konfiguration oder wollen Sie es bestellen, dann klicken Sie bitte hier.


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel

Das /proc-Dateisystem

Es war immer eines der hervorstechendsten Merkmale von Unix-Systemen, daß verschiedene Bestandteile einheitlich dargestellt werden. Wie Sie im nächsten Kapitel lernen werden, wird Hardware unter Linux in Form von besonderen Dateien repräsentiert. Es gibt aber ein Dateisystem namens /proc-Dateisystem, das noch einen Schritt weiter geht: Es vereinheitlicht Dateien und Prozesse.

Aus der Sicht des Benutzers oder des Systemverwalters sieht das /proc-Dateisystem wie jedes andere Dateisystem aus - Sie können sich mit cd darin bewegen, Verzeichnisinhalte mit ls anzeigen lassen und den Inhalt von Dateien mit cat betrachten. Allerdings belegt keine dieser Dateien auch nur den geringsten Platz auf Ihrer Festplatte. Der Kernel fängt Zugriffe auf das /proc-Dateisystem ab und erzeugt die Verzeichnis- und Dateiinhalte bei Bedarf. Wenn Sie also im /proc-Dateisystem einen Verzeichnisinhalt auflisten oder einen Dateiinhalt anzeigen lassen, dann erzeugt der Kernel den Inhalt, den Sie sehen möchten, dynamisch.

Um das etwas konkreter zu machen, schauen wir uns jetzt einige Beispiele an. Das folgende Beispiel zeigt die Dateien im Top-Level-Verzeichnis des /proc-Dateisystems:

tigger # ls /proc 1 184 25472 8 8525 kmsg 130 185 25475 82 8526 ksyms 134 186 25497 8484 8593 loadavg 136 187 25498 8485 963 locks 139 2 25499 8488 965 meminfo 143 24924 25500 8489 9654 modules 144 25441 25515 8492 968 mounts 145 25442 25549 8496 97 net 146 25445 25550 8507 99 pci 147 25446 26019 8508 cmdline scsi 148 25449 26662 8510 cpuinfo self 151 25451 26663 8511 devices stat 163 25462 270 8512 dma sys 168 25463 3 8520 filesystems uptime 172 25464 4484 8522 interrupts version 180 25465 4639 8523 ioports 182 25466 55 8524 kcore

Die konkreten Zahlen werden auf Ihrem System anders aussehen, aber der generelle Aufbau ist der gleiche. All diese Zahlen sind Verzeichnisse, die jeweils einen der gerade im System laufenden Prozesse repräsentieren. Schauen wir uns beispielsweise die Informationen zum Prozeß mit der Nummer 172 an:

tigger # ls /proc/172 cmdline environ fd mem stat status cwd exe maps root statm

Sie sehen eine Reihe von Dateien, die alle Informationen über diesen Prozeß enthalten. Beispielsweise enthält die Datei cmdline die Kommandozeile, mit der dieser Prozeß gestartet wurde. status enthält Informationen über den internen Status des Prozesses, und cwd verweist auf das aktuelle Arbeitsverzeichnis dieses Prozesses.

Wahrscheinlich finden Sie die Informationen über die Hardware noch interessanter als die Informationen über die Prozesse. Alle Informationen, die der Kernel über Ihre Hardware gesammelt hat, befinden sich im /proc-Dateisystem, auch wenn es schwierig sein kann, die spezifische Information zu finden, die Sie suchen.

Sehen wir uns zunächst den Speicher Ihres Rechners an. Dieser wird durch die Datei /proc/meminfo repräsentiert:

tigger # cat /proc/meminfo total: used: free: shared: buffers: cached: Mem: 130957312 128684032 2273280 37888000 3198976 20615168 Swap: 133885952 64434176 69451776 MemTotal: 127888 kB MemFree: 2220 kB MemShared: 37000 kB Buffers: 3124 kB Cached: 20132 kB SwapTotal: 130748 kB SwapFree: 67824 kB

Wenn Sie jetzt den Befehl free ausprobieren, werden Sie feststellen, daß dieser genau die gleichen Informationen liefert, nur etwas anders formatiert. free macht nichts weiter, als /proc/meminfo zu lesen und die Ausgabe etwas umzusortieren.

Die meisten Werkzeuge auf Ihrem Rechner, die Informationen über die Hardware ausgeben, machen das so. Das /proc-Dateisystem ist eine portable und einfache Möglichkeit, an diese Informationen heranzukommen. Das ist besonders nützlich, wenn Sie neue Hardware in Ihren Rechner einbauen wollen. Beispielsweise benötigen die meisten Einsteckkarten mehrere I/O-Adressen, um mit der CPU und dem Betriebssystem kommunizieren zu können. Wenn Sie zwei Karten mit der gleichen I/O-Adresse konfiguriert haben, lauert das Verderben schon hinter der nächsten Ecke. Sie können das vermeiden, indem Sie überprüfen, welche Adressen der Kernel schon als belegt ermittelt hat:

tigger # more /proc/ioports 0000-001f : dma1 0020-003f : pic1 0040-005f : timer 0060-006f : keyboard 0080-009f : dma page reg 00a0-00bf : pic2 00c0-00df : dma2 00f0-00ff : npu 01f0-01f7 : ide0 0220-022f : soundblaster 02e8-02ef : serial(auto) 0388-038b : OPL3/OPL2 03c0-03df : vga+ 03f0-03f5 : floppy 03f6-03f6 : ide0 03f7-03f7 : floppy DIR 03f8-03ff : serial(auto) 0530-0533 : WSS config 0534-0537 : MSS audio codec e000-e0be : aic7xxx e400-e41f : eth0

Jetzt können Sie nach freien I/O-Adressen Ausschau halten. Natürlich kann der Kernel nur die I/O-Adressen von Karten anzeigen, die er erkannt hat, aber in einem korrekt konfigurierten System sollte das bei allen Karten der Fall sein.

Sie können das /proc-Dateisystem auch noch zur Ermittlung weiterer Informationen, die Sie zum Konfigurieren neuer Hardware benötigen, verwenden: /proc/interrupts zeigt die belegten Interrupt-Leitungen an und /proc/dma die belegten DMA-Kanäle (Direct Memory Access).



vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel


Weitere Informationen zum Linux - Wegweiser zur Installation & Konfiguration

Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center


O'Reilly Home | O'Reilly-Partnerbuchhandlungen | Bestellinformationen | Kontaktieren Sie uns
International | Über O'Reilly | Tochterfirmen

© 2000, O'Reilly Verlag