La arquitectura pipeline consiste en una cadena de elementos de procesamiento ordenados donde la salida de cada elemento es la entrada del siguiente. Funciona de manera similar a un sistema de tuberías, donde la información fluye de un proceso a otro de forma secuencial. Los pipelines se usan comúnmente en sistemas operativos multitarea y gráficos, dividiendo tareas complejas en etapas ordenadas conectadas por almacenamiento temporal.
2. INTRODUCCION
Es un término perteneciente a la ingeniería
de software, y consiste en una cadena de
elementos de procesamiento ordenados de
tal manera que la salida de cada elemento
es la entrada del siguiente.
3. Suena complicado pero no lo es; el nombre
quiere decir en español "tuberías", y el
sistema es básicamente como el agua que
circula por cañerías o tubos. En este caso el
agua vendría a ser la información o los
procesos.
4.
5. La arquitectura en pipeline consiste en ir transformando un
flujo de datos en un proceso comprendido por varias fases
secuenciales, siendo la entrada de cada una la salida de la
anterior, con almacenamiento temporal de datos o
buffering entre los procesos.
6. El pipeline es común verlo en sistemas
operativos multitarea ya que ejecutan una
serie de procesos de manera simultánea,
los cuales son ejecutados luego de manera
secuencial mediante una administrador de
tareas dándoles diferente prioridad y
capacidad de procesamiento, alternando
entre este sistema ("pipeline“) y los demás.
7. Aplicaciones de pipelines en
informática
1. Pipelines gráficos, se encuentran en la mayoría de
las tarjetas gráficas, el cual consiste en múltiples
unidades aritméticas o CPU completas, el cual
implementan variados escenarios de operaciones
típicas , por ejemplo, cálculos de luz y colores, la
proyección de perspectiva, etc.
2. Pipelines de software o tuberías, consiste en
múltiples procesos ordenados de tal forma que el
flujo de salida de un proceso alimenta la entrada del
siguiente proceso. Por ejemplo, los pipelines de
Unix(permite conectar procesos, permitiendo que la
salida estándar de un proceso de alimentación sea la
entrada estándar de otro proceso).
8. Implementación tipo Unix
En la mayoría de los sistemas tipo Unix, los
procesos de este sistema se inician al
mismo tiempo, con sus corrientes
conectados bien planeados, y gestionado
por el planificador junto con todos los
demás procesos que se ejecutan en la
máquina.
9. Un aspecto importante de este sistema
, además de las implementaciones, es el
concepto de almacenamiento en búfer : por
ejemplo, un programa que envía datos
puede producir 5.000 bytes por segundo , y
un programa de recepción sólo puede ser
capaz de aceptar 100 bytes por
segundo, pero los datos no se pierden.
10. Cuando el programa de recepción está listo
para leer los datos, el sistema operativo
envía sus datos de la cola, a continuación,
elimina los datos de la cola.
Si el buffer de la cola se llena, el programa
de envío se suspende (se bloquea) hasta
que el programa de recepción ha tenido la
oportunidad de leer algunos datos y hacer
espacio en el búfer. En Linux, el tamaño del
búfer es de 65536 bytes.