Defragmentation Research Paper

Status
Not open for further replies.

stevenhales

Beta member
Messages
5
Hi all. I am writing an academic paper on IT architecture and processes from an 'outsiderÂ’s perspective' (centred on the idea of innovation - "canÂ’t see the wood for the trees"). Can I ask for some help on the process of defragmentation. With the varying file systems (NTFS, Fat, FAT32) it is difficult to understand how a Defrag program can successfully negotiate disks. I understand the concept of fragmented data, how it becomes fragmented, and know how, in general, a defrag is supposed to help. However, can someone explain to me in detail, or give me any advise/help/URL's as to how a defrag program really works:: from the pushing of the defrag button (so to speak)
How does it identify fragmented files?
How does it locate fragmented files?
How does it store this information?
What is the defragmentation process? eg. Scan, document, relocate?
Is there any information already stored about fragmented files on a day to day basis, or is it one clean scan when defrag is run?
Are there separate processes depending on the Filing system/OS system?
Where are indexes and lookup tables located, and how are these referenced?


This paper is referenced on the basis of helpfulness of response and this site/people will be properly referenced. - Maxmadx@hotmail.com for E-mails to be included in its general release.

Thanks.
 
Just thinking about how Defrag works gives me a headache. I need some tylenol. Try a google search like jirwin suggested.
 
It analyzes everything that creats a temp data template I think.

Then it uses the analyzation to find the data.

If you look at the percentage bar, it sometimes jumps from 27 percent all the way to 60 %. The huge gap is probably the lag in reading what to defrag next.
 
k, here is an indepth (hopefully you can catch the meaning and I dont get alot wrong, but if memory serves this is true in all counts). First, understand how a file is writen. You have the hard drive and on there is a file system that knows the size of said hard drive. It sees the hard disk as a string, like 000000000 to ZZZZZZZZZZ or whatever. This is called Logical Cluster Number (LCN) and will start at 00000000 and end at ZZZZZZZZZZ. When an app creates a file the MFT (master file table) indexes it and contains a pointer to its location on the hard drive by its location via the LCN. The MFT contains the pointer of were the file data starts and where it ends on the drive (somewhere between 000000 and zzzzzzz, think your seeing a trend here ;) ). Anyhow, the ideal way of containment is for it to by contiguous, or start from one point and all data be contained in one chunk. However, over time what happens is the files become fragmented. So now, you have the MFT containing multiple indexes. So that said program will start at one point according to the MFT and then stop... say... midway, then continue elsewhere on the HDD. Well, the MFT contains pointers in the index on where the files are, so if it is fragmented it will have several starting indexes for the same program. What happens is defrag reads first the index, lays out a map of the HDD and figures where all files for the programs on the HDD are scattered at. It then will reorganize the HDD to put the abruptly cut off files from a fragmented state to a contiguous state. Defrag knows where these files that are scattered all over are located due to the MFT pointer in the index pointing to them.

Defrag also has to have a decent amount of HDD space left, reason is two fold. It uses the space to save info that needs to be manipulated, and also save the info of the file that is about to be shifted. As in, say you have a fragmented file that must be inserted where a contiguous file already exists. Well, the fragmented file is stored, the contiguous file is stored, the fragmented file is put where the old contiguous file is and the contiguous file is placed accordingly. Usually this bumps the next segment of data and it dominoes. Think about it like cutting in line. You cant just put something somewhere that is already occupied. So, you have to make room. Its hard to explain this without diagrams and pics, but hopefully you get the gist.
 
Status
Not open for further replies.
Back
Top Bottom