Defragmentering är processen att omfördela fragment av filer och logiska strukturer av filsystem på diskar för att säkerställa en kontinuerlig sekvens av kluster .
När det gäller att använda hårddiskar , på grund av defragmentering, påskyndas läsning och skrivning av filer, och därför driften av program och operativsystemet . Detta uppnås på grund av det faktum att läsningen av filer efter defragmentering utförs så linjärt och kontinuerligt som möjligt, utan ytterligare rörelser av hårddiskhuvudet för att söka efter och återförena fragment.
Solid-state-enheter och flash-enheter baserade på olika typer av flashminne behöver inte defragmentera filsystem. Dessutom skadar defragmentering flashminnet i viss utsträckning, eftersom det senare har ett mycket mer begränsat antal skriv-/omskrivningscykler än magnetiska diskenheter när de används på rätt sätt.
Datafragmentering - dela upp en fil i fragment av olika storlekar för skrivning till olika (icke på varandra följande) områden på hårddisken. Fragmentering används som regel när det är nödvändigt att skriva en stor fil till en disk där det inte finns tillräckligt med kontinuerlig volym, men det totala lediga utrymmet är tillräckligt (till exempel på grund av radering av tidigare inspelade filer).
Fragmentering av filsystemet är i sin essens en kompromiss mellan enkelheten och hastigheten för den initiala dumpningen av data till disken och hastigheten och följaktligen lättheten att läsa samma data i framtiden (vilket förresten, kanske inte inträffar särskilt snart när det gäller processortid ).
Dessutom är fragmentering en konsekvens av den aktiva driften av filsystemet och datorn som helhet, baserat på ovanstående skäl.
Särskilda tillfällenSärskilt anmärkningsvärt är den avsiktliga fragmenteringen av SSD:er av deras kontroller på fysisk nivå, vilket faktiskt har en klart fördelaktig effekt (se Fragmentering av Flash på fysisk nivå ).
När det finns många fragmenterade filer minskar hastigheten på enheten (särskilt en hårddisk eller diskett ) med fragmenterade filer, eftersom det finns förseningar i den fysiska rörelsen av hårddiskhuvudet mellan delade fragment [1] . Dessutom saktar den allmänna fragmenteringen av hårddisken ner inte bara hastigheten för att arbeta med befintliga filer, utan saktar också som regel avsevärt ned skrivningen av nya.
Utvecklare av tredjepartsverktyg försöker förse användare med olika algoritmer och defragmenteringsregler.
Separat är det värt att förklara den tidigare nämnda defragmenteringen vid Windows -start [5] . För närvarande är endast viktiga systemfiler defragmenterade. Användaren har som regel inte möjlighet att kontrollera denna process. Saktar ner processen att starta operativsystemet något, men eliminerar praktiskt taget en betydande ökning av starttiden i framtiden, till exempel efter en framgångsrik systemuppdatering. Om du inaktiverar det här alternativet via Windows-registret kommer OS-starttiden att minska något till en början, men med tiden kan den snabbt öka med aktiv användning av datorn, även om vanlig allmän defragmentering utförs med OS-verktyg (särskilt på Windows XP och nedan), eftersom de flesta systemfiler kan skyddas från direkt åtkomst under systemdrift, eller så är klassisk defragmentering inte så viktig för dem.
För att sammanfatta ovanstående begränsningar kan defragmentering av vissa filer (till exempel växlingsfilen eller registerfiler) inte ske under direkt drift av systemet (utan ytterligare "justeringar" [6] av systemregistret ). För sådana ändamål kan du använda multiboot-verktyg , ändra registret eller defragmentera dessa filer från ett annat operativsystem (till exempel Linux ).
Defragmentering krävs oftast för filsystem som File Allocation Table (FAT16, FAT32) för MS-DOS och NTFS operativsystem för Microsoft Windows , eftersom program för att arbeta med dem vanligtvis inte internt tillhandahåller något sätt att förhindra fragmentering (med sällsynta undantag är KillCopy och TeraCopy [7] ), och det visas ofta även på en nästan tom disk och en liten filladdning.
Vissa filsystem ger inbyggd fragmenteringsminskning (se Fragmentering i ext4 ) samtidigt som de bibehåller anständig disk- och journalprestanda (se Journalföring i ext4 ). Ett exempel på ett sådant filsystem är ext4 , dock är fullt stöd och arbete med det endast möjligt från Linux- miljön (se support för ext4 ).
Fragmentering är inte nödvändigtvis negativt. Ibland används det avsiktligt för att öka livslängden på SSD - det är här trimkommandot kommer in i bilden . Det är värt att tänka på att fragmentering kan övervägas på olika nivåer: på filsystemnivå (logisk) och på enhetsnivå (fysisk, endast SSD-styrenheten är ansvarig för det , se Mikrokontroller ). Ofta är användaren av en SSD inte ens medveten om sådan fragmentering, och den används för att jämnt slita ut enhetens minnesceller (se Slitageutjämning ). Men även på solid state-enheter tenderar Windows 8 och senare (i vissa fall) att defragmentera på filsystemnivå [8] . Det är dock så sällsynt att du inte bör oroa dig för det - resursen för moderna SSD: er är mycket hög, och operativsystemets stabilitet är extremt viktig för nästan alla användare.
HårddiskhälsaFörutom att sakta ner datorn i dess filoperationer (som läsning och skrivning), påverkar kronisk filfragmentering hårddiskens "hälsa" negativt, eftersom det gör att skivans positioneringshuvuden hela tiden rör sig, vilket utför läsning och skriva data. Detta kan förkorta livslängden för den rörliga huvudenheten och öka temperaturen inuti hårddisken , vilket kan leda till ännu snabbare slitage av hårddiskens hårdvara.
För flashminne och dess styrenhetFlashminne är ett direktåtkomstminne, där åtkomsttiden till en cell är relativt liten och densamma oavsett dess adress , och skriver data i det så kallade scattershot-läget, när endast minneskontrollern själv vet om den verkliga platsen för fragmenten. Dessutom tål halvledarenheternas celler bara ett begränsat antal skrivcykler, så att utföra en normal defragmentering på flash-enheter och SSD -enheter är inte bara ineffektivt, utan också skadligt på vissa sätt [9] . Defragmenteringsprogram kan påskynda prestandan för en SSD , men utan att tillgripa den klassiska defragmenteringen av filsystemet (eller minimera det) [9] .
TemperaturkontrollSom förklarats ovan, även om SSD- fragmentering är av dubbel karaktär (på grund av en viss begränsning av omskrivningsresursen), bör man inte glömma ett mycket viktigare fenomen, såsom en ökning av temperaturen på minnescellchipsen och, särskilt, kontrollmikrokontrollern . _ _ Detta är ytterligare ett skäl till att vidta omfattande åtgärder (till exempel kompetent kabelhantering och lämplig datorkylning ) för att förbättra tillståndet för enheter under systemdrift, och inte bara föra register över registrerade data [10] .
För att eliminera fragmentering finns det speciella verktyg (defragmenteringsprogram), vars princip är att "samla" varje fil från dess fragment och sedan placera den i den mest fördelaktiga positionen för operativsystemet och användaren. En vanlig nackdel med sådana program är att de fungerar långsamt - defragmenteringsprocessen kan ta mycket lång tid (upp till flera timmar). För solid-state-enheter finns det ett speciellt kommando som optimerar arbetet utan att behöva sortera om filfragment - trim .
Trots det faktum att det finns ganska intelligenta program bland program av detta slag, kan en bra defragmentering (för en icke-systemenhet) göras på egen hand. För att göra detta räcker det att skapa en ny partition med filsystemet på disken och sedan helt enkelt kopiera filerna som kommer att lagras på den till denna logiska disk . Under sådan kopiering till en tom disk skrivs data sekventiellt, med liten eller ingen fragmentering. Dessutom tar processen att skriva filer flera gånger kortare tid än att defragmentera med program.
Kunskap om filstrukturen och principerna för hårddiskdrift hjälper till att kraftigt minska filfragmenteringen på grund av korrekt organisation av användarens arbete. Denna organisation består i det faktum att de filer som är tänkta att lagras under lång tid först skrivs till en tom disk: favoritfilmer, arkiv, musik. Samma filer som inte är planerade att lagras under lång tid, det är bättre att skriva till slutet av disken: att ta bort dem kommer inte att orsaka uppdelning av andra filer. Men detta tillvägagångssätt är väl tillämpbart endast på icke-systemenheter (och, i mindre utsträckning, på olika partitioner av samma enhet; detta beror både på den relativa fysiska platsen för data på magnetiska diskar och på den frekventa begränsningen av antalet av partitioner med MBR -partitionsstilen som fortfarande efterfrågas [ 13] ), och defragmentering av systempartitionen är fortfarande effektivare och lättare att utföra med speciella verktyg.
Andra hjälpmetoderDet hjälper att använda en separat partition och/eller volym [14] [15] för ofta modifierade . Till exempel, i Unix-liknande operativsystem placeras ofta användardata och inställningar ( /home directory ), temporära filer (/tmp), protokoll , cachar , etc. (/var) på separata partitioner ; se även FHS .
Windows 7 och högre med vissa inställningar [16] kan defragmentera, optimera systemfiler, planerat underhåll av SSD:er [17] och även när datorn är inaktiv.
av operativsystem | Aspekter|||||
---|---|---|---|---|---|
| |||||
Typer |
| ||||
Kärna |
| ||||
Processledning _ |
| ||||
Minneshantering och adressering | |||||
Ladda och initieringsverktyg | |||||
skal | |||||
Övrig | |||||
Kategori Wikimedia Commons Wikibooks Wiktionary |