You are on page 1of 2

EJERCICIOS: ALMACENAMIENTO

1. Un archivo tiene r=20000 registros ESTUDIANTE de longitud fija. Cada registro


tiene los siguientes campos; NOMBRE (30 bytes), DNI (8 bytes), DIRECCION (40
bytes), TELEFONO (9 bytes), FECHANACIMIENTO (8 bytes), CODPROPROF (5
bytes), CODGRUINV (5 bytes), CATEGORIA (3 bytes), SEMESTRE (3 bytes) y
un byte adicional como marcador de eliminación. El archivo se almacena en un
disco con las características del problema anterior.
a. Calcule el tamaño de un registro R en bytes
b. Calcule el factor de bloque y el número de bloques (b) del archivo,
suponiendo una organización no extendida.
c. Calcule el tiempo medio que tarda la búsqueda de un registro si se utiliza una
búsqueda lineal en el archivo y si:
i. Los bloques del archivo se almacenan continuamente
ii. Los bloques del archivo no se almacenan continuamente
d. Suponga que el archivo está organizado por DNI; calcule el tiempo que tarda
la búsqueda a de un registro dado su valor de DNI.

2. Suponga que solo el 80% de los registros ESTUDIANTE del ejercicio anterior
tienen un valor en el campo TELEFONO, el 85% en CODPROPROF y el 15% en
CODGRUINV, suponga además que se usa un archivo de registros de longitud
variable. Cada registro tiene un tipo de campo de un byte para diferenciar los
campos, un marcador de eliminación de un byte y un marcador de fin de registro de
un byte. La organización utilizada es extendida en la que cada bloque tiene 4 bytes
que ocupan el puntero al siguiente bloque.
Se pide:
a) Calcular la longitud media de los registros en bytes
b) Calcular el número de bloques necesarios para almacenar el archivo.

3. Considere un disco con las siguientes características: tamaño de bloque B=512


bytes, tamaño de separación entre bloques G=128 bytes; número de bloques por
pista =20; número de pistas por superficie =400. Un paquete de discos consta de 15
discos de dos caras cada uno.
a. ¿Cuál es la capacidad total de una pista, y cuál su capacidad útil (excluyendo
las separaciones entre bloques)?
b. ¿Cuántos cilindros hay?
c. ¿Cuál es la capacidad total y la capacidad útil de un cilindro?
d. ¿Cuál es la capacidad total y la capacidad útil de un paquete de discos?
e. Suponga que la unidad de disco gira el paquete de discos a una velocidad de
2400 rpm; ¿cuál es el ratio de transfrencia (rt) en bytes/mseg y el tiempo de
transferencia de bloques (ttb) en mseg? ¿cuál es el retardo rotacional (rr)
medio en mseg? ¿cuál es el ratio de transferencia masiva?
f. Suponga que el tiempo medio de búsqueda es de 30 mseg. ¿cuánto tiempo
lleva (de media) la localización y transferencia de un solo bloque, dada su
dirección?

Revisar: ANEXO B (fundamentos de Sistemas de Bases de Datos – Elmasri, Navathe )


PARAMETROS DE DISCOS:

Tiempo de búsqueda(s): tiempo requerido para colocar mecánicamente la cabeza de


lectura/escritura sobre la pista correcta en los disco de cabeza móvil. Por lo general el
fabricante cita un tiempo de búsqueda medio en milisegundos. El intervalo usual de
tiempos de búsqueda medios es de 10 a 60 mseg. Éste es el principal “culpable” del
retardo que implica transferir bloques entre el disco y la memoria.

Retardo rotacional (rr): una vez que la cabeza de lectura/escritura esta sobre la pista
correcta, el usuario debe esperar hasta que el principio del bloque deseado pase por
debajo de la cabeza. Si la velocidad de rotación del disco es p revoluciones por minuto
(rpm), el retardo rotacional medio está dado por:
rr = ( ½ ) * ( 1/p) min = (60 * 1000)/ (2 * p) mseg.

Tiempo de transferencia de un bloque (ttb): una vez que la cabeza de lectura/escritura


está al principio del bloque deseado, se requiere cierto tiempo para transferir los datos
del bloque. Este tiempo de transferencia de bloque depende del tamaño del bloque, el
tamaño de las pistas y la velocidad rotacional. Si el ratio de transferencia del disco es
rt bytes/mseg y el tamaño de bloques es B bytes, entonces:

ttb = B/rt mseg

ejemplo: si tenemos pistas de 50 Kb y p es 3600 rpm, el ratio de transferencia en


bytes/mseg es:
rt = (50 * 1000)/(60 * 1000/3600) = 3000 bytes/mseg
en este caso, ttb = B/3000 mseg, donde B es el tamaño del bloque en bytes.

You might also like