Niekde na nete (google vie) si najdes specifikaciu FAT suboroveho systemu a precitas si ako funguje. V nejakom takom zaciatocnickom by mohli byt popisane aj presne algoritmy, ale to neverim. Kazdy neznamy vyraz slehnes do googlu takto: what the fuck is moj_neznamy_vyraz, alebo wtf moj_neznamy_vyraz.
Takto dostanes obraz o tom, ako FAT filesystem funguje. Ked z toho vykladu nepochopis, co to suborovy system je, ako funguje, co je to File Allocation Table, tak odporucam nejaky clanok o fundamentalnejsich zakladoch prace so subormi.
A ked uz ten obraz o tom, ako FAT funguje, budes mat, tak sa pusti do vymyslania algoritmov (ingrediencie: algoritmicke myslenie, seda kora mozgova a vela kofeinu). Ked tieto obecne algoritmy vymyslis, tak si z nich sprav vyvojaky a potom ich naprogramuj do Ccka. Je idealne rozbit si tie ulohy na fundamentalne zakladne operacie a kazdu celistvu fundamentalnu operaciu naprogramovat ako jednu funkciu, aby sa potom lahsie hladali chyby.
Takto si naprogramujes funkciu na zistenie pociatocneho bloku suboru na disku, zistenie adresy dalsieho bloku na disku, precitanie bloku na disku, upravy adresy nasledovnika, atd.
A ked budes mat toto, tak nad tuto kniznicu funkcii napises tvoj program.