Está en la página 1de 2

TALLER DE USOS Y RECURSOS MULTIMEDIALES | 2° Año Tecnicatura Superior Auxiliar Docente - I.S.E.T. UEP Nº 107 | PROF. J.

MEZA ESCALANTE
1

BÚFER DE DATOS
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||
En informática, un búfer es un espacio de memoria, en el que se almacenan datos de manera temporal,
normalmente para un único uso; 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 o mouse) 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 de bytes a ser transferidos, y luego se
envían estos datos modificados al receptor.

Implementación
Los búferes pueden ser implementados por software o hardware, esto depende del origen del búfer, aunque la
gran mayoría es 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). Estas 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 Internet y tu programa de audio usa un búfer
pequeño, en cuanto 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».

Requerimientos mínimos
Para que un búfer, de tipo software o hardware, pueda funcionar correctamente es indispensable que este
posea como mínimo las siguientes características:
 Espacio: es la memoria en donde se guarda la información almacenada en el búfer, sin ella no existe
en donde guardar la información
 Dirección: indica en donde esté el espacio
 Dimensión: indica el tamaño del espacio
 Índice o particiones: indica cómo se utilizara la información almacenada en el búfer

Aplicaciones
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.

Diferencias con la caché


Una memoria caché puede ser usada a veces como un búfer, y viceversa. Sin embargo, una caché opera con el
supuesto de que los mismos datos van a ser utilizados múltiples veces, que los datos escritos serán leídos
en un periodo corto de tiempo, o teniendo en cuenta la posibilidad de múltiples lecturas o escrituras para
formar un único bloque más grande. Su premisa básica es reducir los accesos a los almacenamientos de nivel
más bajo, los cuales son bastante lentos. La caché también es normalmente una capa de abstracción que está
diseñada para ser invisible.
Una caché de disco o archivo de caché guarda las estadísticas de los datos almacenados en él y proporciona
datos con un tiempo máximo de espera en modos de escritura en diferido. Un búfer, por el contrario, no hace
nada de esto, sino que es utilizado normalmente en entrada, salida y a veces, almacenamiento temporal de
TALLER DE USOS Y RECURSOS MULTIMEDIALES | 2° Año Tecnicatura Superior Auxiliar Docente - I.S.E.T. UEP Nº 107 | PROF. J. MEZA ESCALANTE
2

datos que se enrutan entre distintos dispositivos o que van a ser modificados de manera no secuencial antes
de ser escritos o leídos de manera secuencial.

Problemas
Los problemas más comunes para los búferes son:
1. Desbordamiento de búfer (overflow), también conocido como overrun, el cual se da cuando el tamaño
del búfer es insuficiente para almacenar la información que se desea ingresar normalmente ocasionado
por un problema de programación en donde el programa a usar el búfer malinterpreta el tamaño de dicho
búfer.
2. Subdesbordamiento de búfer (underflow), también conocido como underrun, es un problema generado por
la falta de información en el búfer cuando es requerida por el otro programa ocasionando generalmente
por un error de tiempos, velocidad inestable de transferencia de datos.
3. Sobreescritura, también conocido como overwrite, es un problema generalmente creado por la mala
programación del búfer ya que se escribe información en espacios de memoria donde todavía no se
utiliza esa información ocasionando la pérdida de dicha información.

Búfer de telecomunicación
La rutina del búfer, o bien, el almacenamiento medio usado en telecomunicaciones, compensa una diferencia
en el flujo de datos, o el tiempo de la ocurrencia, al transferir datos desde un dispositivo a otro.

Los almacenadores intermedios se utilizan para muchos propósitos, por ejemplo:


 Interconectando dos circuitos digitales que funcionan a diversas velocidades.
 Datos de posesión para el uso en un momento posterior.
 Permitir que las correcciones que miden el tiempo sean hechas en una secuencia de datos.
 Recoger los bits de datos binarios en los grupos que pueden funcionar encendido como unidad.
 Retraso de la época de tránsito de una señal para permitir que otras operaciones ocurran.

Administración
A continuación se muestran algunas de las formas en que se administran los diferentes tipos de búferes,
cada método a utilizar depende de la información a tratar o de los procesos que la van a utilizar.
A. Almacenamiento temporal único por demanda: este sistema no consta más que del búfer y el programa
que lo utiliza. El búfer es simplemente un algoritmo de cola utilizado por el programa, por lo que
es este último quien le especifica cuándo lo va a utilizar por medio de demandas.
B. Almacenamiento temporal por anticipación: en este caso, se le añade una bandera (flag) al búfer, que
va a estar cambiando de valor constantemente para indicar cuando este está lleno o vacío. Esto con
el fin de que el búfer se anticipe a las demandas del programa y pueda llenarse por sí mismo cuando
se detecte que ya está vacío.
C. Almacenamiento temporal con bloques: aparte de la bandera, en este caso, el búfer también tiene una
variable contador, que le permite saber el índice del último registro que pudo almacenar en su
memoria. Así, cuando se leen bloques grandes de información, el búfer sabe exactamente cuál es el
siguiente registro a procesar.
D. Doble almacenamiento temporal: este método consta de dos búferes idénticos al del caso del almace-
namiento temporal con bloques, y estos trabajan de forma coordinada almacenando información que el
otro no alcanzó a almacenar antes de llenarse. La idea es que un búfer se llene mientras el otro se
vacía, con el fin de optimizar el proceso.
E. Triple almacenamiento temporal: en este caso, se cuenta con tres búferes coordinados. Al menos uno
siempre tiene que estar lleno, así el programa puede estar procesando información sin interrupciones.

ACTIVIDADES:
1. Explicar el funcionamiento y el área de implementación de un búfer de datos
2. Mencionar los requerimientos mínimos para que el búfer de datos funcione de manera correcta.
3. Realizar un cuadro comparativo entre la memoria caché y el búfer de datos.
4. Seleccionar y describir uno de los problemas más comunes de los búferes.
5. Describir el método de almacenamiento temporal único por demanda y el almacenamiento temporal por
bloques.

FECHA DE ENTREGA: 12/10/2016

También podría gustarte