GNU/Linux >> Tutoriales Linux >  >> Linux

¿Por qué los sistemas operativos tienen límites de tamaño de archivo?

Los sistemas de archivos necesitan almacenar tamaños de archivos (ya sea en bytes o en alguna unidad dependiente del sistema de archivos, como sectores o bloques). La cantidad de bits asignados al tamaño generalmente se fija en piedra cuando se diseña el sistema de archivos.

Si permite demasiados bits para el tamaño, hará que cada archivo ocupe un poco más de espacio y que cada operación sea un poco más lenta. Por otro lado, si permite muy pocos bits para el tamaño, un día la gente se quejará porque están tratando de almacenar un archivo de 20 EB y su sistema de archivos de mierda no se lo permitirá.

En el momento en que se diseñaron los sistemas de archivos que menciona, tener un disco lo suficientemente grande como para alcanzar el límite sonaba como ciencia ficción. (Excepto FAT32, pero la empresa que lo promocionó lo pensó como una medida intermedia antes de que todos adoptaran su nuevo y brillante NTFS, además, nunca fueron muy buenos para anticipar requisitos crecientes).

Otra cosa es que hasta finales del siglo pasado, la mayoría del hardware de consumo (e incluso de servidor) solo podía adaptarse a un cálculo rápido con valores de 32 bits, y los sistemas operativos tendían a usar valores de 32 bits para la mayoría de las cosas, incluidos los tamaños de archivo. 32 bits significa 4 GB, por lo que los sistemas operativos tendían a estar limitados a archivos de 4 GB independientemente del sistema de archivos, a menudo incluso a 2 GB porque usaban números enteros con signo. Cualquier sistema operativo serio de escritorio o servidor hoy en día usa 64 bits para tamaños de archivo y compensaciones, lo que pone el límite en 8EB.


Las estructuras de datos en disco suelen ser el límite. Investigue cómo estos sistemas operativos dan formato a sus discos y cómo rastrean las porciones de archivos en el disco, y comprenderá por qué tienen estas limitaciones. El sistema de archivos FAT está bastante bien documentado en línea (consulte Wikipedia, por ejemplo) y puede ver que su elección de tamaños enteros para algunos campos de la estructura del disco termina limitando el tamaño total del archivo que puede almacenar con este formato de disco.


Linux
  1. ¿Diferencia de cálculo de tamaño de directorio?

  2. ¿Por qué la siguiente manera no cambia el tamaño límite del archivo principal?

  3. ¿Por qué tenemos que pasar el nombre del archivo dos veces en las funciones ejecutivas?

  4. ¿Por qué necesitamos el archivo .so.1 en Linux?

  5. ¿Por qué necesito un bit de 'ejecución' en el modo de archivo en los sistemas de archivos Unix?

Por qué uso exa en lugar de ls en Linux

FSTAB y MTAB

Los 3 mejores sistemas operativos de servidor Linux en 2021

¿Por qué Ls y Hexdump no están de acuerdo sobre el tamaño del archivo?

Los 10 mejores sistemas operativos basados ​​en Unix

Reducir el tamaño del archivo PDF en Linux