Está en la página 1de 2

EJERCICIOS TEMA 6

Ejercicio 2

Conocer la estructura de un inodo en Unix.

Calcular el número de bloques que pueden direccionarse desde un bloque índice. Como el tamaño de bloque es de 512 bytes y las direcciones son de 4 bytes, obtenemos 512/4 = 128 direcciones por bloque.

El número total de bloques será: 10+128+128 2 +128 3 . El tamaño máximo se obtiene multiplicando el número de bloques por el tamaño de cada bloque (512 bytes), lo cual nos da un tamaño ligeramente superior a 1 GB.

Ejercicio 3

Primero, calculamos el número de inodos que caben en un bloque:

(

)

(

)

Así, el número total de inodos es: 2048 x 8 = 2^11 x 2^3 = 2^14 inodos.

Así, por cada inodo tenemos un bit en el mapa de bits de inodos, así el tamaño del mapa de bits será:

Ejercicio 4

(

)

a)- Un fichero de tipo directorio, es una tabla que asocia a cada nombre simbólico de fichero su propio inodo. Con un nombre de fichero debemos recorrer dicha tabla. Así, si existe una entrada con ese nombre de fichero obtenemos el número de inodo. Tenemos que tener en cuenta que puede ser 0, lo que indica que el nombre de fichero ha sido borrado anteriormente.

b)- Una vez que se sabe el número de inodo, debemos consultar en éste dos tipos de informaciones. Primero tenemos que clasificar al usuario que intenta acceder al fichero en uno de los grupos que tenemos (propietario, grupo o resto de usuarios). Esto lo realizamos comparando el usuario que accede con los campos UID y GID propietarios del fichero, esta información aparece en el inodo. En segundo lugar consultamos el tipo de permisos que tiene concedidos esa clase de usuario (lectura, escritura o ejecución), información que está en el inodo.

c)-La orden Shell para poder borrar un fichero utiliza la llamada al sistema unlink, la cual consiste en marcar como borrado dicho nombre de fichero en la entrada del directorio correspondiente y decrementar el contador de enlaces (no simbólicos) que aparecen en el

inodo. Así, cuando este contador llega a 0 podemos liberar todos los bloques de datos asociados al fichero.

d)- No varía. Un enlace simbólico supone la creación de un nuevo fichero, por lo que tiene asignado un nuevo inodo, el cual tiene el contenido de un nombre de fichero al cual lo hemos enlazado.

Ejercicio 5

1 Gbyte = 2 30 bytes.

a) El sistema de ficheros de MS-DOS (FAT) utiliza direcciones de bloque de 16 bits. Esto permite direccionar 2 16 bloques. El tamaño de bloque mínimo es:

b) FAT 32 permite direccionar 2 32 bloques. El tamaño máximo de disco que podemos direccionar con bloques de 1 Kbyte (2 10 bytes) es:

2 12 Gbytes

Por tanto el valor de N es 2 12

c) Dado un tamaño de bloque de b bytes y direcciones de bloques de 4 bytes, en cada bloque se pueden direccionar:

p=b/4 bloques

d) Debemos considerar los bloques ocupados por datos (los del apartado anterior) más los bloques ocupados por los índices.

El primer nivel de indexación utiliza 1 bloque índice.

El segundo utiliza 1+p índices.

El tercero utiliza 1+p+p 2 índices.

Por lo tanto:

(10+p+p 2 +p 3 )+(1)+(1+p)+(1+p+p 2 ) bloques.