Solución de los ejercicios de administración de ficheros

De Wiki de Sistemas Operativos
Revisión del 12:27 28 may 2019 de Beagalcar (discusión | contribuciones) (Cambiar unidades de B a Byte)
Saltar a: navegación, buscar

Ejercicio 1

Apartado A

  • Incoherencia nº1: Fichero2.txt está asociado a un bloque corrupto, el número 4.
  • Incoherencia nº2: Cuando se accede al bloque 7 (correspondiente al archivo Imagen2.jpg), el siguiente en ser accedido es el número 4, que además de estar asociado a otro archivo, está corrupto.

Apartado B

  Entrada al directorio raíz E:   1 acceso al bloque 2
  Entrada a Imagen.jpg:           1 acceso al bloque 3
  Siguiente bloque de Imagen.jpg: 1 acceso al bloque 5
  Siguiente bloque de Imagen.jpg: 1 acceso al bloque 6 y final de fichero.
  Total: 4 accesos

Mejorada explicación del primer apartado y corregida la del segundo. --fernandoenzo 16:27 22 ene 2012 (UTC)

Ejercicio 2

  Bloque del i-nodo:                          1 acceso
  Camino hacia el bloque del doble indirecto: 2 accesos
  Acceso al bloque del doble indirecto:       1 acceso
  Total: 4 accesos

Ejercicio 3

c) 5 accesos a bloque: Nos indican que tenemos que acceder al bloque 1035, en EXT2 para poder tener esta cantidad de bloque se necesita usar el doble indirecto.

  Tabla de archivo (cuenta como un acceso):   1 acceso
  Bloque del i-nodo:                          1 acceso
  Camino hacia el bloque del doble indirecto: 2 accesos
  Acceso al bloque del doble indirecto:       1 acceso
  Total: 5 accesos

Ejercicio 4

EXT2

Ejercicio 5

Para poder calcular lo que nos piden, tendremos que calcular el número de entradas que existen en un bloque, para poder calcular esto usamos el tamaño de un bloque y el tamaño de palabra del sistema (32 bits = 32/8 bytes = 4 bytes = 2^2 bytes).

       2^12
      ────── = 2^10 = 1024 entradas por cada bloque.
       2^2 

Como nos dicen que el sistema de archivo es EXT2, debemos saber que las 10 primeras entradas del i-nodo referencian a bloques y además que es indirecto triple, es decir, el indirecto simple tendrá 1024 entradas, donde cada entrada referencia a un bloque de tamaño 4KB, en indirecto doble habrá 1024^2 entradas y en indirecto triple habrá 1024^3 entradas.

Por tanto, el número total de entradas es:

  10 + 1024 + 1024^2 + 1024^3 = 1*10^9 entradas.

Como cada entrada referencia a un bloque, el tamaño máximo de un fichero es: 4KB * 1*10^9 = 4TB

Ejercicio 6

  • Fichero1.txt : 7, 2, 5, 12.
  • Fichero2.txt : 4.
  • Fichero3.txt : 10, 5, 12.
  • Fichero4.txt : 8, 3.

En el Fichero1.txt y Fichero3.txt están asignados los bloques 5 y 12, eso no es posible, ya que en FAT no existe la compartición de bloques. El Fichero4.txt tiene asignado un bloque BAD(Corrupto).

Ejercicio 7

En primer lugar calculamos el desperdicio interno de un bloque, esto es la diferencia entre el tamaño del bloque y el tamaño que ocupa el fichero:

16KB = 2¹⁴Bytes

2¹⁴B - 4B = 15,996KBytes


Ahora calcularemos el número de bloques que hay en la unidad de almacenamiento masivo:

   50MB               50·2²⁰
──────  =  ─────────  = 50·2⁶ bloques
   16KB                  2¹⁴

Por lo tanto, el desperdicio interno total será el producto del desperdicio por bloque por el número de bloques:

50·2⁶ * 15,996 = 51187,2 KBytes

Ejercicio 8

Calculamos el número de entradas del bloque indirecto doble:

 tam bloque          32KBytes       2¹⁵
─────────  =  ──────  =  ────  =  2¹³ nº de entradas
 tam palab                4Bytes         2²

ahora calculamos el número de bloques:

16 + 2¹³ + 2¹³·2¹³ = 67117072

por último, el producto del tamaño de bloque por el número de bloques son aproximadamente 2048.29GBytes

Ejercicio 9

Calculamos primero el número de entradas de bloques indirecto simple:

 tam bloque      64KBytes         2¹⁶
─────────  =  ──────  =  ────  =  2¹³ nº de entradas
 tam palab            8Bytes            2³

Vemos que llega hasta el 8192 por lo que no nos sirve ya que estamos buscando el 324 548, calculamos el nº de entradas de bloque indirecto doble:

2¹³·2¹³ = 2²⁶ = 67 108 864

Este sí que sirve, así que ya sabemos que el fichero que buscamos está en el indirecto doble, esto significa que necesitamos 4 accesos para llegar al dato: 3 bloques de metadatos (i-nodo, indir simple, indir doble) y 1 para acceder al fichero en sí.