cwbe coordinatez:
101
63540
63709
2870940

ABSOLUT
KYBERIA
permissions
you: r,
system: public
net: yes

neurons

stats|by_visit|by_K
source
tiamat
K|my_K|given_K
last
commanders
polls

total descendants::
total children::2
show[ 2 | 3] flat


Viete ked instalujete na novy disk Windows tak sa vas to pyta na vytvorenie particie. A vytvorite ju s povedzme velkostou 30000 MB a potom vo Windowse vam to ukaze iba 27900 alebo nieco podobne.

Esistuje na toto nejaky presny pomer, aby sa dalo vyratat kolko treba zadat aby particia mala vo Win urcitu presnu velkost?




  • 0000010100063540000637090287094002871684
    ventYl 17.01.2007 - 19:50:28 level: 1 UP [4K] New
    mala lekcia z filesystemov :)

    ak vytvoris na fyzickom disku (teraz opomenieme fetaciny typu megaisobyte, ci jak sa tomu nadava a zavedieme axiomu 1kB = 1024B) particiu velkosti 32 MB, do tohto miesa musis vtesnat jednak:
    - samotne subory
    - informacie o adresaroch (co su z pohladu filesystemu tiez subory)
    - informacie o tom, ktore subory su v ktorych adresaroch
    - informacie o tom, kde na disku sa ktory kus suboru nachadza

    prvy, druhy a treti bod by mali byt jasne, snad len tolko, ze adresare su tiez len subory s presne definovanym formatom, v ktorych sa pise, ktore subory a adresare obsahuju, ak sa to potom rekurzivne prelieza, ziskava sa adresarovy strom.

    no a ta posledna informacia je cca zhodna s obsahom v knihach... 200 stranova kniha s 50timi kapitolami ma nejake cca 3 strany obsahu, ktory urcuje, kde subor (kapitola knihy) zacina. avsak pri filesystemoch to nie je tak, ze sa subor raz umiestni a uz sa s nim nehybe, subor moze menit velkost alebo uplne zmiznut. a kedze subor, ktory prijde na jeho miesto, nemusi mat rovnaku velkost, vznika fragmentacia, preto si filesystem musi drzat informaciu o tom, kde sa nachadza kazdy jeden kus suboru (obvykle sa subor rozdeli na rovnako velke kusy a filesystem si pamata len to v akom poradi su kde na disku).

    No a teraz spat k povodnej otazke, aky je vzorec... vzorec vlastne nie je. Pre FAT32 filesystem sa dalo cca pocitat tak, ze ma moznost adresovat 2^32 - 1 blokov, takze si niekde vo vlastnostiach disku zistime, aky velky je cluster (obvykle 2 ~ 4 kB), predelim velkost particie disku v bytoch velkostou clustra, dostanem +- velkost disku v clustroch. do jedneho sektora sa mi vojde 128 32bytovych odkazov na databloky, teda predelim pocet clustrov filesystemu 128, vyjde mi pocet sektorov, ktore zabera alokacna tabulka (mnou nevyuzitelne miesto). Alokacne tabulky su 2, teda znasobim dvoma. Sektor ma velkost 512 bytov, cize predelim dvoma (alebo rovno nenasobim a nedelim) a mam velkost alokacnych tabuliek v kB.
    Vysledne cislo je +- udaj o tom, kolko miesta spotrebovali alokacne tabulky filesystemu.

    Ako sa toto pocita pre filesystem NTFS, XFS, ReiserFS a dalsie, netusim.

    Pre EXT/EXT2/EXT3/EXT4 by malo platit, ze zabrate miesto sa rovna +- pocet i-nodov * 512 bytov.

    more children: (2)
  • 0000010100063540000637090287094002871274
    mirex 17.01.2007 - 16:31:35 level: 1 UP New
    nebude to nahodou velkost vynasobena ( 1.024 * 1.024 ) ?