Defragmentimine: erinevus redaktsioonide vahel

Eemaldatud sisu Lisatud sisu
Resümee puudub
SlothX (arutelu | kaastöö)
Loodud lehekülje "Defragmentation" tõlkimisel
1. rida:
[[FilePilt:FragmentationDefragmentation.gif|thumbpisi|Kuvand failide killustatusestkillustumisest ja seejärel defragmentimisest]]
{{ToimetaAeg|kuu=mai|aasta=2016}}
'''Defragmentimine''' on protsess, mis vähendab killustatust. Seda tehakse füüsiliselt andmete ümbertõstmisel andmekandjal. Samuti üritatakse defragmentimisel tekitada üht või mitut suuremat vaba ala, kuhu edaspidiseid andmeid kirjutada. Osad defragmentimise tööriistad üritavad hoida väikseid faile ühes kaustas, kuna tihtipeale loetakse neid faile järjest.
[[File:FragmentationDefragmentation.gif|thumb|Kuvand failide killustatusest ja seejärel defragmentimisest]]
'''Defragmentimine''' on [[kõvaketas|kõvakettal]] asuvate andmete [[failisüsteemi fragmentatsioon|fragmentatsiooni]] vähendamine.
 
Defragmentimine on kasulik elektromehaaniliste kõvakettaste jaoks. Kui kõvaketta lugemispea peab liikuma ühest kõvaketta punktist teise, et lugeda ühte faili on kogu protsess aeglasem kui andmed järjestikku kirjutatud failide lugemisel.
Kõvakettad koosnevad pöörlevatest plaatidest, millele andmeid salvestatakse. Kõik kõvakettad jagavad oma kirjutatava ruumi järjestikku asetsevateks, teatud suurusega plokkideks. Kui andmeid, mis on oma mahult suuremad kui üks kõvaketta plokk, kirjutatakse kettale, siis operatsioonisüsteem püüab kirjutada need andmed üksteise järgi. Tihtipeale pole aga vabade plokkide arv piisav, et üks failiklaster üksteise järgi salvestada. Niimoodi juhtubki fragmenteerumine ja kui neidsamu andmeid tahetakse lugeda, siis peab kõvakettas füüsiliselt mitme erineva koha pealt neid andmeid lugema ja seetõttu aeglustub arvuti töö.
 
== Killustatuse põhjused ==
Killustatus tekib siis, kui [[Failisüsteem|faili süsteem]] ei saa või ei eralda piisavalt ruumi, et salvestada fail ühes täielikkus üksuses. Selle asemel pannakse fail kõvakettal asuvatesse lünkadesse teiste failide vahele. Kui see juhtub suurte failidega või väga paljude failidega siis see võib kaasa tuua ka jõudluse kao. Defragmentimine üritab eemaldada sellised probleemid.
 
=== Näide ===
[[Pilt:File_system_fragmentation.svg|paremal|400x400px]]
 
 
==Fragmentatsiooni tekke näide==
[[File:File system fragmentation.svg|right|400px|thumb|Fragmentatsiooni tekke näide]]
Vaatleme järgnevat näidet paremal asuva pildi abil.
Tühi kõvakettas on tekitanud kümne ühiku suurused plokid. Seejärel on kettale salvestatud järjestikku andmed A-st kuni E-ni kus iga andmefail kasutab tervet kümmet ühikut kõvaketta plokist (Näide 1 pildil). Juhul kui B andmed kustutataks, on võimalik kaks stsenaariumit. Kas liigutatakse kõik failid, mis jäid kettale, järjestikku ploki A järgi või märgitakse plokk B vaba ruumina, kuhu edaspidi uued failid kirjutada. Tihtipeale on järelejäänud faile liiga palju ja nende kõigi liigutamine oleks liiga ajakulukas. Seepärast märgitakse enamasti kustutatud failide plokid vaba ruumina (Näide 2 pildil). Kui nüüd tahetakse kirjutada kettale uus fail F, mis on 6 ühikut pikk, siis see fail kirjutatakse kustutatud faili B kümne ühiku plokki, kuhu jääb veel 4 ühikut vaba ruumi (Näide 3 pildil). Kui vajatakse kirjutusruumi nelja ühiku suurusele G failile siis see kirjutatakse F faili järele (Näide 4 pildil). Kui nüüd tekkis vajadus suurendada faili F mahtu siis samasse plokki kirjutamiseks ei ole ruumi. Sellest tulevnevalt tekivad järgmised faili kirjutamis võimalused.
#1. Kirjutame suurenenud mahuga faili F uude üksteisele järgnevasse plokki. See ei oleks võimalik kui kettal ei asu ühtegi vajaliku suurusega järjestikust plokki. Ning fail F võib olla nii suur, et vajalik operatsioon võtaks liiga kaua aega.
#2. Liigutame failile F järgnenud failid kaugemale, et tekitada failile F piisavalt ruumi. See operatsioon on samuti tihtipeale liiga ajakulukas.
#3. Salvestame faili F suurenenud mahu kuhugi ketta teise plokki ja märgime, et see fail F on osalt salvestatud mujale (Näide 5 pildil). See protsess hoiab salvestamisel aega hulgaliselt kokku, kuid sellise meetodiga salvestades on varsti väga palju väikseid failijuppe. Lugemise teeb see salvestamismeetod üsna aeglaseks, sest kõvakettas peab mitme erineva koha pealt seda faili lugema. 
 
Killustatus ei tähenda ainuüksi seda, et üksik fail asub mitmes erinevas kohas kõvakettal. Tihti loetakse grupp andmeid kindlas järjekorras (näiteks kindlad failid, mida programm vajab laadimiseks, selleks võivad olla meediafailid mängu jaoks) mida võib lugeda killustatuks kui nad ei asu kõvakettal järjestikus. Isegi kui need üksikud failid ise ei ole killustatud siis kõvaketta lugemispea peab ikkagi otsima need failid kõvakettalt üles. Mõningad failigruppid võivad olla isegi esialgu järjestukku salvestatud, kuid killustuvad kui faile kustutatakse nende failigrupist. Failide uuendused on väga tavalised killustatuse põhjused. Kuna faili uuendamiseks tavaliselt kustutatakse vanad failid kõigepealt ja siis salvestatakse uued andmed vanade asemele. Kuigi enamus failisüsteeme ei kirjuta uusi faile samma füüsilisse asukohta kuhu taheti. Seetõttu täituvadki vabad lüngad kõvakettal mitmesuguste teiste failidega. Windows-is kasutusel olev defragmenter eeldab, et samas kaustas olevad failid võivad olla teineteisega seoses ja neid vajatakse lugemisel koos.
 
Kõvaketta defragmentimiseks kasutatakse defragmentimise tarkvara. Kuid see tarkvara võib faile ringi paigutada ainult kõvaketta vaba osa ulatuses. See on väga intensiivne operatsioon ja seda ei ole võimalik läbi viia kettal kus on vähe või ültsemitte vaba ruumi. Defragmentsiooni ajal on süsteemi jõudlus piiratud ja kõige parem oleks kui arvutis ei tehtaks midagi niikaua kui protsess käib. Seda selleks, et defragmentimine ei satuks segadusse kui failisuurused üllatuslikkult muutuvad. Olenevalt programmi algoritmist võib suuremat kasu saada mitmekordsest järjestikusest defragmentimisest.
 
=== Partitsioneerimine ===
 
== References ==
{{Reflist|30em}}