Cuestionario actividad 4 tema 5

Anuncio
Cuestionario almacenamiento en disco y gestión de memoria.
1. Suponer que se dispone de un disco donde el tamaño del bloque es de 12 bytes y se usan
32 bits para referenciar cada uno de los bloques. Si se desea almacenar un fichero cuyo
tamaño es de 10 Kbytes, ¿cuántos bloques son necesarios si se usa asignación encadenada?
¿Cuántos bits se desperdician en el último bloque (sin datos ni dirección de bloque)?
Asignación encadenada:
508 bytes 4 bytes
Datos
REF.
Trabajo = 10 Kbytes = 10240 bytes
10240 / 508 = 20’15 que equivalen a 21 bloques y resto = 80.
Forma larga para hallar ese resto:
508 * 20 = 10160 bytes
10240 – 10160 = 80 bytes
508 – 80 = 428 bytes desperdiciados.
2. Uno de los ficheros existentes en el sistema posee 100 registros lógicos de 250 bytes cada
uno. El tamaño de los bloques físicos del disco es de 512 bytes. Los registros lógicos están
organizados en forma secuencial desde el punto de vista lógico.
a. ¿A cuántos bloques se deben acceder para disponer del registro lógico 485 si el
espacio se asigna de forma contigua?
1000 * 250 = 250000 bytes
Trabajo / bloque = 250000 / 512 = 488’28 que equivalen a 489 bloques contiguos.
250 bytes * 485 = 121250 bytes
121250 – 120832 = 418
Por lo tanto: Comienza en el bloque 237 y continúa en el 238.
b. Si las direcciones ocupan 12 bytes, ¿cuántos bloques son necesarios si se usa
asignación encadenada para almacenar el citado fichero? ¿Cuántos bytes se
desperdician en el último bloque (sin datos ni dirección a bloques)?
500 bytes 12 bytes
Datos
REF.
250000 / 500 = 500 bloques.
No se desperdician bytes.
c. Si en cada bloque caben 40 direcciones, ¿cuántos bloques de datos son necesarios si
se usa asignación indexada para almacenar el citado fichero? ¿Cuántos bloques son
necesarios para mantener la tabla de índices (bloques de índices)?
Tamaño trabajo = 489 bloques de datos.
489 / 40 = 12’225 que equivalen a 13 bloques para la tabla
13 + 1 (para mantener la tabla de índices) = 14 bloques
Nº de direcciones = 0’225 * 40 = 9 direcciones.
3. En un sistema de ficheros, los discos son de 20 Mbytes y el tamaño del bloque físico es de
1024 bytes. Para apuntar a un bloque se requieren 4 bytes.
a. ¿Estando libre una zona del disco que contiene el 50% de los bloques, qué técnica de
control de espacio libre (mapa del disco y lista de bloques libres) usa menos espacio
en disco?
Nº bloques/disco = Tamaño disco / tamaño bloque = 20 Mbytes / 1024 bytes = 20480
bloques
Mapa del disco: ocupa 20480 bits = 2’5 Kbytes
Lista: 4 * 10240 = 40960 = 40 Kbytes
Mapa del disco usa menos espacio.
b. ¿Y si la zona del disco libre corresponde al 25% de los bloques?
Mapa: 2’5 Kbytes
Lista: 5120 * 4 = 20 Kbytes
4. Teniendo en cuenta la estructura interna usada por el SO Unix para implementar un
directorio, ¿cuál sería el tamaño máximo del fichero que este SO puede aceptar si el tamaño
del bloque es de 1 Kbyte y se usan 32 bits para direccionar un bloque?
10 direcciones (direcciones directas) = 10 bloques * 1 Kbyte = 10Kbytes
11 dirección (indirecta simple) apunta: 1 bloque índices = 256 direcciones * 1 Kbyte = 256
Kbytes
Nº direcciones / bloque = tamaño bloque / tamaño dirección = 1 Kbyte / 4 byte = 256
direcciones
12 dirección (indirecta doble) = 256 * 256 bloque = 65536 Kbytes = 64 Mbytes
13 dirección (indirecta simple) = 256 * 256 * 256 bloque = 16 Gbytes
Tamaño máximo fichero = 16 Gbytes + 64 Mbytes + 256 Kbytes ; esto equivale a 16 Gbytes
5. Suponer que se dispone de un disco donde el tamaño del bloque es de 256 bytes y se usan
64 bits para referenciar cada uno de los bloques. Responder a las siguientes cuestiones, si se
desea almacenar un fichero cuyo tamaño es 9535 bytes y el sistema de ficheros usa
asignación indexada:
a. ¿Cuántos bloques de datos son necesarios? ¿Cuántos bytes quedan libres en dichos
bloques de datos)?
Bloque = 256 bytes
Ref = 64 bits = 8 bytes
Trabajo = 9535 bytes
Nº de bloques = trabajo/tamaño bloque = 9536 / 256 = 37 con resto 63
Por lo tanto: son necesarios 38 bloques.
256 – 63 = 193
Se ocupan 37 bloques completos y 193 bytes libres en el bloque 38.
b. ¿Cuántos bloques son necesarios para mantener la tabla de índices (bloque de
índices)? ¿Cuántos bytes quedan libres en dichos bloques de índices?
256/8 = 32 referencias/bloque
32 direcciones
2 direcciones
240 bytes libres
1er nivel
15 direcciones
136 bytes libres
2º nivel
c. ¿Hasta qué tamaño puede crecer el fichero si el sistema de ficheros sólo admite dos
niveles para la tabla de índices?
256 * 32 * 32 = 262144 bytes
1
1
…
32
…
32
Tabla de índices
256 bytes
6. Un sistema de ficheros utiliza una técnica de asignación de espacio indexada con dos
niveles de índices. Cada bloque físico puede contener un máximo de 128 direcciones al
siguiente nivel. ¿Cuántos bloques de datos y de índices serán necesarios para almacenar un
fichero de 10000 registros si cada uno de estos ocupa un bloque físico.
1
1
…
1
…
1
79
…
16
10000 / 128 = 78 con resto 16.
EL trabajo ocupa 79 bloques + 1 para el primer nivel.
Descargar