Búfer

Un búfer (buffer en inglés) es un espacio en memoria que se utiliza para almacenar temporalmente datos con un único fin. Cumple 2 objetivos principales:

  • Evitar que un dispositivo se quede sin datos que procesar en procesos con una transferencia de datos irregular
  • Evitar cuellos de botella

Imaginemos un disco duro. Un disco duro no es más que una caja que encierra unos platos circulares donde se almacena información magnéticamente, y unas cabezas que se encargan de leer/escribir la información. El proceso de lectura y escritura, es un proceso relativamente lento. Leer un dato implica: que el disco gire hasta la posición donde se encuentra el dato, que la cabeza se posicione sobre ese dato, y que lea el dato en cuestión. La escritura implica el mismo procedimiento.

Imaginemos ahora la controladora de disco que se encuentra en la placa base, y que se encarga de mandarle datos al disco duro. Si tiene que esperar, para cada dato, a que el disco busque, se posicione y lea o escriba, se generará un cuello de botella, puesto que durante ese proceso, está perdiendo un tiempo valiosísimo que podría estar empleando en hacer otras cosas.

Para eso se crearon los buffer. Cuando la controladora del disco necesita escribir una serie de datos, los deja en una memoria intermedia, el búfer, para que el disco vaya cogiendo de ahí la información a medida que la va procesando. Mientras el disco duro va trabajando, la controladora (y por lo tanto los recursos de la placa base) quedan libres para poder ejecutar otras tareas.