www.mikrocontroller.net

Forum: PC Hard- und Software Festplatte defragmetieren ohne Dateisystem zu kennen


Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ist es denkbar ein Programm zu schreiben, dass z.B. eine Festplatte 
defragmentieren kann ohne dass es das Dateisystem kennt?

Christian

Autor: Frank Schlaefendorf (Firma: HSCS) (linuxerr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein, das ist ein widerspruch in sich. ohne das dateisystem zu kennen, 
ist es nicht einmal möglich zwischen zufälligen und echten daten zu 
unterscheiden. ausserdem hängt es vom dateisystem und vom physikalischen 
trägermedium ab, ob eine defragmentierung überhaupt sinnvoll ist.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aus dem laufenden System heraus kann es möglich sein. Der 
Defragmentierer muss dann nicht die Filesysteminformation kennen, aber 
das Betriebssystem natürlich schon.

Wenn das Filesystem so gebaut ist, dass es frisch erzeugte und in einem 
Rutsch geschriebe Files mit möglichst wenig Fragmentierung anlegt, dann 
kann es ausreichend sein, sämtliche Files einfach umzukopieren. 
Vorausgesetzt allerdings, es ist genug zusammenhängender Freiraum 
vorhanden, d.h. bei 98% Füllgrad stehen die Chancen schlecht.

Grad so arbeiten beispielsweise Defragmentierer für NTFS. 
Filesysteminformation wird dabei nur verwendet, um rauszukriegen wo sich 
das lohnt (und für die hübschen Bildchen).

Autor: I_ H. (i_h)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moderne Dateisysteme defragmentieren sich selber solang etwa 5..10% frei 
sind (zB. reiserfs, ext3, jfs, xfs...). Das einzige fs das damit arge 
Probleme hat, ist Fat... weil m$ das uralte Ding ja unbedingt noch 
jahrelang einsetzen musste (stammt noch aus CP/M Zeiten). NTFS4 ist auch 
net gut darin.

Autor: Frank Schlaefendorf (Firma: HSCS) (linuxerr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
I_ H. wrote:
> Das einzige fs das damit arge
> Probleme hat, ist Fat... weil m$ das uralte Ding ja unbedingt noch
> jahrelang einsetzen musste (stammt noch aus CP/M Zeiten). NTFS4 ist auch
> net gut darin.

ooooch, sei nicht so gemein. da hat doch der user schön was zu tun und 
wenn er dann seinen defragmentierer durchlaufen lassen hat, dann kann er 
mit anderen winusern am stammtisch fachsimpeln, wie oft man das machen 
sollte und das der rechner jetzt plötzlich viel schneller ist und auch 
nicht so oft hängen bleibt.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Defragmentierung ist nicht identisch mit Vermeidung von Fragmentierung.

@I_ H.: Willst du damit sagen, dass all diese Filesysteme stark 
fragmentierte Files automatisch ohne weiteres Zutun umbauen? Da habe ich 
ich vielen Fällen so meine Zweifel.

Oder soll es nicht vielmehr heissen, dass moderne Filesysteme 
Fragmentierung vermeiden, indem Files beim Anlegen und Schreiben 
möglichs zusammenhängend anlegegt werden.

Insbesondere Files, die über Tage und Wochen immer und immer wieder mal 
ein Stückchen grösser werden, neigen auch auf solchen Filesystemen gern 
zu Fragmentierung. Das betrifft beispielsweise Logfiles, aber leider oft 
auch Datenbankfiles.

Autor: I_ H. (i_h)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
XFS ist ein extra für Datenbanken entwickeltes FS ;)

Bei Operationen auf Dateien wird möglichst zusammenhängend gearbeitet 
und auch zusammenhängende Bereiche frei gelassen, und bei Files die sich 
häufig ändern gleich etwas mehr Platz reserviert... im Detail sind die 
Techniken natürlich noch etwas komplizierter.

Irgendwo gab's mal ein Tool um den Fragmentierungsgrad von reiserfs oder 
ext3 zu messen, der bleibt immer nahe 0... solange die Platte nicht 
wirklich richtig voll ist.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
NB: Es gibt auch moderne Filesysteme mit starker Neigung zur 
Fragmentierung. Nämlich wenn das Hauptaugenmerk beim Design des
Filesystems ganz woanders liegt und sich eine spezifische Form der 
Fragmentierung als zwangsläufige Folge ergibt. WAFL von NetApp ist so 
eines. Ungeordnetes Schreiben in ein bereits bestehendes File (typisch 
für Tablespaces von Datenbanken) sorgt bei diesem für erhebliche 
Fragmentierung.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gemäss Wikipedia gibt es sogar für XFS von Haus aus ein 
Defragmentierungstool ;-).

Autor: I_ H. (i_h)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es defragmentiert sich aber trotzdem selber.

Btw. die home-partition auf'm Laptop:

Total files:      11498
Fragmented files: 2175
Fragments:        115501
18.9% non contiguous files, 10 average fragments.


Also 20%, wobei 10 Teile pro file noch absolut im Rahmen sind (ein ISO 
Image hatte zB. 100 Fragmente, je ~6MB). Root-Partition läuft gerade.

EDIT: und ist fertig:

Total files:      273646
Fragmented files: 8060
Fragments:        298800
2.9% non contiguous files, 1 average fragments. Weniger Fragmentierung 
weil die Dateien kleiner sind.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kann mir durchaus Filesysteme vorstellen, die selbst 
defragmentieren. Will dir damit also nicht widersprechen. Ich kriege 
bloss dieses Posting nicht damit in Zusammenhang. Der einfache 
Ist-Zustand eines Filesystems ist kein Beweis für Defragmentierung, 
sondern allenfalls für effektive Vermeidung von Fragmentierung.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.