Myślę, że jesteś zdezorientowany, być może dlatego, że przeczytałeś kilka dokumentów, które używają innej terminologii. Terminy takie jak „rozmiar bloku” i „rozmiar klastra” nie mają uniwersalnego znaczenia, nawet w kontekście literatury systemu plików.
Systemy plików
W przypadku ext2 lub ext3 sytuacja jest stosunkowo prosta: każdy plik zajmuje pewną liczbę bloków . Wszystkie bloki w danym systemie plików mają ten sam rozmiar, zwykle jeden z 1024, 2048 lub 4096 bajtów. Plik¹, którego rozmiar zawiera się między N blokami plus jeden bajt i N + 1 bloków, zajmuje N + 1 bloków. Ten rozmiar bloku określa się za pomocą mke2fs -b
. Nie ma osobnego pojęcia klastrów.
System plików FAT używany w szczególności w MS-DOS i we wczesnych wersjach systemu Windows ma podobnie prosty przydział miejsca. Co ext2 wywołuje bloki, FAT wywołuje klastry ; koncepcja jest taka sama.
Niektóre systemy plików mają bardziej wyrafinowany schemat alokacji: mają bloki o stałym rozmiarze, ale mogą używać tego samego bloku do przechowywania ostatnich kilku bajtów więcej niż jednego pliku. Jest to znane jako subalokacja bloków ; Reiserfs i Btrfs robią to, ale nie ext3, a nawet ext4.
Narzędzia
Narzędzia uniksowe często używają słowa „blok”, aby oznaczać jednostkę o dowolnym rozmiarze, zwykle 512 bajtów lub 1kB. To użycie nie jest powiązane z żadnym konkretnym systemem plików ani sprzętem dyskowym. Historycznie blok 512B powstał, ponieważ dyski i systemy plików w tym czasie często działały w porcjach 512B, ale współczesne użycie jest po prostu arbitralne. Tradycyjne narzędzia i interfejsy uniksowe nadal używają czasami bloków 512B, choć obecnie preferowane są bloki 1kB . Musisz sprawdzić dokumentację każdego narzędzia, aby dowiedzieć się, jakiego rozmiaru bloku używa (niektóre mają przełącznik, np. du -B
Lub df -B
w systemie Linux).
W GNU / Linux stat
użyteczności, blocks
liczba jest liczbą bloków 512B używanych przez plik. Liczba IO Block
ta jest preferowanym rozmiarem pliku wejściowego / wyjściowego, co w zasadzie nie jest powiązane, ale zwykle wskazuje na wielkość bloku podstawowego systemu plików (lub rozmiar klastra, jeśli tak chcesz go nazwać). Tutaj masz 13-bajtowy plik, który zajmuje jeden blok w systemie plików ext3 o rozmiarze bloku 2048; dlatego plik zajmuje 4 512-bajtowe jednostki (zwane „blokami” przez stat
).
Dyski
Większość dysków ma interfejs, który pokazuje dysk jako wiązkę sektorów . Dysk może zapisywać lub odczytywać cały sektor, a nie pojedyncze bity lub bajty. Większość dysków twardych ma sektory 512-bajtowe, chociaż dyski sektorowe 4kB zaczęły pojawiać się kilka lat temu.
Rozmiar sektora dyskowego nie jest bezpośrednio związany z rozmiarem bloku systemu plików, ale lepsza wydajność ma blok zawierający całą liczbę sektorów.
¹
Wyjątek: rzadkie pliki oszczędzają miejsce.