FAT kerdes
elektro
elektro at tesla.hu
Fri Apr 2 12:33:27 CEST 2004
Thus spake Cseh Róbert:
>>> Tovabbi kerdesek: a root dir, ha betelik, elmeletileg nem
>>> bovitheto tovabbi clusterekkel. Miert?
>
> A Root dirbe 512-3(.., . Illetve a ...(ez utobbit nem tudom mire mutat)) bejegyzes rakhato (konyvtar v. file). Azert ezt hogyan sikerul kimeriteni?:)
> Legalabbis a Fat16 eseten.
A fene tudja... Logolni kell majd a CF-re, lehet hogy millio pici fajl
lesz rajta. Ha lehetseges, meg kene csinalni...
> A hivataos iras azt mondja (passz vmelyik konyv), ha hosszu/rovid filenev is van, ahkkor a rovid a kovetkezokeppen generalodik: Az utolso (legnagyoss sorszamu) utanmit adja, nem foglalkozik vele, hogy elotte kimaradt nehany. Azaz ha van micros~2.doc, micros~5.doc, es ezutan irsz annak a micros~6-t kell kapnia.
Ok, de az uj fajl bejegyzeset akarhova tehetem? Nem kergul meg a handler,
ha a 10 utan 3 kovetkezik?
Lehet olyat csinalni, hogy csak hosszu nev legyen, rovid nem?
Nem latom ennek lehetoseget, mert a shortname entry-ben van minden
lenyeges adat a fajlbol, cluster, meret, datum, stb... Az LFN
bejegyzesekben kizarolag a bejegyzes szama, ellenorzoosszeg, es 13db
unicode karakter van a nevbol. Tehat mindenkeppen kell legalabb 1
shortname entry is. Vagy nem?
> Valamint ha az elso olvashato, akkor a 2.-l nem foglalkozik. De a scandisk es tarsai felajanljak, hogy az FAT1-t es a FAT2t szinkronizaljak. Jo esetben az 1->2t. (forditva adatvesztes.)
Nalam nem mukodik. Semmit sem irtam at, csak a file hosszat noveltem
eggyel, kerestem egy szabad clustert, es azt hozzalancoltam, valamint az
uj cluster bejegyzeset 0xffff-re allitottam. (cluster chain vege)
XP nem nyitotta meg a fajlt!
> A defragmentalas miert olyan letszuseglet? A filetable (FAT) a clusterek szamat tartalmazza amikbe a file irodik. A FATtabla beli bejegyzes a a clustersorrendet adja meg. (tesztelj pl. kisfloppyn, a Norton fele DiscDoctor elegge matatian mutatja:))
> Meg virtualis BAD blokkokat is ki tudsz jelolni, akkor a FAT bejegyzes a BAD szoveget tartalmazza arra a clusterre)
Felreerted :) A directorykat kene defragmentalni. Ha torolsz egy fajlt,
akkor a bejegyzese felszabadul, oda masik file bejegyzeset lehet tenni.
Elofordulhat, hogy egy olyan hosszu nevu fajlt szeretne letrehozni a
luser, melyhez pl 20db entry kene. De lehetseges, hogy a directoryban
van 19 ures slot, majd 1 foglalt, 19 ures, majd 1 foglalt, es igy jo
sokaig. Tehat a vinyon terpeszkedik egy hatalmas meretu konyvtar, melynek
1/20=5% a kihasznaltsaga, es megsem tudod beletenni azt a nyomorult fajlt,
csak egy tovabbi cluster lefoglalasaval.
A kerdes, hogy ilyen szituacioban mit kell tenni.
1. Atrendezem a directory-t, osszefuggo blokkokba pakolom a foglalt es a
szabad entryket. Nem is defragmentalas, az felrevezeto kifejezes, inkabb
garbage collection, szemetgyujtes, mint a C64 basic a sztringeket...
2. Szarok bele, irom tovabb a dirt egy uj clusterben
Ja es a dir vege jelzes logikaja sem vilagos tovabbra sem :(
> Robi
--
Valenta Ferenc <vf at elte.hu> Visit me at http://ludens.elte.h u/~vf/
"Az eg nem a csillagoknal kezdodik, hanem a fuszalak hegyenel. (J.M.)"
____________________________________________________________________
Miert fizetsz az internetert? Korlatlan, ingyenes internet hozzaferes a FreeStarttol.
Probald ki most! http://www.freestart.hu
More information about the Elektro
mailing list