AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Festplatte defragmentieren

Ein Thema von DelphiProgrammer · begonnen am 18. Feb 2014 · letzter Beitrag vom 20. Feb 2014
Antwort Antwort
Seite 1 von 2  1 2      
DelphiProgrammer

Registriert seit: 5. Apr 2013
Ort: Kennste eh net! wer weiss, wer weiss o.o
43 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Festplatte defragmentieren

  Alt 18. Feb 2014, 12:38
Hallo

ich hab mir mal wieder was ausgedacht:

Ich will mit Delphi meine Festplatte defragmentieren.
Geht das, wenn ja wie und gibt es dafür auch eine (kostenlose) Komponente?
Christopher
---------------------------------------------------
I ♥ Delphi
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: Festplatte defragmentieren

  Alt 18. Feb 2014, 13:00
Hihi, so "einfach" ist das nicht, dass man mal schnell ne Komponente aufs Formular zieht und dann auf Komponente.starteDefragmentierung() aufruft..

Zuerst einmal musst du rausfinden, welches Dateisystem (NFTS/FAT12/FAT16/FAT32/EXT/EXT2..4/....) auf der Festplatte, die zu defragmentieren ist, läuft. Dann musst du dich da erstmal reinarbeiten - du musst wissen, wie alles organisiert ist (Fragmente, Speicherblöcke, Headerdaten usw. usf.).
Anschließend musst du Objekte finden, die aus mehreren Fragmenten besteht, diese dann letzendlich zu einem einzigen großen Fragment zusammenfügen.. Dazu gibts auch verschiedene Möglichkeiten (siehe Wikipedia).

Ich weiß nicht, inwiefern nicht betriebssystemeigene Anwendungen bei laufendem Betrieb eine Defragmentierung durchführen können.. Ganz sicher gehts, wenn du eine externe Platte defragmentieren willst, da dieser ja nicht grad gebraucht wird und somit nicht "läuft".

Deine Frage ist übrigens auch nicht klar - willst du den Prozess der Defragmentierung selber programmieren oder willst du einfach die systemeigene Defragmentierung automatisieren indem du es in deiner Anwendung ausführst? Zweiteres ist definitv einfacher und sollte eig. per Recherche leicht zu finden sein.. Ich gehe aber vom ersteren aus daher die lange Erklärung.

Edit: Am besten ist es natürlich, sich sein eigenes Dateisystem auszudenken. Das Projekt kann von einfach bis zu höchstkomplex gestaltet sein - einfach im Sinne von keine Sicherheitsvorkehrungen wie z.B. Journaling oder Locking..
Solch ein Projekt habe ich damals zeitgleich mit olee programmiert. Da er seins hier veröffentlich hat und unsere Projekte mehr oder weniger ident sind, habe ichs nicht getan..
Schaus dir mal an!
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG

Geändert von Aphton (18. Feb 2014 um 13:06 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.587 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Festplatte defragmentieren

  Alt 18. Feb 2014, 13:33
Hier ist der Einstieg in die Defragmentation API von Microsoft:
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

Die meisten Tools, die heute auf dem Markt erhältlich sind, nutzen diese. Es gibt nur wenige, die wirklich selbst die komplette Defragmentierung durchführen (wenn überhaupt noch, ich kenne keins).
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#4

AW: Festplatte defragmentieren

  Alt 18. Feb 2014, 13:34
Sind die Zeiten, in denen mal seine Festplatte defragmentieren muss nicht lange vorbei?

Das letzte mal dass ich eine Festplatte defragmentiert habe ist bestimmt 10 Jahre her. Jedes halbwegs gescheite Dateisystem heutzutage sollte wohl selbst defragmentierend sein. Zumindest unter Linux ist das lange schon kein Problem mehr.

Macht man das unter Windows echt immer noch? (gemeint ist natürlich NTFS, bzw. zumindest nicht FAT)
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#5

AW: Festplatte defragmentieren

  Alt 18. Feb 2014, 13:57
Bei WINDOWS 8 heisst der Dienst Laufwerke optimieren.
Der Service heisst defragsvc und wird 1x /Woche automatisch gestartet, wenn er nicht aus dem Taskplanner/Aufgabenplanung gelöscht wird.
Bei WINDOWS 7 ist das auch so.
Manuell kann man DFRGUI.EXE starten. -> siehe Anhang.
-
Auch Dateisysteme unter Linux weisen Fragmentierung auf, wenn auch nicht in einem solchen Maßstab (und mit solchen Auswirkungen), wie z.B. unter Windows mit FAT32 oder NTFS als Dateisystem.

Der geringen Grad der Fragmentierung ist primär dadurch bedingt, dass Dateisysteme wie z.B. ext3 und insbesondere ext4 ausgeklügelte Schreibstrategien und Datenträgeraufteilungen verwenden, um Fragmentierung zu vermeiden. Dazu gehören u.a. das Cachen von Schreibvorgängen und das Vorbelegen von Blöcken auf dem Datenträger. Trotzdem ist Fragmentierung nicht ausgeschlossen, besonders nicht auf Systemen mit sehr vielen Schreib- und Löschvorgängen wie z.B. Datenserver. Sehr anfällig sind auch volle Dateisysteme, da unter Umständen gar keine zusammenhängende Lücke vorhanden ist, in den eine neue Datei vollständig hineinpasst.

Allerdings sei auch gesagt, dass ein Fragment-freies Dateisystem nicht zwingend die optimale Schreib-/Lesegeschwindigkeit bringt. Oft wird eine (große) Datei nicht komplett linear eingelesen, sondern der Vorgang wird unterbrochen, weil z.B. das Betriebssystem eine andere Datei "zwischendurch" anfordert. In solchen Fällen ist es (fast) egal, ob eine Datei in mehrere Teile geteilt ist, da durch die Unterbrechung der Schreib-/Lesekopf ohnehin neu positioniert werden muss.

http://wiki.ubuntuusers.de/Defragmentierung
Miniaturansicht angehängter Grafiken
dfrgui.jpg  

Geändert von hathor (18. Feb 2014 um 14:49 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#6

AW: Festplatte defragmentieren

  Alt 18. Feb 2014, 14:26
Sind die Zeiten, in denen mal seine Festplatte defragmentieren muss nicht lange vorbei?
Defragmentieren hat nicht nur was mit "Tempo" zu tun.

Auch in Bezug auf eine eventuelle Datenrettung sind Fragmentierte Dateien wesentlich besser, da man fragmentierte Dateien fast garnicht mehr zusammen bekommt, wenn die nötigen Zusammengehörigkeitsinfos (ala VolumeBitmap) defekt sind.



Aber bei SSDs und anderen dynmisch adressierten Speichermedien bringt das natürlich auch nicht viel.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#7

AW: Festplatte defragmentieren

  Alt 18. Feb 2014, 14:47
Für SSD ist Defragmentierung überflüssig und ausserdem verboten.
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#8

AW: Festplatte defragmentieren

  Alt 18. Feb 2014, 15:25
Aber bei SSDs und anderen dynmisch adressierten Speichermedien bringt das natürlich auch nicht viel.
Der ist gut ... gerade bei Flashspeichern ist es schädlich zu defragmentieren. Und solche Speicher (und Hybriden) werden sicher noch zunehmen.
Was die Datensicherheit betrifft, sollte man lieber die Zeit in ein Backup stecken.
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#9

AW: Festplatte defragmentieren

  Alt 18. Feb 2014, 15:36
Nun ja, die Frage nach dem Sinn von Defragmentierungsprogrammen heutzutage darf man sich ruhig stellen. Da wäre zuerst das Windows das im Grunde permanent irgendwie auf die Platte zugreift. Schon alleine die Registry wird permanent geändert. Und dann noch die zig Logs und sonstiges an das man gar nicht denkt. Defragmentierung war unter DOS sinnvoll, Windows macht alles durcheinander. Im Grunde ein Partition für das OS und eines für die Daten. Dann kann man gelegentlich die Daten defragmentieren (wenn man große Daten, wie z. B. Videos hat).
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#10

AW: Festplatte defragmentieren

  Alt 18. Feb 2014, 15:53
SSDs halten schon ganz schön viele Schreibzyklen aus ... selbst mit Defragmentieren sollten die noch paar Jahrzehnte durchhalten.

Und wenn man mal einen DEFRAG-Befehl (so wie beim TRIM) einführt ... soooooo schnell hätte man dann noch nie defragmentiert.


Viele kleine defragmentierte Blöcke, bei häufig bearbeiteten Dateien, sind genauso schädlich.
Da ist es nach dem Defragmentieren besser, wenn dann wieder "komplette" Blöcke zusammenhängend geschrieben werden können.
-> Solange die Sektor-/Clustergröße nicht den Speicherblöcken der SSD entsprechen.

Wobei es dort ja reicht, wenn nur die nötigen Dateien neu angeordnet (defragmentiert) werden und es da egal ist, wo die auf dem Datenträger landen, denn Alles an den Anfang ist bei SSD ja vollkommen nutzlos.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz