Búfer de E/S y sus diversas técnicas

Un búfer es un área de memoria que almacena datos que se transfieren entre dos dispositivos o entre un dispositivo y una aplicación.

Usos del búfer de E/S:

  • El almacenamiento en búfer se realiza para tratar de manera efectiva una falta de coincidencia de velocidad entre el productor y el consumidor del flujo de datos.
  • Se produce un búfer en la memoria principal para acumular los bytes recibidos del módem.
  • Después de recibir los datos en el búfer, los datos se transfieren al disco desde el búfer en una sola operación.
  • Este proceso de transferencia de datos no es instantáneo, por lo que el módem necesita otro búfer para almacenar datos entrantes adicionales.
  • Cuando se llena el primer búfer, se solicita transferir los datos al disco.
  • Luego, el módem comienza a llenar los datos entrantes adicionales en el segundo búfer mientras los datos en el primer búfer se transfieren al disco.
  • Cuando ambos búfer completaron sus tareas, el módem vuelve al primer búfer mientras los datos del segundo búfer se transfieren al disco.
  • El uso de dos buffers desintegra al productor y al consumidor de los datos, minimizando así los requisitos de tiempo entre ellos.
  • El almacenamiento en búfer también proporciona variaciones para dispositivos que tienen diferentes tamaños de transferencia de datos.

Tipos de diversas técnicas de almacenamiento en búfer de E/S:

1. Búfer único:
el sistema operativo proporciona un búfer a la parte del sistema de la memoria principal.

Dispositivo orientado a bloques –

  • El búfer del sistema toma la entrada.
  • Después de tomar la entrada, el proceso transfiere el bloque al espacio del usuario y luego el proceso solicita otro bloque.
  • Dos bloques funcionan simultáneamente, cuando el proceso del usuario procesa un bloque de datos, se lee el siguiente bloque.
  • El sistema operativo puede intercambiar los procesos.
  • El sistema operativo puede registrar los datos del búfer del sistema en los procesos del usuario.

Dispositivo orientado a la transmisión:

  • La operación de línea a la vez se utiliza para terminales de desplazamiento. El usuario ingresa una línea a la vez, con una señalización de retorno de carro al final de una línea.
  • La operación de byte a la vez se usa en modo de formularios, terminales cuando cada pulsación de tecla es significativa.

2. Doble búfer:

Orientado a bloques –

  • Hay dos buffers en el sistema.
  • El controlador o controlador utiliza un búfer para almacenar datos mientras espera que los tome un nivel superior de la jerarquía.
  • Otro búfer se utiliza para almacenar datos del módulo de nivel inferior.
  • El doble almacenamiento en búfer también se conoce como intercambio de búfer.
  • Una gran desventaja del doble almacenamiento en búfer es que aumenta la complejidad del proceso.
  • Si el proceso realiza ráfagas rápidas de E/S, el uso de doble búfer puede ser deficiente.

Orientado a la corriente –

  • E/S de línea a la vez, el proceso de usuario no necesita suspenderse para entrada o salida, a menos que el proceso se ejecute antes que el búfer doble.
  • Operaciones de byte a la vez, el doble búfer no ofrece ninguna ventaja sobre un solo búfer del doble de longitud.

3. Amortiguador circular:

  • Cuando se utilizan más de dos búferes, la colección de búferes en sí misma se denomina búfer circular.
  • En esto, los datos no pasan directamente del productor al consumidor porque los datos cambiarían debido a la sobrescritura de los búferes antes de que se hayan consumido.
  • El productor solo puede llenar hasta el búfer i-1 mientras los datos en el búfer i están a la espera de ser consumidos.

Publicación traducida automáticamente

Artículo escrito por hacksight y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *