Forum

Defragmentierung
Juni 10, 2009, 08:33:50
Ich habe eben auf SpiegelOnline etwas über die nicht vorhandene Defragmentierung bei Mac gelesen.


Zitat:

"Apple machte schon bei der Einführung am Montagabend klar, dass das neue Betriebssystem OS X 10.6 gezielt Microsofts Windows 7 attackieren soll. Dieses werde zwar viele Nutzer überzeugen, sagte Software-Chef Bertrand Serlet - es leide aber an denselben Grundschwächen wie Vorgänger Vista. Als Beispiele nennt er die Vielzahl der DLLs, die komplizierte Windows-Registry und die Fragmentierung von Festplatten. Alles Probleme, die es bei Mac OS X nicht gibt."


Nun kenne ich das nervende Defragmentieren noch aus alten Win-Zeiten.
Falls ich das damals richtig verstanden habe, hat das Löschen von Daten auf einem Win-Rechner zu einem Stück freien Speicherplatz geführt, der dann bei erneutem Speicherbedarf wieder beschrieben wurde. Programme, Daten... die größer waren als dieser frei gewordenen Speicherplatz, wurden auf viele kleine Stücke verteilt, was das System ausbremste.
Um das etwas zu verbessern, hat das Defragmentieren die leeren Speicherplätze zusammengefasst.
Richtig?


Wie wird das denn bei Mac gemacht?
Ist das grundsätzlich anders?

Re: Defragmentierung
Antwort #1: Juni 10, 2009, 10:01:08
Nein, das ist fast völlig gleich. :)

Es gibt aber prinzipiell zwei verschiedene Arten von Fragmentierung:
1. Die Fragmentierung einer Datei. D.h. die Daten einer Datei liegen nicht schön hintereinander auf der Platte und können in einem Rutsch gelesen werden, sondern sind eben aus den von Dir beschriebenen Gründen in mehreren Stücken auf der Platte verteilt. Wenn die Datei gelesen werden muss, muss also dder Lesekopf hin- und her springen.
2. Die Fragmentierung des freien Platzes. Aufgrund der von Dir beschriebenen Gründe liegen die freien Plätze verstreut auf der Platte und beim Laden von daten muss der Lesekopf weitere Wege zurück legen, als wenn die Daten näher beieinander liegen würden.
Soweit die Theorie, die immer wieder gerne beschrieben wird und eben auch sehr einleuchtend und gerade durch das Bild sehr einprägend ist.

Aber:
1. Die Fragmentierung von Dateien (1) kann tatsächlich zu einer Verlangsamung führen. OS X defragmentiert allerdings solche Dateien automatisch, wenn diese Dateien eine bestimmte Größe nicht überschreiten und diese zu stark fragmentiert sind. Die genauen Grenzen habe ich aktuelle nicht im Kopf (wofür auch?), sie wurden durch Versuche ermittelt, ab wann eine Defragmentierung dieser Datei, die ja auch Zeit kostet, lohnenswert ist.
2. Das schöne Bild gerade zur Fragmentierung des leeren Platzes hat heutzutage einige erhebliche Schönheitsfehler:
- OS X kopiert eigenständig häufig benutzte Dateien in den Bereich der Platte, die am schnellsten ist. Werden diese Dateien dann bei der Defragmentierung an eine andere Stelle kopiert, führt das dann zu einer Verlangsamung, bis OS X die wieder zurückkopiert.
- Heutige Systeme laden hunderte von Dateien parallel und eben in nicht vorhersehbarer Reihenfolge. D.h. auch wenn die Daten ohne Leerplatz dazwischen beieinander liegen, muss der Kopf ständig springen und ob dann Daten oder leerer Platz dazwischen ist, ist egal.
- Heutige Systeme speichern sehr viel in Caches, um eben die vielen Sprünge zu minimieren (sowohl in der Platte selber, als auch im RAM). Auch da ist dann der Effekt einer Defragmentierung des freien Platzes sehr gering.
- Und als Krönung: Die Reihenfolge der Sektoren, die man sich so vorstellt (1-2-3-4-5-6 etc.), muss nicht wirklich physikalisch so auf der Platte sein. Für die physikalische Verteilung ist die Festplatte selber zuständig und da bekommt der Rechner gar nichts von mit. Ist z.B. Sektor 3 kaputt gegangen, wird automatisch ein Ersatzsektor vom Ende der Platte genommen, ohne dass der Rechner etwas davon mitbekommt. D.h. wird nun Sektor 1-4 gelesen, dann muss die Platte zweimal hin- und herspringen.

Und noch:
Es gibt Messungen in der c't, die zeigen, dass eine Defragmentierung im Normalfall keinen merkbaren Geschwindigkeitsvorteil bietet.

Defragmentierung ist im Normalfall ein ähnliches Placebo wie das "Rechte reparieren".  ;D
_______
Was ist die Mehrheit? Mehrheit ist der Unsinn, Verstand ist stets bei wen´gen nur gewesen." -- Schiller

mbs

Re: Defragmentierung
Antwort #2: Juni 10, 2009, 10:22:40
Zitat
Um das etwas zu verbessern, hat das Defragmentieren die leeren Speicherplätze zusammengefasst.
Richtig?

Ja, alles richtig erklärt.

Zitat
Wie wird das denn bei Mac gemacht? Ist das grundsätzlich anders?

