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

De Wiki de Sistemas Operativos
Revisión del 12:16 29 oct 2019 de Jairaysan (discusión | contribuciones) (Ejercicio 8)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
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

El tamaño del bloque es de 64 KB = 2**16 B. La CPU es de 64 bits = 2**3 B (tamaño de palabra). Calculemos ahora el número de entradas por indirecto (aunque en este ejercicio en particular no nos haga falta):

tam_bloque/tam_palabra = 2**16/2**3 = 2**13 entradas por indirecto.

Veamos en que bloque está el fichero 324548:

núm_fichero/tam_bloque = 324548/2**16 = 4,95 luego el fichero está en el bloque 5.

Sabiendo esto deducimos que podemos acceder al bloque del fichero de manera directa desde el i-nodo puesto que en el enunciado nos dicen que hay 12 referencias directas a bloques. Por tanto el archivo está en las referencias directas a bloques y necesitaríamos un total de 2 accesos para llegar hasta él:

1 acceso al bloque del i-nodo 1 acceso al bloque de manera directa (sin usar indirectos). (Corregido por Jaime Raynaud 29/10/2019)