2011-12-16 31 views
16

¿Cuál es la importancia del tamaño del bloque del sistema de archivos? Si mi tamaño de bloque de Filesystem está configurado en digamos 8K, ¿eso significa que todas las I/O de lectura/escritura ocurrirán en el tamaño 8K? Entonces, si mi aplicación quiere leer, digamos 16 bytes en el offset 4097, entonces se leerá un bloque de 4K comenzando desde el offset 4096.Tamaño del bloque del sistema de archivos

¿Cómo funcionan las escrituras en este caso? Supongamos que quiero escribir, digamos 64 bytes.

Respuesta

0

Normalmente, cuando tiene que tratar con archivos en la programación, debe utilizar la abstracción de Stream. Las operaciones de E/S a través del código a menudo se leen y escriben en las transmisiones; leer y escribir desde y hacia transmisiones, puede ser almacenado de manera que se puedan leer o escribir fragmentos de archivos.

El tamaño del bloque en fs se refiere a la superficie del disco de mapeo; menor el tamaño del bloque único mayor el número de bloques (y por lo tanto los elementos en la tabla que guarda información sobre la asignación de archivos).

Así que el sistema operativo puede mapear el archivo en el disco discretamente en función del tamaño del bloque y tener un "mapa de archivos" más pequeño. Como sé, esto no afecta la abstracción de flujo en las API del lenguaje de programación.

+0

Mi pregunta era más para comprender cómo funcionan los sistemas de archivos y cómo interactúan con el dispositivo de bloques. ¿Cuál es la importancia del tamaño del bloque en ese contexto? – user880946

+0

http://en.wikipedia.org/wiki/File_system#Space_management. Los clústeres de discos (grupos de sectores) y los bloques de los que estamos hablando se refieren al mismo concepto. –

16

Tienes razón. El tamaño de bloque es la unidad de trabajo para el sistema de archivos. Cada lectura y escritura se realiza en múltiplos completos del tamaño del bloque.

El tamaño del bloque también es el tamaño más pequeño en el disco que un archivo puede tener. Si tiene un tamaño de bloque de 16 bytes, entonces un archivo con un tamaño de 16 bytes ocupa un bloque completo en el disco.

El libro "Practical file system design" estados:

Bloque: La unidad más pequeña puede ser escrito por un disco o sistema de archivo. Todo lo que hace un sistema de archivos se compone de operaciones realizadas en bloques. Un bloque de sistema de archivos siempre tiene el mismo tamaño o más (en múltiplos enteros) que el tamaño de bloque de disco .

Cuestiones relacionadas