Diferencia entre revisiones de «Solución de los ejercicios de administración de ficheros»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(Añadir soluciones de los ejercicio 8 y 9)
m (Cambiar unidades de B a Byte)
Línea 63: Línea 63:
 
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:
 
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¹⁴B
+
16KB = 2¹⁴Bytes
  
2¹⁴B - 4B = 15.996KB
+
2¹⁴B - 4B = 15,996KBytes
  
  
Línea 76: Línea 76:
 
Por lo tanto, el desperdicio interno total será el producto del desperdicio por bloque por el número de bloques:
 
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 KB
+
50·2⁶ * 15,996 = 51187,2 KBytes
  
 
== Ejercicio 8 ==
 
== Ejercicio 8 ==
Línea 82: Línea 82:
 
Calculamos el número de entradas del bloque indirecto doble:
 
Calculamos el número de entradas del bloque indirecto doble:
  
   tam bloque          32KB            2¹⁵
+
   tam bloque          32KBytes      2¹⁵
 
  ─────────  =  ──────  =  ────  =  2¹³ nº de entradas
 
  ─────────  =  ──────  =  ────  =  2¹³ nº de entradas
   tam palab                4B             
+
   tam palab                4Bytes       
  
 
ahora calculamos el número de bloques:
 
ahora calculamos el número de bloques:
Línea 90: Línea 90:
 
16 + 2¹³ + 2¹³·2¹³ = 67117072
 
16 + 2¹³ + 2¹³·2¹³ = 67117072
  
por último, el producto del tamaño de bloque por el número de bloques son aproximadamente 2048.29GB
+
por último, el producto del tamaño de bloque por el número de bloques son aproximadamente 2048.29GBytes
  
 
== Ejercicio 9 ==
 
== Ejercicio 9 ==
Línea 96: Línea 96:
 
Calculamos primero el número de entradas de bloques indirecto simple:
 
Calculamos primero el número de entradas de bloques indirecto simple:
  
   tam bloque         64KB            2¹⁶
+
   tam bloque     64KBytes        2¹⁶
 
  ─────────  =  ──────  =  ────  =  2¹³ nº de entradas
 
  ─────────  =  ──────  =  ────  =  2¹³ nº de entradas
   tam palab               8B             
+
   tam palab           8Bytes           
  
 
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:
 
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:

Revisión del 12:27 28 may 2019

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í.