Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7990
|
Oftmals kann man ja auch in Linux / Ubuntu nicht umhin, FAT-Partitionen zu verwenden. Da stellt sich die Frage, ob Linux diese Partitionen fragmentiert oder nicht. Die Fragmentierung von Dateien ist ja auch bei FAT nicht unbedingt nötig. Es handelt sich nur um eine von Microsoft verwendete, nicht mehr sehr zeitgemäße Methode, den Festplattenplatz besser auszunützen. Nimmt man einen etwas größeren Platzbedarf in Kauf, kann man auch bei FAT-Partitionen im Prinzip darauf verzichten. Ich wollte nun gerne wissen, in welcher Weise Linux die FAT-Partitionen beschreibt: Möglichst eng und fragmetiert wie Windows, oder unfragmentiert mit entsprechend größerem Speicherbedarf. Weiß hier jemand Bescheid? Gruß - Max-Ulrich
|
JuergenF
Anmeldungsdatum: 22. Oktober 2004
Beiträge: 2009
Wohnort: FFM
|
Die Fragmentierung von Dateien ist ja auch bei FAT nicht unbedingt nötig.
Das halte ich für ein Gerücht. Jedes Dateisystem fragmentiert. Je nach Schreibstrategie mehr oder weniger, früher oder später, aber unvermeidlich - es sei denn Du verwendest es wie eine CD-R und löscht nie Dateien, sondern kaufst bei bedarf einfach eine neue Platte hinzu... (und gewöhnst dem OS ab, temporäre Dateien darauf zu erzeugen) MS nimmt AFAIK gerne eine Variante der 'best fit'-Strategie, die trotz ihres Namens auf lange Sicht hohe Fragmentierung erzeugt. Linux-Dateisystemtreiber verwenden lieber 'worst fit' (oder 'first fit', macht keinen sehr grossen Unterschied) um die Fragmentierung gering zu halten. Das bedeutet aber nur, dass lieber in kauf genommen wird, früh eine gering fragmentierte Datei zu schreiben, als später dann jede neue Datei in 1000 Bröckchen zerteilen zu müssen. Ich vermute mal, das haben die auch in dem Linux-FAT-Treiber so gemacht. Aber...
Weiß hier jemand Bescheid?
...genau leider auch nicht 😉
|
Max-Ulrich_Farber
(Themenstarter)
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7990
|
Die Fragmentierung von Dateien ist ja auch bei FAT nicht unbedingt nötig
Da habe ich mich leider nicht präzise ausgedrückt. Ich wollte sagen: Das FAT-Dateisystem ist nicht zwingend mit der von Microsoft verwendeten, von Anfang an stark fragmentierenden "best fit"-Strategie verbunden
Das halte ich für ein Gerücht. Jedes Dateisystem fragmentiert.
Du hast natürlich Recht, wenn die Platte annähernd voll ist. Dann bekommt man ohne Fragmentierung keine größeren Dateien mehr drauf. Bei Platten, die noch größere zusammenhängende freie Bereiche haben, führt jedoch die "first fit"-Strategie (noch) zu keiner Fragmentierung, weil ja in den ersten freien Bereich geschrieben wird, in den die Datei als ganze passt. Entsprechend entstehen beim Löschen von Dateien auch wieder große freie Bereiche. Eine Fragmentierung dürfte bei dieser Strategie erst dann auftreten, wenn die Platte fast voll ist. Das Entstehen von Lücken zwischen den Dateien ist ja keine Fragmentierung. Wenn die Platte groß genug ist, fragmentiert die "first fit"-Strategie also nicht. Meine Frage läuft also im Grunde darauf hinaus: Verwendet Linux bei FAT-Partitionen genau wie Windows die "best fit"-Strategie, oder schreibt es auch auf FAT-Partitionen im Gegensatz zu Windows nach der "first fit"-Strategie, die es in ext2 und ext3 verwendet? Gruß - Max-Ulrich
|
Lunar
Anmeldungsdatum: 17. März 2006
Beiträge: 5792
|
Max-Ulrich Farber hat geschrieben: Oftmals kann man ja auch in Linux / Ubuntu nicht umhin, FAT-Partitionen zu verwenden.
Wieso? Bis auf den Bereich externer Speichermedien wie USB-Sticks oder MP3-Player kann ext2 FAT32 überall ersetzen.
|
tobiasschulz
Anmeldungsdatum: 31. Mai 2006
Beiträge: 339
Wohnort: /root/
|
Lunar hat geschrieben: Max-Ulrich Farber hat geschrieben: Oftmals kann man ja auch in Linux / Ubuntu nicht umhin, FAT-Partitionen zu verwenden.
Wieso? Bis auf den Bereich externer Speichermedien wie USB-Sticks oder MP3-Player kann ext2 FAT32 überall ersetzen.
Klar. Aber.. hast du keinen USB Stick und willst du nie einen verwenden? 😛
|
uname
Anmeldungsdatum: 28. März 2007
Beiträge: 6030
Wohnort: 127.0.0.1
|
Wieso? Bis auf den Bereich externer Speichermedien wie USB-Sticks oder MP3-Player kann ext2 FAT32 überall ersetzen.
Auch auf einen USB-Stick kann man gut EXT2 anlegen. Mein USB-Ubuntu bootet auch von einer EXT2-USB-Partition. Natürlich hat der Stick auch noch eine FAT32-Partition (für die Windows-Welt).
|
Max-Ulrich_Farber
(Themenstarter)
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7990
|
Hallo, das ist ja nett, dass wir wieder 'mal darüber diskutieren, ob und wenn ja, wozu man FAT-Partitionen braucht. Die Frage war aber ein bisschen anders... 😉 Ich habe inzwischen auch versucht, mich durch Lesen (vor allem Wikipedia englisch, deutsch ist hier lückenhaft) etwas schlauer zu machen. Dabei habe ich entdeckt, dass der Begriff "Fragmentierung" keineswegs so eindeutig festgelegt ist, wie ich gemeint hatte (man unterscheidet interne F., externe F. und Datenfragmentierung, wobei ich nur an die letzte gedacht habe). Außerdem ist der Grad der Fragmentierung in Windows und in Linux völlig verschieden definiert. In FAT-Dateisystemen ist es schwierig, die "first fit"-Strategie effizient anzuwenden, weil man hierzu ja die Länge der Datei kennen muss. Dies geht nur in Verbindung mit einer Pufferung oder durch Zwischenspeichern, wobei letzteres zeitaufwändig ist. Ob Linux dies bei FAT-Partitionen grundsätzlich tut, bezweifle ich. Nur von manchen Programmen weiß ich, dass sie es tun (z.B. streamripper). Ich vermute deshalb, dass man auch bei unter Linux beschriebenen FAT-Partitionen mit einer schnellen Alterung durch Datenfragmentierung rechnen muss, und dass sie deshalb - genau wie bei Windows - regelmäßig defragmentiert gehören. Dies kann man aber wohl nur unter Windows machen. Den Versuch, einen der Freeware-Defragmentierer für FAT - NTFS unter Wine laufen zu lassen, halte ich für äußerst gewagt! Wenn das stimmt, heißt das, dass man die unverzichtbare Wartung eines FAT-Dateisystems nur durchführen kann, wenn man ein Windows installiert hat. Davon steht allerdings nichts im Wiki! Wenn mich jemand eines Besseren belehren kann, bin ich nur froh darüber!
|
Max-Ulrich_Farber
(Themenstarter)
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7990
|
Es ist seltsam. Man findet mengenweise Abhandlungen darüber, warum bei ext2- und ext3-Partitionen ein Defragmentieren überflüssig ist. Wie es sich bei FAT32 unter Linux verhält, scheint kein Thema zu sein. Dabei verwenden gerade bei einer "Umsteiger-Distribution" wie Ubuntu viele ihre FAT-Partitionen unter Linux weiter. Im Wiki steht ja auch, dass dies ohne Probleme möglich ist. Jeder weiß aber, dass ungewartete FAT-Partitionen unter Windows schnell "altern". Die einzige offenbar kompetente Diskussion hierüber, die mir Freund Google anzubieten hat, ist leider französisch: ☹ http://www.commentcamarche.net/forum/affich-1782043-defragmentation-d-un-disque-sous-linux-red-ha Es geht darum, ob das Betriebssystem oder das Dateisystem für die Positionierung der Daten auf der Platte ausschlaggebend ist. Ich zitiere daraus die entscheidenden Stellen:
la fragmentation dépand du FS pas du systeme.
Antwort:
Désolé de vous contredire Roland, c'est le contraire. C'est bel et bien le système d'exploitation qui gère le placement des blocs sur le disque et non une sous-couche FAT.
Pour information, sous Linux, l'entité de base manipulée pour les disques est constituée d'inodes qui sont à la base des systèmes de fichier ext2 et ext3 (les formats 'natifs' de Linux). La FAT est considérée dans le noyau comme un système de fichier avec des inodes 'bricolés' (il suffit de plonger dans les sources du noyau linux pour s'en convaincre). Ceci veut dire que la politique d'écriture et de positionnement des blocs sur le disque est la même pour Linux quelquesoit le système de fichier.
En revanche sous windows, pour optimiser la vitesse en écriture, l'écriture d'un fichier commence à l'endroit où est la tête de lecture, quitte à compléter ailleurs s'il n'ya pas la place d'où la fragmentation.
Die Antwort, die mir einen kompetenten Eindruck macht, besagt, dass Linux auch FAT-Partitionen nach der gleichen Strategie beschreibt wie ext2- und ext3-Partitionen. Wenn dies stimmt, dann ist es tatsächlich überflüssig, FAT-Partitionen zu defragmentieren, wenn diese ausschließlich oder überwiegend unter Linux beschrieben werden. Weiter gedacht würde das aber auch bedeuten, dass man seine ext3-Partitionen fragmentiert, wenn man von Windows aus mittels ext2IFS darauf schreibt ❓ Was stimmt nun wirklich? Gruß - Max-Ulrich
|
Lunar
Anmeldungsdatum: 17. März 2006
Beiträge: 5792
|
Max-Ulrich Farber hat geschrieben: Weiter gedacht würde das aber auch bedeuten, dass man seine ext3-Partitionen fragmentiert, wenn man von Windows aus mittels ext2IFS darauf schreibt ❓
Wieso? Nur weil der FAT-Treiber unter Windows fragmentiert, muss das doch noch lange nicht für den ext2 Treiber gelten. Nur weil unter Linux jeder Treiber die gleiche Strategie verwendet, muss das doch noch lange nicht für Windows gelten.
|
Max-Ulrich_Farber
(Themenstarter)
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7990
|
Nur weil der FAT-Treiber unter Windows fragmentiert, muss das doch noch lange nicht für den ext2 Treiber gelten. Nur weil unter Linux jeder Treiber die gleiche Strategie verwendet, muss das doch noch lange nicht für Windows gelten.
Das ist zweifellos richtig. Es muss nicht so sein. Aber es ist halt naheliegend...
|
Lunar
Anmeldungsdatum: 17. März 2006
Beiträge: 5792
|
Max-Ulrich Farber hat geschrieben: Nur weil der FAT-Treiber unter Windows fragmentiert, muss das doch noch lange nicht für den ext2 Treiber gelten. Nur weil unter Linux jeder Treiber die gleiche Strategie verwendet, muss das doch noch lange nicht für Windows gelten.
Das ist zweifellos richtig. Es muss nicht so sein. Aber es ist halt naheliegend...
Imho auch nicht wirklich... Immerhin gibt es - anders als bei FAT - für ext2 eine offene Referenzimplementierung, und Autoren von Windows-Treiber wären schon arg dämlich, wenn sie diese nicht heranziehen würden.
|