Buffers de Lectura y Escritura en Archivos

Antes de comenzar a explicar como movernos dentro de los datos de un archivo, tenemos que entender como funcionan los buffers de lectura/escritura del Sistema Operativo.

Debido a los tiempos de acceso de la RAM y del Disco Rigido, se busco una forma optima de obtener los datos, lo que se hace es leer de a bloques grandes del disco y estos datos se guardan temporalmente en memoria RAM.

Esta lectura se dispara con la petición de obtención de un dato en disco, y como se dijo, junto a ella se trae mas datos (Un Bloque), ya que es muy probable que la siguiente lectura el dato a obtener esté continua a la anterior, y por ello la siguiente vez que se requiera un dato, este no lo buscara en el disco, si no que ya estará en RAM por lo cual se ahorra mucho tiempo de espera al obtener el dato.

Pasa lo mismo con la escritura, es mas rápido escribir un bloque entero de memoria que pequeñas partes del mismo, por ello también se cuenta con un bloque para las escrituras, donde se van almacenando los datos hasta que el programa se cierre o el bloque se llene (también podemos indicar al Sistema Operativo desde el programa que escriba el buffer en disco cuando mas lo creamos conveniente).

Resumiendo un poco, recordemos que entre el disco rígido y nuestro programa vamos a tener un buffer (Estos son registros en RAM) y que gracias a ello tenemos una mejora en la performance de nuestras lecturas y escrituras.

Saludos a todos :) Happy Hacking } ; )

Comentarios

Entradas más populares de este blog

ZonedDateTime & OffsetDateTime

Migración MongoDb 2.4 -> 2.6 -> 3.0 (con replicas)

Niveles de visión de los datos