Arquitectura pipeline
-
Upload
rehoscript -
Category
Documents
-
view
3.963 -
download
0
Transcript of Arquitectura pipeline
Arquitectura Pipeline
Daniel Alonso MoranJosé Alejandro Mendoza Morales
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.
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.
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.
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.
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).
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.
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.
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.
Gracias por su atención