Mam plik w systemie Windows 10 z 362 bajtami danych, ale „rozmiar na dysku” to tylko 0 bajtów. Jest to prosty program „Hello world” napisany w asemblerze i zapisany w Notepad ++ .
Jak to możliwe, że rozmiar na dysku wynosi zero, gdy rozmiar pliku wynosi 362 bajty?
Mam dysk SSD, a nie normalny dysk twardy.
Zrzut ekranu okna dialogowego Właściwości:
Odpowiedzi:
Dzieje się tak, jeśli plik jest tak mały, że jego zawartość i księgowość systemu plików mieszczą się w 1 KB. Aby zaoszczędzić miejsce na dysku, NTFS utrzymuje małe pliki „rezydentne”, przechowując ich zawartość bezpośrednio w rekordzie pliku, więc nie trzeba przypisywać do niego żadnego klastra. Dlatego rozmiar na dysku wynosi zero, ponieważ nie ma nic poza rekordem pliku. Gdy plik stanie się wystarczająco duży, NTFS czyni go „nierezydentnym”, przydziela mu jeden lub więcej klastrów (tworząc niezerowy „rozmiar na dysku”) i tworzy „parę odwzorowań” w rekordzie pliku w miejscu danych do wskaż klaster.
Dyski twarde SSD lub Windows 10 nie mają na to wpływu; to po prostu funkcja NTFS. Dalsza lektura: Cztery etapy wzrostu plików NTFS .
Pamiętaj, że metryka „rozmiar na dysku” nie jest dokładnie odpowiednia. Na przykład nigdy nie zawiera stałej 1 KB, którą zajmuje rekord pliku NTFS. Metryka została wprowadzona w systemie Windows 95, który nie korzystał z systemu plików NTFS i dlatego nie mógł uwzględnić tego zjawiska; po prostu pokazał rozmiar pliku zaokrąglony w górę do następnej wielokrotności rozmiaru klastra. Ten algorytm oszacowania został przeniesiony do systemu Windows 7, mimo że wiele wersji systemu Windows między nimi używało NTFS i pamięci masowej. W końcu został zaktualizowany w systemie Windows 8, aby liczyć pliki z rezydentnymi danymi na dysku o zerowym rozmiarze. Dalsza lektura: Co to jest „Rozmiar na dysku”?
źródło