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