soubor bez programovani
Jacek Kopecky
kopeckyj na inf.upol.cz
Úterý Říjen 17 09:14:52 CEST 2000
> | dd if=/dev/zero of=soubor bs=1 count=1 seek=<velikost-1>
> |
> | Timto se vytvori soubor veliky <velikost> bajtu, nazve se "soubor" a
> | bude na disku zabirat prave jeden blok (krome metadat). Takto muzete
> | na gigovem disku vytvorit dvougigovy soubor. 8-)
> |
> | Jacek Kopecky
>
> Oj, jsem nejak dnes natvrdly ci co, muzete prosim trochu vnesti svetla do
> tohoto mechanismu vytvoreni souboru vetsiho, nez sam disk?
Uz se to tu objevilo nekolikrat. 8-)
Unixove filesystemy jsou schopne nasledujici optimalizace: kdyz se
program presune v souboru (seek) na nejake misto za koncem souboru,
soubor se neprodluzuje. Kdyz nasledne zapise, na disku se obsadi jen
ty bloky, do kterych se zapsalo, zbytek je v strukture zaznamu o
souboru neobsazen, tedy nulovy. Takto muzeme skocit za konec souboru
treba na pozici 2000000000 (necele 2GiB), tam zapsat jednu nulu a
soubor ma velikost 2000000001. Na disku zabira jeden blok. Tomu se
rika deravy soubor.
Kdyz z deraveho souboru cteme, tam, kde jsou diry, dostaneme nuly. To
je v podstate spravne. 8-)
Jacek Kopecky
--
http://www.inf.upol.cz/~kopeckyj ICQ: 49514837
Finger kopeckyj(at)alpha.inf.upol.cz for Geek Code.
Další informace o konferenci Linux