8Sep
Od czasu do czasu natknęliśmy się na "sytuację" na naszych komputerach, która pozostawia nas całkowicie zdumionych, na przykład plik o rozmiarze zerowym, ale jak to możliwe? Dzisiejszy post SuperUser Q & A ma odpowiedzi na pytanie zagubionego czytelnika.
Dzisiejsze pytanie &Sesja odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, opartego na społecznościach grupy Q & A.
Pytanie Czytnik
SuperUser Eugene S chce wiedzieć, jak rozmiar pliku może wynosić zero:
Jest to coś, na co wpadłem i nie mogłem wymyślić odpowiedniego wyjaśnienia. Jeśli utworzę pusty plik *. txt na moim komputerze, a następnie przyjrzę się jego rozmiarowi, pokaże on rozmiar zero. Jak to możliwe? Mam na myśli, nawet jeśli sam plik jest pusty, musi on nadal mieć pewien rozmiar( nawet jeśli jest to tylko do przechowywania własnej nazwy).Jak to wyjaśnić?
Jak to możliwe, że plik ma rozmiar zero?
Odpowiedź Odpowiedzi od
SuperUser, Davida Schwartza i Cort Ammona, są dla nas odpowiedzią.Po pierwsze, David Schwartz:
Jest to możliwe, ponieważ tak naprawdę nie ma pliku. Jest tylko wpis do katalogu z nazwą i właścicielem. Pozycja katalogu różni się logicznie od pliku. Na przykład ten sam plik może mieć więcej niż jedną nazwę w więcej niż jednym katalogu.
Niestety, nazwa pliku nie zawsze jest używana do oznaczania dokładnie tego samego. Jednak logika wielkości pliku pochodzi z modelu, w którym wpis w katalogu przypisuje plik do katalogu, a następnie nazwy plików i powiązane metadane są przechowywane w katalogu.
Po odpowiedzi od Cort Ammon:
Semantyczne znaczenie rozmiaru pliku różni się od tego, którego używasz.
Jest wiele znaczących rozmiarów plików. Najczęściej spotykany i ten, który tu widzisz, to liczba bajtów w pliku. Jeśli plik jest pustym plikiem tekstowym, może on zawierać zero bajtów. Ta liczba jest ważna dla programistów, ponieważ często musimy otworzyć plik, przeczytać wszystkie dane i zamknąć je. Musimy wiedzieć, ile będzie danych w pliku, abyśmy mogli planować z wyprzedzeniem.
Inne znaczenie wynika ze sposobu przechowywania danych przez większość systemów plików. Większość systemów plików przechowuje dane w blokach. Na przykład system plików może przechowywać dane w blokach 64 kB, co oznacza, że nigdy nie przydzieli niczego, co nie jest wielokrotnością nawet 64 kB.Brzmi to nieefektywnie, ale może uprościć księgowanie, a często prostsze oznacza szybciej.
Trzecim znaczeniem, które szarpiesz, jest rzeczywista liczba bitów wymaganych na dysku twardym do opisania obecności pliku. Obejmuje to informacje, które są zwykle przechowywane oddzielnie od pliku. Na przykład w systemie Linux pojęcie nazwy pliku jest przechowywane w i-węźle dla katalogu zawierającego plik.[ Na podstawie danych z innych komentarzy jest to( technicznie) przechowywane w danych katalogu. Kiedy to pisałem, myślałem o przypadku małego katalogu. Dane mniejsze niż 156 bajtów mogą być przechowywane bezpośrednio w i-węźle. ] To nie jest powszechnie używane znaczenie, ponieważ jest bardzo trudne do określenia bez znajomości niesamowicie głębokich wewnętrznych operacji systemu plików( takich jak rozliczanie przestrzeni potrzebnej do przechowywania wszystkich uprawnień do pliku).Jednakże, jeśli masz dysk twardy o pojemności 1 000 000 bajtów i chcesz wiedzieć, jak duży plik może zmieścić się na tym dysku twardym, będzie to dla ciebie bardzo ważne znaczenie!
Czy chcesz coś dodać do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.