Defragmentimine: erinevus redaktsioonide vahel

Eemaldatud sisu Lisatud sisu
SlothX (arutelu | kaastöö)
Kustutatud kogu lehekülje sisu
Resümee puudub
1. rida:
[[File:FragmentationDefragmentation.gif|thumb|Kuvand failide killustatusest ja seejärel defragmentimisest]]
 
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öö.
 
 
==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.
# 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.
# Liigutame failile F järgnenud failid kaugemale, et tekitada failile F piisavalt ruumi. See operatsioon on samuti tihtipeale liiga ajakulukas.
# 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.