Capacidad máxima de ficheros en sistemas de archivos con punteros directos e indirectos
Clasificado en Informática
Escrito el en
español con un tamaño de 2,76 KB
Capacidad de fichero y cálculo de bloques
En cada bloque de direcciones caben 1024 direcciones de bloque: 4 KBytes / 4 bytes = 1024 posiciones.
a. Números de bloques
• Fichero A que tiene un tamaño de 20 KBytes
- Un fichero de 20 KB ocupará 5 bloques de datos, correspondientes a los 5 primeros apuntadores directos.
- Es decir, se ocuparán 5 bloques.
• Fichero B que tiene un tamaño de 200 KBytes
- Un fichero de 200 KB ocupará 50 bloques de datos; los 10 primeros serán apuntados directamente.
- Para los 40 siguientes se utilizará el enlace indirecto simple, con lo que se ocupará un bloque más (el bloque de índices indirectos).
- Es decir, se ocuparán 50 bloques + 1 del indirecto simple = 51 bloques.
• Fichero C que tiene un tamaño de 2000 KBytes
- Un fichero de 2000 KB ocupará 500 bloques de datos; los 10 primeros serán apuntados directamente.
- Para los 490 siguientes se utilizará el enlace indirecto simple, con lo que se ocupará un bloque más (el bloque de índices indirectos).
- Es decir, se ocuparán 500 bloques + 1 del indirecto simple = 501 bloques.
• Fichero D que tiene un tamaño de 20000 KBytes
- Un fichero de 20000 KB ocupará 5000 bloques de datos; los 10 primeros serán apuntados directamente.
- Para los siguientes 1024 se utilizará el enlace indirecto simple, con lo que se ocupará un bloque más (el bloque de índices indirectos).
- El resto de bloques (3996) serán enlazados con el enlace indirecto de segundo nivel (indirecto doble).
- Este enlace de segundo nivel necesitará 1 bloque para enlazar los 1024 posibles bloques de segundo nivel; además necesitará 4 bloques de índices que sirvan de enlace para los 3996 bloques de datos del fichero.
- Es decir: 5000 bloques + 1 del indirecto simple + 5 de los dobles = 5006 bloques.
b. ¿Cuál es el tamaño máximo que puede tener un fichero?
En bloques podríamos decir que el número máximo de bloques de datos que puede tener un fichero es el siguiente:
- 10 bloques enlazados directamente.
- 1024 bloques enlazados por indirecto simple.
- 1024 * 1024 bloques enlazados por indirecto doble.
- 1024 * 1024 * 1024 bloques enlazados por indirecto triple.
En total serían 1G + 1M + 1K + 10 bloques. Aproximadamente hablaríamos de unos 4 TB de tamaño máximo de fichero (se desprecia para la solución 4 GB, 4 MB y 40 KB por la diferencia de magnitud con el valor total).