5
Eötvös Loránd Tudományegyetem Informatikai Kar Szakdolgozat Fájldefragmentáló algoritmus muködésének szemléltetése Készítette: Gulyás Péter Sándor programozó matematikus nappali tagozat Témavezeto: Kohegyi János mestertanár Budapest, 2007 1

Szakdolgozat - tnkcs.inf.elte.hutnkcs.inf.elte.hu/konyvtar/016-2007.pdf · Merevlemez 6 A merevlemez fizikai szerkezete 6 A merevlemez logikai szerkezete 6 Fáj lok tárolása 6 Töredezettségmentesítés

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Eötvös Loránd TudományegyetemInformatikai Kar

Szakdolgozat

Fájldefragmentáló algoritmusmuködésének szemléltetése

Készítette:Gulyás Péter Sándorprogramozó matematikusnappali tagozat

Témavezeto:Kohegyi Jánosmestertanár

Budapest, 2007

1

TARTALOMJEGYZÉK

Bevezetés ... ... ... 6Merevlemez 6A merevlemez fizikai szerkezete 6A merevlemez logikai szerkezete 6Fájlok tárolása 6Töredezettségmentesítés (Defragmentálás) 7Az algoritmus hatékonysága 7Két lehetséges alternatív megoldás 7

A diplomamunka tárgyát képezo algoritmus 8Néhány megszorítás, és elofeltevés: 8Az algoritmus 8Virtuális merevlemezek 12A program indítása ... 13A program muködése 13A program muködése 14

F.1 ", d k ' ., 21ej esztol o umentáelO ...........................

Osztálydiagram 21Objektumdiagram 22Szekveneiadiagram ......... 23Tfrm ret. ...... ...............26

Leírás 26Tagruggvények 26

FormCreate(TObjeet*Sender) 26btn_lepCliek(TObjeet*Sender) 26lbx_filesCliek(TObjeet*Sender) 26lbx_fragsCliek(TObjeet *Sender) 26feltolt_listbox(TAvlElem* akt) 26

Adattagok. 26btn_lep ......... .........26lbx files. 27bx_frags 27Panell 27Panel2. ...... ... 27dise 27

TVom 28Leírás 28Tagruggvények 28

TVom(TComponent* Owner,int top, int left,int sor,int oszlop) 28frag(int sorszam,TColor szin) 28frag(int tol,int ig,TColor szin) 28hatar(int sorszam) 28elearO 28eleje(int sorszam) 28

Adattagok 29sor 29

_oszlop 29

2

Tfrag 30Leírás ...... ......... ... ... ......30Tagruggvények 30

TFrag(int FileId, int FragId, int FragMeret, TFrag* Next, TFrag* Prev) 30TFrag(int FragMeret, TFrag* Next, TFrag* Prev) 30TFragO .. 30cut(intpos) ..... ... ... ......... ... 30kiemel() 30

Adattagok 30fileid 30fragid 3Ofragmeret .. ...... 30adr 31next 31prev 31fnext ... ......... 31fprev 31fileleiro 31kesz ... 31

TDisc... ...... ... 32Leírás... ... ...... ... 32Tagruggvények 32

TDisc(char* fname,TWinControl* Owner) 32-TDiscO 32append(int fileid,int fragid,int fragmeret) 32show().. 32show2() 32showfile(int fileid)... 32showfile2(int fileid).. 33showfrag(TFrag* frag,TColor szin) 33showfrag2(TFrag* frag,TColor szin) 33showfrag-pre(TFrag* frag,TColor szin,int db) 33showfrag-post(TFrag* frag,TColor szin,int db) 33illeszt(TFrag* frag,int elore,int vegere) 33initkeres(int fileid) 33keres()... ... 34masol(TAvlElem* file) 34takarit(TAvlElem* file) 34

Adattagok 34consol 34

_kep 34_eleje 34_vege 34

avlfa 34-prisor ... 35_foglalt 35

szabad 35hatar 35

_2eleje 35_2vege 35

3

_2avlfa 35_2kep 35_minfrag 35_minelore 35_minhatra 35_aktfrag 36_elore 36_hatra 36_minkolts.. 36...,presize 36...,pos 36_kellkeresni .............. ...... 36_file ...... 36_meret ... ... 36_hossz ......... ......... 36_aktkolts 37_first 37_last 37_fileid 37_lastvis .... ... ...... 37

TAvlElem 38Leírás 38Tagruggvények 38

TAvIElem() 38TAvlElem(TAvlElem* parent, int key) 38~ TAvIElem() 38

Ad~ttagok 38szulo 38jobb ...... ... 38bal 38kulcs ...38merleg 38frag 39lastfrag ... 39frneret 39tmozgkolts 39prinext ..... ......... ... 39

TAvlTree 40Leírás ... 40Tagruggvények 40

TAvITree() 40uresO ... ... ......40betesz(int key,TFrag* val) ... ...40get_fsize(int fileid) 40get_fsize(int fileid,TAvlElem* gyoker) 40torol(TAvlElem* akt) 41keres(int fileid) 41keres(int fileid,TAvlElem* gyoker) 41

Adattagok 41fa 41

4

_kep 41consol 41

TPriSor ... ...42Leírás 42Tagruggvények 42

TPriSor(TAvlElem* gyoker) 42-TPriSor() 42put(TAvlElem* file); 42get() 42empty() ............ ... 42olvas(TAvlElem* gyoker) 42

Adattagok 43_eleje 43_v~ge 43

Felhasználtszakirodalom 44

5