Sie sind auf Seite 1von 4

Pipes and filters (tuberias y filtros)

Que es?
En informtica, un pipeline o tubera es un conjunto de elementos procesadores de datos
conectados en serie, en donde la salida de un elemento es la entrada del siguiente. Los
elementos del pipeline son generalmente ejecutados en paralelo, en esos casos, debe
haber un almacenamiento tipo buffer insertado entre elementos.
(Buffer es un rea de memoria creada para realizar procesos muy grandes que el disco los
realizara de forma ms lenta por el tamao de archivos) (Lectura RAM es ms rpida que
desde el disco).

Aplicaciones de pipelines en informtica

1. Pipelines grficos, se encuentran en la mayora de las tarjetas grficas, consiste en
mltiples unidades aritmticas o CPUs completas, que implementan variados escenarios
de operaciones tpicas de renderizado, por ejemplo, clculos de luz y colores, renderizado,
proyeccin de perspectiva, etc.

2. Pipelines de software o tuberas, consiste en mltiples 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.


Suena complicado pero no lo es; el nombre quiere decir en espaol "tuberas", y el
sistema es bsicamente como el agua que circula por caeras o tubos. En este caso el
agua vendra a ser la informacin o los procesos.

El pipeline es comn verlo en sistemas operativos multitarea, como los que empleamos
hoy en da en nuestras computadoras; se ejecutan una serie de procesos de manera
simultnea, que son ejecutados luego de manera secuencial mediante una administrador
de tareas dndoles diferente prioridad y capacidad de procesamiento, alternando entre
un "pipeline" y los dems.
Pipeline es un trmino ingls que puede traducirse como tubera. Aunque no forma
parte del diccionario de la Real Academia Espaola (RAE), el concepto se utiliza en nuestra
lengua para hacer referencia a una arquitectura de la informtica.

Estas tuberas virtuales se crean para segmentar los datos y, de este modo, incrementar el
rendimiento de un sistema digital. Se trata de una arquitectura basada en el
funcionamiento de los oleoductos, que estn segmentados en diversos ramales y que
cuentan con bombas para impulsar, en cada trecho, el avance del gas.

En la informtica, el pipeline se emplea en microprocesadores, tarjetas grficas y
software. Los clculos que se realizan en el proceso de programacin deben sincronizarse
con un reloj para evitar los tramos ms recargados que se detectan entre dos registros.

Segmentar los clculos, por lo tanto, permite mejorar la frecuencia de trabajo. Este tipo de
flujo de datos implica que la salida de una fase es una entrada de otra. As, los diversos
tramos o fases se encadenan a la manera de una tubera, logrando agilizar el flujo a travs
de este pipeline.

Lo habitual es que la ejecucin de estos elementos se desarrolle en paralelo, lo que hace
que se apele a un buffer (un tipo de almacenamiento) cuando los elementos se hallan en
posiciones consecutivas.

Se puede diferenciar entre pipelines sin nombre (que funcionan de manera temporal y se
borran al no estar en uso) y pipelines con nombre (creados en el propio sistema de
archivos, facilitan la comunicacin de los diversos procesos que apelan a la tubera en
cuestin).

En informtica, una tubera (pipe, cauce o '|') consiste en una cadena de procesos
conectados de forma tal que la salida de cada elemento de la cadena es la entrada del
prximo. Permiten la comunicacin y sincronizacin entre procesos. Es comn el uso de
buffer de datos entre elementos consecutivos.

La comunicacin por medio de tuberas se basa en la interaccin productor/consumidor,
los procesos productores (aquellos que envan datos) se comunican con los procesos
consumidores (que reciben datos) siguiendo un orden FIFO. Una vez que el proceso
consumidor recibe un dato, este se elimina de la tubera.

Las tuberas (pipes) estn implementadas en forma muy eficiente en los sistemas
operativos multitarea, iniciando todos los procesos al mismo tiempo, y atendiendo
automticamente los requerimientos de lectura de datos para cada proceso cuando los
datos son escritos por el proceso anterior. De esta manera el planificador de corto plazo
va a dar el uso de la CPU a cada proceso a medida que pueda ejecutarse minimizando los
tiempos muertos.

Para mejorar el rendimiento, la mayora de los sistemas operativos implementan las
tuberas usando buffers, lo que permite al proceso proveedor generar ms datos que lo
que el proceso consumidor puede atender inmediatamente.

Podemos distinguir dos tipos de tuberas:

Tubera sin nombre: Las tuberas sin nombre tienen asociado un fichero en memoria
principal, por lo tanto, son temporales y se eliminan cuando no estn siendo usados ni por
productores ni por consumidores. Permiten la comunicacin entre el proceso que crea un
cauce y y procesos hijos tras las creacin de la tubera.
Tubera con nombre: Su diferencia respecto a las tuberas sin nombre radica en que el
cauce se crea en el sistema de archivos, y por lo tanto no tienen carcter temporal. Se
mediante llamadas al sistema (open , close, read y write) como el resto de ficheros del
sistema. Permiten la comunicacin entre los procesos que usen dicha tubera, aunque no
exista una conexin jerrquica entre ellos.

La arquitectura en pipeline (basada en filtros) 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.

Esta arquitectura es muy comn en el desarrollo de programas para el intrprete de
comandos, ya que se pueden concatenar comandos fcilmente con tuberas (pipe).

Tambin es una arquitectura muy natural en el paradigma de programacin funcional, ya
que equivale a la composicin de funciones matemticas.

Biblio

http://www.fceia.unr.edu.ar/ingsoft/unidad11-4.pdf?q=arquitectura-de-software
http://www.alegsa.com.ar/Dic/pipeline.php
http://tuspreguntas.misrespuestas.com/preg.php?idPregunta=9785
http://www.slideshare.net/rehoscript/arquitectura-pipeline
http://definicion.de/pipeline/
http://es.wikipedia.org/wiki/Segmentaci%C3%B3n_(inform%C3%A1tica)
https://es.answers.yahoo.com/question/index?qid=20070514151910AATbopX
http://www.bloginformatico.com/diferencias-entre-memoria-ram-y-rom.php
https://www.google.cl/search?q=pipes+and+filters&safe=off&rlz=1C1CHMO_esCL579CL5
79&es_sm=122&source=lnms&tbm=isch&sa=X&ei=2al9U_mwAZLgsATxi4GIBw&ved=0CA
gQ_AUoAQ&biw=1920&bih=912

Das könnte Ihnen auch gefallen