Cálculo de Bloques y Fragmentación en Sistemas de Archivos

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 3,49 KB

Escenario

Consideremos un fichero con 225.000 registros, que puede crecer hasta 360.000. Cada registro ocupa 141 bytes y las direcciones son de 64 bits. El disco de almacenamiento utiliza bloques de 4 KiB y agrupamiento fijo.

Cálculos

1. Factor de Bloque

El factor de bloque indica cuántos registros caben en un bloque.

Fórmula:

Factor de bloque = Tamaño del bloque / Tamaño del registro

Asignación Contigua:

Factor de bloque = 4 KiB/bloque / 141 B/registro = 29.05 -> 29 registros/bloque

Asignación Enlazada:

Se resta el tamaño del puntero al tamaño del bloque.

Factor de bloque = (4 KiB - 8 B)/bloque / 141 B/registro = 28.99 -> 28 registros/bloque

Asignación Ext2:

Factor de bloque = 4 KiB/bloque / 141 B/registro = 29.05 -> 29 registros/bloque

2. Número de Bloques de Datos

Calculamos cuántos bloques se necesitan para almacenar los registros.

Fórmula:

Nº bloques = Nº registros / Factor de bloque

Asignación Contigua:

Se utiliza el número máximo de registros.

Nº Bloques = 360.000 registros / 29 registros/bloque = 12413.8 -> 12414 bloques

Asignación Enlazada:

Se utiliza el número actual de registros.

Nº Bloques = 225.000 registros / 28 registros/bloque = 8035.7 -> 8036 bloques

Asignación Ext2:

Se utiliza el número actual de registros.

Nº Bloques = 225.000 registros / 29 registros/bloque = 7758.6 -> 7759 bloques

3. Fragmentación Interna

La fragmentación interna es el espacio desperdiciado dentro de los bloques.

Fórmula:

Fragmentación interna = Espacio asignado - Espacio ocupado

Espacio asignado = Nº bloques asignados x Tamaño del bloque

Espacio ocupado = Nº registros ocupados x Tamaño del registro

Asignación Contigua:

Fragmentación interna = 12414 bloques x 4 KiB/bloque - 225.000 registros x 141 B/registro = 50847744 B - 31725000 B = 19122744 B

Asignación Enlazada:

Fragmentación interna = 8036 bloques x (4 KiB/bloque - 8 bytes) - 225.000 registros x 141 B/registro = 32851168 B - 31725000 B = 1126168 B

Asignación Ext2:

Fragmentación interna = 7759 bloques x 4 KiB/bloque - 225.000 registros x 141 B/registro = 31780864 B - 31725000 B = 55864 B

4. Bloques de la Estructura de Control en Ext2

Calculamos los bloques necesarios para la estructura de control en Ext2.

Nº direcciones bloque control = Tamaño del bloque / Tamaño de la dirección = 4 KiB / 8 B = 512 direcciones

Para direccionar 7759 - 524 = 7235 bloques se necesitan 7235 / 512 = 14.13 -> 15 bloques de 2º nivel.

5. Operaciones de E/S en Ext2

Calculamos las operaciones de entrada/salida (E/S) para acceder a registros específicos.

Asignación Enlazada:

Bloque de un registro = Nº registro / Factor de bloque

Bloque registro 100 = 100 / 29 = 3.45 -> bloque 4

Bloque registro 1000 = 1000 / 29 = 34.48 -> bloque 35

Bloque registro 10000 = 10000 / 29 = 344.82 -> bloque 345

Ext2 permite acceso directo, por lo que las operaciones de E/S son:

  1. Entrada del directorio (almacenado en memoria)
  2. Leer el nodo-i (almacenado en memoria)
  3. Leer el bloque del registro 100
  4. Leer el bloque de direcciones (entrada indirecta simple)
  5. Leer el bloque del registro 1000
  6. Leer el bloque del registro 10000

Total: 6 operaciones de E/S

Entradas relacionadas: