Defragmentimine: erinevus redaktsioonide vahel

Eemaldatud sisu Lisatud sisu
Koondasin skripti abil viited
P litsenseerima > litsentseerima
13. rida:
 
Vaatleme järgnevat näidet paremal asuva pildi abil.
Tühi kõvakettaskõvaketas 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 tulevnevalttulenevalt 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.
20. rida:
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üllatuslikult muutuvad. Olenevalt programmi algoritmist võib suuremat kasu saada mitmekordsest järjestikusest defragmentimisest.
 
 
== Killustatuse vastumeetmed ==
 
Andmete killustatuse vähendamiseks kasutatakse kõvaketta partitsioneerimist selliselt, et pidevalt loetavad ja kirjutatavad failid salvestatakse tihti kustutavatest failidest kaugemale. Näiteks Temp -kaust ja veebibrauseri vahemälu, kuhu tekivad tuhanded failid, mis kustutatakse mõne päeva pärast. Kui kasutaja profiilid hoitakse eraldi partitsioonil (nagu seda on UNIX-i operatsiooni süsteemisoperatsioonisüsteemis, kus profiilid on salvestatud /var partitsiooni), siis defragmentimine toimub kiiremini kuna siis ei pea töötlema kettal alalisel asetsevaid faile. Kui partitsioonis toimub vähe salvestamist, siis defragmentimise programm ei pea järgmine kord nii palju faile töötlema.
 
==Kasutaja ja jõudluse probleemid==
Tänapäevastes mitme kasutajaga operatsioonisüsteemdes, tavakasutajal ei ole õigusi defragmentida kõvaketast. Defragmentimiseks on vaja andministraatori õigusi. Samuti on kasutusel failisüsteemid nagu NTFS mis on kujundatud sedasi, et vähendada killustatuse teket.<ref name="yRDVn" /><ref name="6EHba" /> Täiustused moodsates kõvaketastes nagu näiteks RAM -vahemälu, kiirem plaadi pöörlemine püüavad vähendada killustatuse mõju, kuid suurenenud andmehulkade kasutus on need tasakaalustanud. Mahtude kasv üldkasutatavates kõvaketastes on aidanud kaasa killustatuse vähendamisele, kuna pooltühjad kõvakettad killustuvad vähem kui täis salvestatud kettad.<ref name="piHdI" /> Samuti omab suure mahuga kõvakettal sama suur partitsioon vähem silindreid ja seega aitab kaasa kiiremale andme ligipääsule.
 
===Flash mälud vs tavalised kõvakettad===
Kui andmeid loetakse tavaliselt kõvakettalt siis kõigepealt peab kontroller aeglaselt paigutama lugemispea õigele rajale ja sis ootama, kuna ketta õige koht jõuab lugemispeani. Pooljuhtkettad loevad andmeid mikrokiipidest ja seetõttu on nad kiiremad kuna neis puuduvad liikuvad osad. Seega on defragmentimine pooljuhtketaste puhul ebasoodne. Pealegi on pooljuhtketaste limiteerivaks faktoriksteguriks see, et neneleneile saab kirjutada kindel arv kordi. Seega on defragmentimine isegi kahjulik pooljuhtketastele.
 
==Windows-iWindowsi süsteemitaaste punktid võivad kustuda defragmentimise käigus==
Enamus defragmentimise programmid ja optimeerijad võivad Microsoft Shadow Copy vanimad taastepunktid kustutada. Kuna Shadow Copy peab meeles suurte failide liigutamist defragmentija poolt, siis võib Shadow Copy-leCopyle antud maht ületada lubatud norme ja tänu sellele kustuda vanu taastepunkte niikaua, kuni etteantud maht saavutatud.<ref name="YNocY" />
 
==Defragmentimine ja optimeerimine==
Lisaks defragmentimisele programmi faile, vähendab defragmentimise tööriist ka teiste programmide laadimiskiiruseid. Näiteks Windows 9x defragmentijas on kaasatuskaasatud Intel Application Launch Accelerator, mis optimeerib programmid kettal, pannes defragmenditud programmid ja nendest sõltuvad programmid laadimise järjestuses. Kõvaketta välimised rajad suudavad andmeid edastada kiiremini. Sellepärast paigutatakse tihti kasutatavad failid väilstelevälistele radadele, et parandada jõudlust.<ref name="ZZW4M" /> Kolmanda poole defragmentimise tööriist nagu näiteks MyDefrag, viib tihti kasutatavad failid välistele radadele ja siis alles defragmendib need.<ref name="9nrjK" />
 
==Defragmentimise viisid faili tüüpidefailitüüpide järgi==
* FAT: MS-DOS 6.x ja Windows 9x süsteemid tulevad koos sellise defragmentimise tööriistaga nagu Defrag. DOS versioonis on piiratud kasutamisega Norton SpeedDisk defragmentija.<ref name="wZTTs" /> Selle versioon mis tuli koos Windows 9x oli litsenseeritudlitsentseeritud Symantec Corporation-iltCorporationilt ja versioon mis tuli koos Windows 2000 ja XP-ga oli litsenseeritudlitsentseeritud Condusiv Technologies-iltTechnologiesilt.
* NTFS: oli tutvustatud koos Windows NT 3.1-ga, kuid NTFS failisüsteem ei omanud siis ühtegi seadmedraiverit ja seetõttu ei olnud seal ka defragmentimise võimalust.<ref name="92Tsc" /> Windows NT 4.0-igaga tuli kaasa kolmanda osapoole defragmentimise rakendusliidesed. Kuid ühtegi defragmentimise tööriista ei olnud lisatud. Windwos 2000, Windows XP ja Windows Server 2003 omasid defragmentimise tööriista, mis oli Diskeeperi baasil, see tööriist kasutas ära eelnevalt lisatud defragmentimise rakendusliidest.<ref name="JsvjP" /> Windwos Vista, Windows 7 ja Windows 8 defragmentimise tööriist oli rohkesti täiendatud ja omas uut kasutajalidestkasutajaliidest.<ref name="ZIfaU" /><ref name="WkX3H" /> Samuti on saadaval kolmanda osapoolte defragmentimise tööriistu Microsoft Windows operatsioonisüsteemidele.
* BSD UFS ja eriti FreeBSD kasutavad sisemist ümberjagajat, mis otsib võimalust killustatust vähendada hetkel, kui andmeid salvestatakse kettale.<ref name="7lUN9" /> See suudab efektiivselt hoida süsteemi degredeerumisestdegradeerumisest pikaajalisel kasutusel.
* Linux ext2, ext3 ja ext4: Sarnaselt UFS failisüsteemile kasutavad lahendusi, mis püüavad hoida ära killustatust jooksvalt.<ref name="XtmMi" /> Sellest tulevnevalt ei ole defragmentimine enamjaolt vajalik.<ref name="rLqbk" /> Ext2 kasutab e2defrag defragmentimis tööriista-defragmentimistööriista, mis rakendub arvuti väljalülitamisel.<ref name="KtpSl" /> See tööriist aga ei ühildu ext2-he järeltulija ext3-e failisüsteemiga. Ext3-ess kasutatakse teisi failisüsteemist sõltumatuid defragmentimise tööriistu, mis töötavad ka tahapoole ühilduvas ext4-jass. Tänapäeval on võimalik kasutada e4defrag defragmentimise tööriista ext4 failisüsteemis.
* VxFS: See failisüsteem omab fsadm -tööriista, kuhu on lisatud defragmentimise tööriist.
* JFS: Omab defragfs tööriista IBM operatsioonisüsteemides.<ref name="UhoWR" />
* HFS Plus: Seda failisüsteemi kasutas Mac OS 8.1 mis toodi turule aastal 1998. Selles failisüsteemis on kasutusel mitmed optimeerimis algoritmid ning selletõttu puudub eraldiseisev defragmentimise tööriist.<ref name="FBV5K" /> Faile püütakse defragmentida samal ajal kui neid kasutatakse. See toob endaga kaasa mitmeid piiranguid failide defragmentimiseks (kaasaarvatud maksimum failisuurus 20 MB). Koos OS X 10.3 väljalaskega on võimalus kasutada iDefrag defragmentimise tööriista Coriolis Systems-iSystemsi poolt.
* WAFL: See failisüsteem on kasutusel NetApp-iNetAppi ONTAP 7.2 operatsioonisüsteemis ja selles on võimalik suuri faile defragmentida kasutades käsklust reallocate.
* XFS: Omab interneti põhistinternetipõhist defragmentimise tööriista xfs_fsr.
* SFS: On võimeline faile defragmentima isegi siis kui failisüsteem on kasutusel.
* ADFS: Failisüsteem mis oli kasutusel RISC OS ja varastes Acorn Computers-itesComputersites. Siin hoitakse faile killustumast jooksvalt ja seetõttu ei vaja käsitsi defragmentimist.
 
==Kirjandus==