Tuberias En Linux

Páginas: 10 (2395 palabras) Publicado: 8 de octubre de 2011
INSTITUTO TECNOLOGICO DE TUXTLA GUTIERREZ

INVESTIGACIÓN DE TUBERIAS

ING. EN SISTEMAS
COMPUTACIONALES.

SISTEMAS OPERATIVOS

ALEXIS MAURICIO GÓMEZ PÉREZ

TUXTLA GUTIERREZ, CHIAPAS
A 30 DE SEPTIEMBRE DEL AÑO 2011
Tuberías
1. COMUNICACIÓN ENTRE PROCESOS
La comunicación entre procesos habilita mecanismos para que los procesos puedan intercambiarse datos y sincronizarse. Existentres formas muy elementales para que dos procesos se comuniquen: el envío de señales para la sincronización, el uso de ficheros ordinarios para el intercambio de datos y la llamada a ptrace (comunicación unidireccional) para que un proceso padre pueda manipular el espacio de direcciones virtuales de su hijo. Las señales no deben considerarse parte de la forma habitual de comunicar dos procesos y suuso debe restringirse a la comunicación de eventos o situaciones excepcionales. Los ficheros ordinarios tampoco son la forma más eficiente de comunicarse, ya que se ve involucrado el acceso a disco que suele ser 3 ó 4 órdenes de magnitud más lento que el acceso a memoria. Con llamada a ptrace sólo el padre puede leer datos del hijo.
Los mecanismos que se van a tratar ahora pretender dar solucionesmás eficientes, empleando como canal de transmisión la memoria principal, por lo que se provoca un mayor aumento de velocidad de transferencia de datos.
A la hora de comunicar dos procesos, vamos a considerar dos situaciones claramente diferentes:
* Que los procesos se estén ejecutando bajo el control de una misma maquina.
* Que los procesos se estén ejecutando en maquinas separadas.
Laprimera situación se viene utilizando para comunicar dos o más procesos a nivel local, mediante un mecanismo como son las tuberías, y después pasaremos a ver las facilidades IPC del UNIX System V. Estas engloban tres mecanismos de comunicación: semáforos, memoria compartida y colas de mensajes.
El segundo escenario es más complejo, porque se ven involucradas las redes de ordenadores y lacomunicación entre ellos.
Como introducción al tema de la comunicación entre máquinas remotas, vamos a exponer la interfaz que suministra el UNÍS de Berkeley para comunicar procesos. Esta interfaz se compone de una serie de llamadas que manejan un nuevo tipo de fichero conocido como conector o socket y que actuará como canal de comunicación entre procesos. Aunque un conector es tratado sintácticamentecomo un fichero, semánticamente no lo es. Esto significa que no vamos a tener los problemas de velocidad inherentes al acceso a disco.
Las tuberías son una de las primeras formas de comunicación implantadas en UNIX y muchos sistemas se ofrecen hoy día con esta facilidad. Incluso sistemas monoproceso como Dos ofrecen posibilidad de montar tuberías desde el punto de vista del intérprete de órdenes.Una tubería se puede considerar como un canal de comunicación entre dos procesos, y las hay de dos tipos: tuberías con nombre -FIFOS- y tuberías sin nombre.
2.TUBERÍAS SIN NOMBRE
Las tuberías sin nombre se crean con la llamada pipe y sólo el proceso que hace la llamada y sus descendientes pueden utilizarla; tiene la siguiente declaración:
#include <unistd.h>
int pipe(int fildes [2]);
Sillamada funciona correctamente, devolverá el valor 0 y creará una tubería sin nombre; en caso contrario, devolverá -1 y en errno estará el código del error producido. La tubería creada podrá ser manejada a través del array fildes. Los dos elementos de fildes se comportan como dos descriptores de fichero y los vamos a usar para escribir en la tubería y leer de ella.
Al escribir en fildes[1]estamos escribiendo datos en la tubería y al leer fildes[0] extraeremos datos de ella. Naturalmente, fildes[1] se comporta como un fichero de sólo escritura y fildes[0] como un fichero de sólo lectura.
Como el núcleo trata la tubería igual que a un fichero del sistema, al crearla debe asignarle un nodo-i. También le asigna un par de descriptores de fichero -fildes[0] y fildes[1]- y reserva las...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Linux : Desarrollo De Tuberias
  • tuberias
  • tuberia
  • tuberias
  • tuberias
  • tuberias
  • tuberias
  • Tuberias

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS