Defragmentator dysku

0

Czy ktoś zna kod źródłowy w delphi defragmentatora dysków, lub jakieś linki z góry dzięki. Pozdro.

0

Ehh. czy nie można samemu pisać aplikacj ? Tylko marudzićkto ma cały kod, kto da... ehhh

0

Ehh. czy nie można samemu pisać aplikacj ? Tylko marudzićkto ma cały kod, kto da... ehhh

No to może powiesz na jakiej zasadzie działa defragmentator? Tzn. nie. Powiedz, jak zabrać się za pisanie czegoś takiego. Co trzeba robić, zeby przenosić odpowiednie dane w odpowiednie miejsca?

0

akurat defragmentacja dysku to jak dla mnie trudna rzecz. Wydaje mi się, że trzeba operować na poszczególnych sektorach i bawić się z tablicą alokacji plików. czyli niezbędny jest asm. Większość defragmentatorów to ponadto narzędzia płatne, wątpię aby ktoś udostępniał źródła.

0

Rozwiązanie problemu jest wbrew pozorom banalne. Piszesz program, który najpierw wysyła cały dysk usera na jakiegoś Twojego FTP'a, następnie go czyści, a potem ściąga dane plik po pliku i nagrywa z powrotem. Dysk będzie zdefragmentowany.

0

na pewno bez własnego sterownika się nie obejdzie. A jesli chodzi o rozwiazanie to proste, trzeba tylko poprzestawiac tak klastry zeby plik byl caly po kolei a nie porozrzucany po partycji.

0

Problem z tym zeby wlasnie ulozy ten plik w calosc. Bo dobrze przeciez wiemy ze jeden plik (np. 100MB) moze byc rozrzucony na poszczegolnych alokacjach w roznych czesciach taleza.
Sęk w tym zeby ten plik zebrac i ulozyc na sasiadujacych klastrach, z ktorych z kolei trzeba przeniesc dane ktore moga byc na nich zapisane, i sa one czescia znowoz innego pliku i tak w kolo.
Najlepiej bylo by odczytac to co jest w danym klastrze - zapisac gdzies - zapisac na ten klaster czesc porzadkowanego pliku - zaczac ukladac plik ktorego czesci istnialy na zapisanych wlasnie klastrach.
Kurna ale namieszalem :/ Mam nadzieje ze ktos mnie zrozumie(wrazie czego post poleci.. )

Btw. Moim skromnym zdaniem, pomysl z FTP jest chory, zwlaszcza jezeli ktos ma <ort>loncze </ort>80Kb/s - defragmentacja 100GB trwala by troche dlugo.

0

Moim skromnym zdaniem, pomysl z FTP jest chory

A według mnie jest absurdalny !

Zapewne gdzieś w MSDN-ie są opisane jakieś niskopoziomowe funkcje dostępu do dysków twardych, ale nidgy się tym nie zajmowałem i niestety nie mogę pomóc.

0

mr.hex, jack, spokojnie, za bardzo się podniecacie. Vogel podał tylko najprostszy sposób, wiadomo, że nikt nie będzie tak przeprowadzał defragmentacji.

//poza tym - jak znam Vogela - to była ironia spowodowana porwaniem się niedoświadczonego usera na zbyt trudne dle niego zagadnienie :) - M

0

Więc : Najpierw ładujesz FAT do pamięci(jak chcesz info to ściągnij sobie helpa z neta) i analizujesz poszczególne pliki tam zapisane : Masz sobie plik 100MB i 50Kb. Defragmentujesz tego 100MB(bo początek pliku zwykle ma największe rozmiary) przenosząc inne dane(innych plików) w wolne miejsce na dysq i zmieniając Fat tak, aby te pliki :
1.Były w całości
2.Wskaźniki w FAT wskazywały na nie.

Teraz przelatujesz w Tablicy pliku, gdzie są te części, kopiujesz je w odpowiednie miejsce i masz zdefragowany plik. Jeśli szukasz szybszej metody spytaj profesjonalistów:D

0

Nie jest w Pascalu ale moze na cos sie przyda:
http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/defrag/

Defrag z pakietu FreeDOS

1 użytkowników online, w tym zalogowanych: 0, gości: 1