Re: (De)fragmentace a Linux

From: Ing. Vlastimil Pospichal (vpospichal@centrum.cz)
Date: 09. 02. 2001, 15:46 CET


> Bavil jsem se s kamaradem o defragmentaci, jake programy jsou na to dobre
> (jedine Norton utilities :)) a dospeli jsem az k Linuxu. A ani jeden jsme
> nevedeli, jak je problem (de)fragmentace resen pod Linuxem (Unixem).
> Taky se tam pouziva nejaky Disk Defragmenter nebo je to uplne jinak ? (Ale
> myslim, ze kdyz proste zapisu na disk par malych souboru, pak jeden smazu a
> zapisu velky, tak nutne musi zabrat misto po tom malem a zbytek se zapise na
> konec a fragmentace je svete, ne ?)

Problem (de)fragmentace je resen jiz na urovni navrhu ext2fs. Cely disk je 
totiz logicky rozdelen na mnoho miniaturnich oblasti, kazda z nich 
obsahuje vlastni adresar, kolem ktereho se system snazi umistit i data. 
Pokud mu prostor v danem adresari nestaci, snazi se umistit data do 
nejblizsiho sousedniho adresare. Pokud je dana oblast jiz zaplnena daty, 
dalsi adresarove polozky jiz do ni nedava. V dusledku toho je korenovy 
adresar roztrousen po celem disku na predem stanovenych clusterech. 
Adresy vsech clusteru jsou bud primo nebo neprimo v adresari, takze 
odpada FAT - obvykly zdroj problemu v jinych OS. Extremne kratke 
soubory(<56B, je jich v Linuxu opravdu hodne) jsou umisteny primo v 
adresarove polozce, takze zadne dalsi misto na disku nezabiraji.
Dalsim nastrojem je tzv. predalokace, kdy pro kazdy novy soubor je 
zabrano vice clusteru, nez je treba. Nepouzite clustery jsou sice 
pouzitelne pro ulozeni dat jineho souboru, ale system je pouzije az tehdy, 
kdyz jinde neni misto.
Nazvy souboru jsou oddelene od adresarovych polozek a umisteny v 
beznem souboru. Delka nazvu souboru je omezena na 255 znaku. Delsi 
nazvy jsou bez jakehokoli hlaseni chyby zkraceny na tuto delku. Tato 
metoda urychluje vyhledavani a umoznuje mit jeden soubor vedeny pod 
nekolika nazvy (tzv. hardlinky).
Tohle vse prispiva k tomu, ze u souboroveho systemu ext2 temer 
nedochazi k fragmentaci a pokud ano, fragmenty jsou tak blizko sebe, ze 
se to stava nepodstatnym. Zaroven je zajistena vysoka bezpecnost ulozeni 
dat, protoze pri padu kterekoli diskove podoblasti ji system prestane 
pouzivat a disk funguje dale.
Jakysi deframentator pod Linuxem pry existuje, ale zkusenosti ukazuji, je 
jeho pouziti je z vyse uvedenych duvodu temer zbytecne. Pokud by nekdo 
preci jen chtel defragmentovat, nejjednodussi a nejbezpecnejsi metodou je 
prekopirovat data na jinou diskovou oblast, stavajici oblast zformatovat a 
data nakopirovat zpet. Dojde tak k uplne defragmentaci (na rozdil od FAT, 
kde podadresare zustanou po teto akci fragmentovane). Rychlost tohoto 
velmi rychleho souboroveho systemu se tim vsak temer nezvysi. 

Pro doplneni: Bezna velikost clusteru pod ext2fs je 4096B, u mensich 
disku se pouziva 2048B i 1024B.

Vlastik


Ing. Vlastimil Pospichal
mailto:vpospichal@centrum.cz
http://www.hoteldrnholec.cz
http://pospichal.hyperlink.cz

Proc kupovat MS Windows, kdyz existuji skutecne operacni systemy?



This archive was generated by hypermail 2.1.2 : 04. 09. 2001, 05:28 CEST