8Sep
Svi mi ponekad nalazimo "situaciju" na našim računalima koja nas ostavljaju potpuno zbunjeni, poput datoteke koja ima veličinu nula, ali kako je to čak i moguće? Današnji SuperUser Q & A post ima odgovore na pitanje zbunjenog čitatelja.
Današnje pitanje &Sesija odgovora nam dolazi zahvaljujući SuperUseru - podjele Stack Exchange, grupiranjem zajednice Q & A web stranica.
Pitanje
Čitač SuperUser Eugene S želi znati kako veličina datoteke može biti nula:
To je nešto što sam se upustila i nisam mogla razmišljati o pravilnom objašnjenju. Ako stvorim prazan *. txt datoteku na mojem računalu, a zatim pogledam na njegovu veličinu, pokazuje veličinu nula. Kako je to moguće? Mislim, čak i ako je datoteka sama prazna, ona mora i dalje imati neku veličinu( čak i ako je samo spremiti svoje ime).Kako se to može objasniti?
Kako je moguće da datoteka ima veličinu nula?
Odgovor
SuperUser suradnici David Schwartz i Cort Ammon imaju odgovor za nas. Prvo, David Schwartz:
Moguće je zato što stvarno nema datoteke. Postoji samo unos u imeniku s imenom i vlasnikom. Unos u imeniku logički je različit od datoteke. Na primjer, iste datoteke mogu imati više od jednog imena u više od jednog direktorija.
Nažalost, naziv datoteke se ne koristi uvijek znači istu stvar. Ali logika veličine datoteke dolazi od modela gdje unos direktorija pridaje datoteku u direktorij, a zatim se nazivi datoteka i povezani meta podaci pohranjuju u direktorij.
Slijedi odgovor Cort Ammon:
Semantičko značenje veličine datoteke razlikuje se od onoga kojeg koristite.
Postoji mnogo veličina datoteka koje su značajne. Najčešći i onaj koji vidite ovdje je broj bajtova u datoteci. Ako je datoteka prazna tekstualna datoteka, može doista sadržavati nulu bajtova. Ovaj broj je važan programerima jer često trebamo otvoriti datoteku, čitati sve podatke i zatvoriti ih. Moramo znati koliko će bajtova podataka biti u datoteci kako bismo mogli planirati unaprijed.
Drugo značenje proizlazi iz načina na koji većina datoteka sustava pohranjuje podatke. Većina datotečnih sustava pohranjuje podatke u blokove. Na primjer, sustav datoteka može pohraniti podatke u blokovima od 64 kB, što znači da nikada neće dodijeliti ništa što nije čak i više od 64 kB.To zvuči neučinkovito, no knjigovodstvo može biti vrlo jednostavnije, a često i jednostavnije znači brže.
Treći smisao, koji se povlačenjem, bio bi stvarni broj bitova potrebnih na tvrdom disku kako bi se opisala prisutnost datoteke. To uključuje informacije koje se obično pohranjuju odvojeno od datoteke. Na primjer, u Linuxu, koncept naziva datoteke pohranjen je u inodi za direktorij koji sadrži datoteku.[ Na temelju unosa iz ostalih komentara, to( tehnički) je pohranjeno u podacima direktorija. Kad sam ovo napisao, razmišljao sam o slučaju malog imenika. Podaci manje od 156 bajtova mogu se izravno pohraniti u inodu. ] Ovo nije uobičajeno značenje jer je vrlo teško odrediti bez poznavanja iznimno dubokog unutarnjeg djelovanja vašeg datotečnog sustava( kao što je računanje prostora koji je potrebno za pohranu svih dozvola na datoteci).Međutim, ako imate tvrdi disk veličine od 1.000.000 bajta i želite znati koliko se velikih datoteka može uklopiti na taj hard disk, to će vam biti vrlo važno!
Imate li nešto za objašnjenje? Zvuči u komentarima.Želite li pročitati više odgovora od drugih tehnoloških korisnika Stack Exchangea? Pogledajte ovdje cijelu raspravu.