(Esta entrada forma parte del Curso de programación en C)
Un registro físico, también llamado bloque, es diferente de los registros que vimos en esta entrada (y que, para diferenciarlos, a veces se denominan registros lógicos). El registro físico es la cantidad de información que el sistema operativo puede enviar o recibir del soporte de memoria secundaria en una operación de escritura o lectura. Esta cantidad depende del hardware.
El registro físico puede ser mayor que el registro lógico, con lo cual, en una sola operación de lectura o escritura, se podrían transferir varios registros lógicos. También puede ocurrir lo contrario, es decir, que el registro físico sea de menor tamaño que el lógico, lo que haría que para transferir un registro lógico fueran necesarias varias operaciones de lectura o escritura.
Se llama factor de bloqueo al número de registros lógicos contenidos en un registro físico.
Como ejemplo vamos a calcular el factor de bloqueo del archivo del epígrafe anterior. Supongamos que el tamaño del registro físico es de 512 bytes (es decir, en una sola lectura o escritura del dispositivo de almacenamiento se pueden transferir 512 bytes) y el registro lógico ocupa 128 bytes, calculados de esta manera1.
- Campo NIF (10 caracteres) = 10 bytes
- Campo Nombre (30 caracteres) = 30 bytes
- Campo Apellidos (40 caracteres) = 40 bytes
- Campo Teléfono (entero largo) = 8 bytes
- Campo Dirección (40 caracteres) = 40 bytes
- TOTAL = 128 bytes
En estas condiciones, el factor de bloqueo es 4, que es el resultado de dividir 512 (tamaño del registro físico) entre 128 (tamaño del registro lógico). En cada registro físico caben exactamente 4 registros lógicos, sin que sobre ningún byte, porque la división de 512 entre 128 es exacta, pero puede ocurrir que no sea así.
Por ejemplo, si el registro lógico ocupase 126 bytes en lugar de 128, en cada registro físico cabrían 4 registros lógicos pero sobrarían 8 bytes. Esto tiene una gran importancia desde el punto de vista del rendimiento, ya que cada acceso a la memoria secundaria requiere bastante tiempo y, por tanto, éstos deben reducirse al máximo.

No comments
Comments feed for this article
Trackback link
http://profeblog.es/blog/alfredo/2008/05/15/ficheros-registros-fisicos-y-registros-logicos/trackback/