Der Fragentitel fragt: Warum müssen wir auf Linux mounten?
Eine Möglichkeit, diese Frage zu interpretieren: Warum müssen wir explizite mount
Befehle ausgeben , um Dateisysteme unter Linux verfügbar zu machen?
Die Antwort: Wir nicht.
Sie müssen Dateisysteme nicht explizit mounten, sondern können dies automatisch veranlassen. Dies wird von Linux-Distributionen bereits für die meisten Geräte durchgeführt, genau wie bei Windows und Mac.
Das wollten Sie also wahrscheinlich nicht fragen.
Eine zweite Interpretation: Warum müssen wir manchmal explizite mount
Befehle ausgeben , um Dateisysteme unter Linux verfügbar zu machen? Warum lässt du das Betriebssystem es nicht immer für uns tun und verbirgst es vor dem Benutzer?
Dies ist die Frage, die ich im Fragentext lese, wenn Sie fragen:
Überspringen Sie die Montage, und führen Sie die folgenden Schritte aus
ls /dev/cdrom
und ist der Inhalt der CD-ROM aufgeführt?
Vermutlich meinst du: Warum nicht einfach dieses Kommando was machen lassen
ls /media/cdrom
macht jetzt?
In diesem Fall /dev/cdrom
wäre es ein Verzeichnisbaum, keine Gerätedatei. Ihre eigentliche Frage scheint also zu sein: Warum haben Sie überhaupt eine Gerätedatei?
Ich möchte eine Antwort zu den bereits gegebenen hinzufügen.
Warum sehen Benutzer Gerätedateien?
Wann immer Sie eine CD-ROM oder ein anderes Gerät verwenden, auf dem Dateien gespeichert sind, wird eine Software verwendet, die alles, was sich auf Ihrer CD-ROM befindet, als Verzeichnisbaum von Dateien interpretiert. Es wird immer dann aufgerufen, wenn Sie ls
einen Befehl oder eine andere Anwendung verwenden, die auf die Dateien auf Ihrer CD-ROM zugreift. Diese Software ist der Dateisystemtreiber für das jeweilige Dateisystem, mit dem die Dateien auf Ihre CD-ROM geschrieben werden. Wann immer Sie Dateien in einem Dateisystem auflisten, lesen oder schreiben, muss diese Software sicherstellen, dass die entsprechenden Lese- und Schreibvorgänge auf niedriger Ebene auf dem betreffenden Gerät ausgeführt werden. Wann immer Sie mount
ein Dateisystem verwenden, teilen Sie dem System mit, welcher Dateisystemtreiber für das Gerät verwendet werden soll. Ob Sie dies explizit mit einemmount
Befehl, oder überlassen Sie es dem Betriebssystem, um automatisch ausgeführt zu werden, es muss ausgeführt werden, und natürlich muss die Dateisystem-Treibersoftware an erster Stelle vorhanden sein.
Wie erledigt ein Dateisystemtreiber seine Arbeit? Die Antwort: Das geschieht durch Lesen und Schreiben in die Gerätedatei. Warum? Die Antwort, wie Sie bereits sagten: Unix wurde so konzipiert. In Unix sind Gerätedateien die übliche Abstraktion auf niedriger Ebene für Geräte. Die wirklich gerätespezifische Software (der Gerätetreiber) für ein bestimmtes Gerät soll das Öffnen, Schließen, Lesen und Schreiben auf dem Gerät als Operationen auf der Gerätedatei implementieren. Auf diese Weise muss übergeordnete Software (z. B. ein Dateisystemtreiber) nicht so viel über die interne Funktionsweise einzelner Geräte wissen. Die Gerätetreiber auf niedriger Ebene und die Dateisystemtreiber können von verschiedenen Personen getrennt geschrieben werden, sofern sie sich auf eine gemeinsame Art der Schnittstelle einigen, und für diese Zwecke sind die Gerätedateien bestimmt.
Daher benötigen Dateisystemtreiber die Gerätedateien.
Aber warum sehen wir, normale Benutzer, die Gerätedateien? Die Antwort ist, dass Unix für die Verwendung durch Programmierer von Betriebssystemen entwickelt wurde. Es wurde entwickelt, um Benutzern das Schreiben von Gerätetreibern und Dateisystemtreibern zu ermöglichen. So werden sie geschrieben.
Gleiches gilt für Linux: Sie können Ihren eigenen Dateisystemtreiber (oder Gerätetreiber) schreiben, installieren und dann verwenden. Es macht Linux (oder eine andere Variante von Unix) leicht erweiterbar (und es ist tatsächlich der Grund, warum Linux gestartet wurde): Wenn eine neue Hardware auf den Markt kommt oder eine neue, intelligentere Methode zum Implementieren eines Dateisystems entwickelt wird kann jemand den Code schreiben, um ihn zu unterstützen, zum Laufen zu bringen und ihn zu Linux beizutragen.
Gerätedateien erleichtern dies.