Frage von Gacem746, 53

Warum nutzen verschiedene Betriebssysteme verschiedene Dateiformate?

Antwort
von NoHumanBeing, 25

Die meisten Dateiformate werden nicht vom Betriebssystem, sondern von den darauf laufenden Anwendungsprogrammen implementiert. So kannst Du beispielsweise OpenDocument-Dateien mit LibreOffice öffnen, unabhängig davon, ob dies unter Windows oder Linux oder OSX läuft.

Betriebssysteme implementieren allerdings unterschiedliche (native) Dateisysteme, etwa NTFS unter Windows, Ext2/3/4 oder Btrfs unter Linux, ZFS unter OpenSolaris, HFS+ unter OSX. Das liegt daran, dass die Dateisysteme in der Regel unabhängig voneinander entwickelt wurden und auf die Bedürfnisse der jeweiligen Systeme zugeschnitten sind. So verwaltet Linux zum Beispiel den Hauptspeicher in der Regel in Form von Speicherseiten (Pages) mit einer Größe von jeweils 4096 Byte. Diese Größe weisen dementsprechend auch die Zuordnungseinheiten im Ext-Dateisystem auf, damit der Dateisystemtreiber sie effizient in eine Speicherseite kopieren kann. Dateisysteme unter unixoiden Systemen können zu jeder Datei die dazugehörigen POSIX-Rechte speichern, was NTFS beispielsweise so direkt nicht unterstützt.

Unabhängig davon, welches Dateisystem für ein bestimmtes Betriebssystem nativ ist, gibt es häufig aber Treiber, um auf andere Dateisysteme zuzugreifen. So gibt es unter Linux beispielsweise den Treiber "ntfs-3g", der auf NTFS-Dateisysteme lesend und schreibend zugreifen kann. Umgekehrt gibt es auch Treiber für das Ext-Dateisystem für Windows. Allerdings werden hier häufig nur ältere Versionen von Ext unterstützt.

Das Dateiformat für Binärdateien, die Maschinencode enthalten, unterscheidet sich zwischen Betriebssystemen, da diese unterschiedliche "program loader" und auch eine unterschiedliche Speicherverwaltung und unterschiedliche Verfahren für das dynamische Linken verwenden. So verwendet Windows für ausführbare Dateien das PE-Format (portable executable), während Linux das ELF-Format (executable and linkable format) verwendet.

Antwort
von Cryptorchid, 45

Weil sie auf verschiedene Dateisystemen basieren. D.h.: Die Betriebssysteme bearbeiten/interpretieren Dateien verschieden. Damit die Systeme nicht versuchen Dateien zu verarbeiten, die gar nicht für das Dateisystem vorgesehen sind werden verschiedene Formate genutzt. Auch hilft es dem Nutzer zu erkennen ob Dateien für das etwaige Betriebssystem bestimmt sind.

Kommentar von Gacem746 ,

und warum wird das jeweils anders verarbeitet?

Kommentar von Cryptorchid ,

Am einfachsten ist das geschichtlich zu betrachten. Windows war ursprünglich gar kein echtes Betriebssystem, es basierte auf "DOS". Paralell wurde auf ganz andere Weise "UNIX" entwickelt. Auf UNIX basiert beispielsweise Apples Mac OS und Linux. Nun gab es 2 völlig verschiedene "Basis-Systeme". Im laue der Jahrzehnte wurden Betriebssystem immer komplexer und es war kaum möglich alles von Grund auf neu zu designen, stattdessen wurde immer erweiter/verbessert. Apple hat sich da etwas von Linux im laufe der Zeit distanziert, während Windows sowieso völlig anders war. Deswegen bekommt man den meisten Mac kram auf Linux zum laufen und andersrum (wenn auch manchmal Modifikationen nötig sind). Alle Systeme haben zwar "Alt-Lasten", also Betriebssystem-Code den keiner mehr brauch, mitlerweile entfernt, doch die Gabelung der Systeme ist solange her, dass es kaum noch zusammenführbar ist.

Kommentar von Sabotaz ,

das hätte man nicht besser erklären können!

Keine passende Antwort gefunden?

Fragen Sie die Community