Search This Blog

Saturday 9 May 2015

Memoria temporal(buffer)





En informática, un búfer (del inglés, buffer) es un espacio de memoria, en el que se almacenan datos de manera temporal, normalmente para un único uso (generalmente utilizan un sistema de cola FIFO); su principal uso es para evitar que el programa o recurso que los requiere, ya sea hardware o software, se quede sin datos durante una transferencia (entrada/salida) de datos irregular o por la velocidad del proceso.
Normalmente los datos se almacenan en un búfer mientras son transferidos desde un dispositivo de entrada (como un ratón omouse) o justo antes de enviarlos a un dispositivo de salida (por ejemplo: altavoces). También puede utilizarse para transferir datos entre procesos, de una forma parecida a los búferes utilizados en telecomunicaciones. Un ejemplo de esto último ocurre en una comunicación telefónica, en la que al realizar una llamada esta se almacena, se disminuye su calidad y el número debytes a ser transferidos, y luego se envían estos datos modificados al receptor.

Los buferes pueden ser implementados por software o hardware, esto depende del origen del búfer, aunque la gran mayoría son del tipo software debido a la flexibilidad para su creación.
Normalmente se usan cuando la frecuencia de transferencia de datos es distinta a la de procesado, dependiendo de las limitaciones del sistema, o también cuando la frecuencia es variable, como en la recepción de vídeo en-línea (streaming). Éstas diferencias temporales de transmisión son normalmente ajustadas mediante la implementación de un algoritmo tipo cola (o estructura de tipo FIFO) en memoria, para así escribir datos en la cola a una frecuencia y leerlos a otra. Esto ocurre en el envío de datos de un procesador a una impresora para que los imprima. La velocidad de impresión de la fotocopiadora en comparación a la del procesador es muy lenta, debido a esto la impresora tendrá que tener una cola FIFO (software), para ir acumulando los trabajos que todavía no se han podido imprimir.
Los búferes se pueden usar en cualquier sistema digital, no solo en informáticos, como en reproductores de música y video.
Se puede ejemplificar la función de un búfer utilizando ésta metáfora: «un búfer es como tener dinero en el banco (buffer), un trabajo (entrada) y unos gastos fijos (salida). Si tienes un trabajo inestable, mientras tengas ciertos ahorros, puedes mantener tus gastos fijos sin problemas, e ir ingresando dinero cuando puedas según vas trabajando. Si los ahorros son pequeños, enseguida que no tengas trabajo, no vas a poder acometer los gastos fijos. De la misma forma si escuchas música en Internety tu programa de audio usa un búfer pequeño, en cuanto que haya alguna interrupción en la descarga (porque las descargas nunca tienen una velocidad constante), notarás cortes de sonido, ya que faltará información».

Los búferes se utilizan, a menudo, conjuntamente con E/S de hardware, tal como unidades de disco, enviar o recibir datos a/o desde una red, o reproducción de sonido en un altavoz. Una línea a una montaña rusa en un parque de atracciones comparte muchas similitudes. Las personas que viajan en la montaña llegan a un ritmo desconocido y variable, pero la montaña rusa será capaz de cargar personas de golpe (tal como llegan se van montando). La zona de la cola actúa como un búfer: un espacio temporal donde los que deseen viajar deben esperar a que el viaje esté disponible. Los búferes utilizan generalmente un método FIFO (primero en entrar, primero en salir), es decir, la salida de datos se produce en el orden en que llegaron.

No comments:

Post a Comment