Defragmentieren und Fragmentieren (Grundwissen)

  • Wie arbeitet ein PC-System und weshalb wird es im Laufe der Zeit immer langsamer ?


    Grundsätzliche Erklärung


    Stellt euch mal Folgendes vor:


    Ihr habt ein großes Bücherregal.
    In dieses Regal stellt ihr, fein säuberlich alphabetisch geordnet, alle Bücher hinein, die ihr habt.


    Wenn ihr nun einen Buchtitel sucht geht es sehr schnell.
    Doch ihr seid nicht sehr ordentlich.
    Ihr nehmt einige Bücher zum Lesen heraus und stellt sie danach wahllos in die entstandenen Lücken zurück.


    Dann kauft ihr euch neue Bücher... und auch die kommen einfach in entstandene Lücken oder hinter die anderen.


    Nach einiger Zeit werdet ihr immer länger brauchen, um ein bestimmtes Buch zufinden.


    Also wird es Zeit, mal wieder aufzuräumen.


    Ihr werft einfach alle Bücher, die nicht in die alphabetische Reihenfolge passen, auf einen Haufen.
    Anfangs geht es recht schnell.. alles steht in der richtigen Reihenfolge.
    Doch nun seid ihr am Ende angekommen und müsst den Haufen einsortieren... und DAS dauert dann sehr lange.


    -------------------------------------------------------------------------------

    Die Festplatte ist das "Bücherregal" des Computers.


    Auch er ist ein "Schlamper" und steckt die Bücher/Daten wahllos in vorhandene Lücken.


    Genau wie ihr, braucht er deshalb auch immer länger, um bestimmte Bücher/Daten zu finden.


    Und wenn er aufräumen soll, macht er es genauso wie ihr:
    Erst einmal alles, was nicht passt, nach hinten schieben und dann als Letztes einsortieren.


    Deshalb geht das Aufräumen auch anfangs sehr schnell.. und am Ende kann man kaum noch Fortschritte sehen.


    Der Befehl, der den PC zum "Aufräumen" bringt, nennt sich"defragmentieren".


    (Fragmentieren = Zerstückeln) + ("de" = rückgängigmachen) ... DieZerstückelung rückgängig machen.


    Je nach Windows-System kann man den Defragmentierungsbefehl über die Menüleiste erreichen oder in der Box "Ausführen" eingeben.


    Der Befehl lautet in der Regel "defrag.exe" oder einfach"defrag" (ohne Anführungszeichen eingeben)


    Wenn man dieses regelmäßig macht, sorgt man dafür, dass die
    Festplatte immer schön aufgeräumt bleibt und der PC deshalb nicht an
    Tempo verliert.


    Je mehr man Daten löscht oder verschiebt, desto eher ist eine Defragmentierung nötig.


    =============================================================


    Aktuelle Betriebssysteme müssen oft nicht mehr separat zum Defragmentieren "aufgefordert" werden.



    Seit Windows XP sind die Defragmentierungsaufgaben schon mit der Intallation automatisch eingestellt.


    Leider gibt es aber seit "damals" eine andere "Unsitte":
    Das System "bietet an", dass der Programmstart von oft benutzten Programmen beschleunigt wird.


    Im Gegensatz zur "klassischen Defragmentierung" (Daten werden numerisch und alphabetisch sortiert) werden jetzt aber die jeweiligen oft benutzten Programmgruppen in den vorderen Bereich der Festplatte verschoben.


    Da die CPU bei jeder Suche nach Dateien und Start von Programmen immer ganz von vorne beginnt, beschleunigt diese Einstellung wirklich die Ladegeschwindigkeit.


    Leider taugt dieses Verfahren aber nur so lange, wie man nur wenige Programme immer wieder benutzt.
    ----
    Jedes Mal, wenn ihr ein Programm öffnet, wird dieses mitprotokolliert und gespeichert.
    Am Ende eines Defragmentierungsintervalles werden dann diese Programme nach Vorne verschoben.


    Die Protokollierung benötigt im Hintergrund aber auch Rechenzeit und Power.
    Benutzt man immer wieder andere Programme, werden die Programme bei jeder Defragmentierung immer wieder verschoben.
    Diese Verschiebung wäre eigentlich also unnötig gewesen.


    Um Rechenpower und Defragmentierungszeit zu sparen, sollte man dieses Verhalten deshalb abschalten.


    ----
    Überlasst die Entscheidung, ob eine Defragmentierung nötig ist nicht dem Betriebssystem.
    Der unterste mögliche Wert ist 1% (der Daten)


    1% einer 1 GB-Platte sind 100 MB
    1% einer 10 GB-Platte sind 1 GB
    1% einer 100 GB-Platte sind 10 GB
    1% einer 1 TB-Platte sind 100 GB
    usw...


    Eine Defragmentierung von 1% bei einer heute üblichen 250GB-Festplatte sind also 25 GB. Das ist eine enorme Datenmenge !!!
    Und diese Daten liegen dann überall verstreut auf der Festplatte und müssen mühsehlich und zeitintensiv zusammen gesucht werden um ein Programm zu starten.


    Es dauert also immer länger.
    Mit dieser automatischen Einstellung/Vorgabe hätten wir also wieder das gleiche Problem wie bei "vor XP":
    Alles ist defragmentiert, man weiß aber nichts davon weil man sich auf die "falsche Information" des Betriebssystems verlässt.
    ----


    Durch die heutige Rechenpower kann dieser Vorgang auch automatisch
    und im Hintergrund ausgeführt werden ohne dass der User im Normalfall
    etwas davon merkt.



    Stellt die automatische Defragmentierung also so ein, dass NICHT die am Meisten benutzen Programme verschoben werden.
    Stellt sie so ein, dass NICHT überprüft wird, ob eine Defragmentierung nötig ist. Lasst sie zum gewählten Zeitpunkit auf jeden Fall ausführen.
    Startet die Defragmentierung zusätzlich manuell wenn ihr sehr viele Dateien installiert oder gelöscht habt.
    -----
    Bei sehr rechenintensiven Projekten kann dieses Grundwissen nützlich sein.


    Wenn die "komplette Power" für das Projekt benötigt wird, sollte
    man alle automatischen Vorgänge für die Dauer des Projektes
    unterbrechen.


    Nur dann kann man gewiss sein, dass der Rechner allein an diesem
    Projekt seine Ressourcen bindet - und nicht im Hintergrund an aktuell
    unnötigen Automatismen arbeitet.


    Copyrights by D.Handke
    Aktualisierung und Erweiterung der Versionen vom 26.12.2007, 28.09.2008

  • Wieder mal ein sehr netter und einfacher Artikel.
    Vor allem das Beispiel gefällt mir sehr gut. Besser als das im Tanenbaum (moment, da gabs kein Beispiel)

    [php]$this->Skills = "PHP, MySQL, C(++), Java, Linux, Windows, Netzwerke, Hardware, atmen, essen, küssen and many more";[/php]