2011-12-16 16 views
16

Jakie jest znaczenie rozmiaru bloku systemu plików? Jeśli mój blok systemu plików jest ustawiony na powiedzmy 8K, oznacza to, że wszystkie wejścia/wyjścia odczytu/zapisu będą miały rozmiar 8K? Więc jeśli moja aplikacja chce czytać, powiedz 16 bajtów przy przesunięciu 4097, to odczytany zostanie blok 4K zaczynający się od przesunięcia 4096?Rozmiar bloku systemu plików

Jak działają zapisy w tym przypadku? Załóżmy, że chcę pisać, powiedzmy 64 bajty.

Odpowiedz

0

Zwykle, gdy masz do czynienia z plikami w programowaniu, powinieneś użyć abstrakcji Stream. Operacje we/wy za pomocą kodu są często odczytywane i zapisywane do strumieni; czytanie i zapisywanie zi do strumieni, może być buforowane, aby można było odczytać lub zapisać fragmenty pliku.

Wielkość bloku na fs odnosi się do powierzchni dysku mapującego; pomniejszy rozmiar pojedynczego bloku - liczba bloków (a więc elementy w tabeli, które przechowują informacje o przydzielaniu plików).

System operacyjny pozwala więc mapować pliki na dyskach dyskretnie w oparciu o rozmiar bloku i mieć mniejszą "mapę plików". Jak wiem, nie wpływa to na abstrakcję strumienia w API języka programowania.

+0

Moje pytanie było bardziej zrozumiałe, jak działają systemy plików i jak wchodzą one w interakcje z urządzeniem blokowym. Jakie jest znaczenie rozmiaru bloku w tym kontekście. – user880946

+0

http://en.wikipedia.org/wiki/File_system#Space_management. Klastry dyskowe (grupy sektorów) i bloki, o których mówimy, odnoszą się do tej samej koncepcji. –

16

Masz rację. Rozmiar bloku to jednostka pracy dla systemu plików. Każdy odczyt i zapis odbywa się w pełnych wielokrotnościach wielkości bloku.

Rozmiar bloku jest również najmniejszym rozmiarem na dysku, jaki może mieć plik. Jeśli masz 16-bajtowy rozmiar bloku, to plik o rozmiarze 16 bajtów zajmuje pełny blok na dysku.

Książka "Practical file system design" stany:

bloku: Najmniejsza jednostka prawa zapisu dysku lub fi le systemie. Wszystko, co składa się na system plików , składa się z operacji wykonywanych na blokach. Układ bloku blok jest zawsze tego samego rozmiaru co większy (w wielokrotnościach całkowitych) niż rozmiar bloku dyskowego .

Powiązane problemy