![]() |
|
Linux - Wegweiser zur Installation & Konfiguration, 3. AuflageOnline-VersionBitte 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.
|
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:
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:
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:
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:
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).
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Weitere Informationen zum Linux - Wegweiser zur Installation & Konfiguration
Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center
© 2000, O'Reilly Verlag