Das HFS+-Dateisystem von Mac OS X verwendet drei Techniken, damit manuelle Defragmentierungsläufe, wie man sie von Windows kennt, überflüssig werden: Fragmentvermeidung, Defragmentierung im Vorübergehen und selbstanpassende Gruppierung "heißer" Dateien.

1) Wenn Mac OS X beim Schreiben einer Datei im Vorhinein weiß, wie groß die Datei sein wird, sucht es automatisch einen genügend großen Freiraum und legt die Datei dann dorthin. Hierdurch wird das Fragmentierungsproblem größtenteils umgangen.

2) Falls Dateien "langsam wachsen", also nach dem ersten Anlegen immer wieder Teile hinten angehängt werden, funktioniert die Fragmentvermeidung nicht mehr. Ab 10.3 defragmentiert Mac OS X deshalb solche Dateien automatisch, wenn sie das nächste Mal geöffnet werden und folgende Bedingungen zutreffen:

- Die Datei ist in mindestens 8 Teile fragmentiert.
- Die Datei wird gerade nur von einem einzigen Prozess geöffnet.
- Die Datei liegt auf einem beschreibbaren Medium.
- Die Dateigröße beträgt höchstens 20 MB.
- Innerhalb der letzten Minute wurde die Datei nicht verändert.
- Das Betriebssystem läuft seit mindestens drei Minuten.

Hierbei wird die Datei einfach wieder in einen passenden Leerraum verschoben.

3) Durch Führen einer Statistik über die Häufigkeit der Lesezugriffe auf jede Datei identifiziert Mac OS X die am intensivsten genutzten Dateien und verschiebt diese in einen reservierten Bereich des Dateisystems, der sich direkt hinter den zentralen Verwaltungsdaten befindet. Bei dieser Verschiebung werden die Dateien defragmentiert und kommen in direkter Nachbarschaft der am häufigsten benutzten Elemente des HFS-Dateisystems zu liegen, so dass Kopfbewegungen der Platte minimiert werden.

Die Intensität des Zugriffs ergibt sich aus dem Quotient der Anzahl gelesener Bytes durch die Gesamtgröße der Datei innerhalb einer zurückliegenden Zeitperiode von 60 Stunden. Für das Verfahren werden 0,5% der Partitionsgröße reserviert. Maximal 5.000 Dateien dürfen an dem Verfahren teilnehmen, und nur Dateien, die kleiner als 10 MB sind.

Man liest leider sehr oft, Mac OS X hätte einen eingebauten Defragmentierer, der immer anspringt, wenn das System gerade nichts zu tun hat. Das ist allerdings Quatsch. Ich weiß nicht, wer dieses Gerücht verbreitet hat.
Re: Defragmentierung
Antwort #3: Juni 10, 2009, 10:42:29
Danke!

ich werde das nun noch einige male lesen, es dann hoffentlich komplett verstehen, dann auswendig lernen und mit dem Wissen angeben.

Euch werde ich dabei mit keinem Wort erwähnen. ;)
Re: Defragmentierung
Antwort #4: Juni 10, 2009, 10:46:38
Dank an mbs für die genauen Erläuterungen. Die exakten Details weiß ich halt nicht.

Man liest leider sehr oft, Mac OS X hätte einen eingebauten Defragmentierer, der immer anspringt, wenn das System gerade nichts zu tun hat. Das ist allerdings Quatsch. Ich weiß nicht, wer dieses Gerücht verbreitet hat.

Ich hoffe mal, Du meintest jetzt nicht mich. :)
Dass eine Datei nur defragmentiert wird, wenn auf sie zugegriffen wird, war mir bekannt. Allerdings die genauen und noch weitreichenderen Bedingungen, wie Du sie beschrieben hast, nicht.

Spreche ich mit Win-Usern, die gerne defragmentieren, dann ist denen meist die Defragmentierung der leeren Bereiche, also das Zusammenschieben der dateien, erheblich "wichtiger". Liege ich da mit meinen Vorbehalten oben richtig?
_______
Was ist die Mehrheit? Mehrheit ist der Unsinn, Verstand ist stets bei wen´gen nur gewesen." -- Schiller

mbs

Re: Defragmentierung
Antwort #5: Juni 10, 2009, 10:53:03
Zitat
Ich hoffe mal, Du meintest jetzt nicht mich.

Nö, nö, ich dachte da eher an bestimmte Internet-Sites und angebliche Fachzeitschriften.

Zitat
Liege ich da mit meinen Vorbehalten oben richtig?

Ja, volle Zustimmung.
Re: Defragmentierung
Antwort #6: Juni 10, 2009, 11:27:11
Danke!

ich werde das nun noch einige male lesen, es dann hoffentlich komplett verstehen, dann auswendig lernen und mit dem Wissen angeben.

Euch werde ich dabei mit keinem Wort erwähnen. ;)


Super Idee. Das mache ich auch  ;D
_______
«Das Internet? Gibt's diesen Blödsinn immer noch?»  (Homer Simpson)

Florian

  • Zurück in der Zukunft
Re: Defragmentierung
Antwort #7: Juni 10, 2009, 12:57:01
Serlet hat eigentlich auch gesagt, dass der Konsument (Consumer) nichts von Deframentierung wissen  müssen sollte und den Unterschied zu Windows schön demonstriert. Er hat nicht gesagt, am Mac gäbe es keine, auch wenn das manche Journalisten so auffassen - ganz im Sinne sicher von Apple.
_______
"If music be the food of love, play on!”
                         William Shakespeare