El sistema de Entrada/Salida de Unix sigue el paradigma que normalmente
se designa como Abrir-Leer-Escribir-Cerrar. Antes de que
un proceso de usuario pueda realizar operaciones de entrada/salida,
debe hacer una llamada a Abrir (open) para indicar,
y obtener permisos para su uso, el fichero o dispositivo que quiere
utilizar. Una vez que el objeto está abierto, el proceso
de usuario realiza una o varias llamadas a Leer (read)
y Escribir (write), para conseguir leer y escribir
datos. Leer coge datos desde el objeto y los transfiere
al proceso de usuario, mientras que Escribir transfiere
datos desde el proceso de usuario al objeto. Una vez que todos
estos intercambios de información estén concluidos,
el proceso de usuario llamará a Cerrar (close)
para informar al sistema operativo que ha finalizado la utilización
del objeto que antes había abierto.
Cuando se incorporan las características a Unix de
comunicación entre procesos (IPC) y el manejo de redes,
la idea fue implementar la interface con IPC similar a la que
se estaba utilizando para la entrada/salida de ficheros, es decir,
siguiendo el paradigma del párrafo anterior. En Unix, un
proceso tiene un conjunto de descriptores de entrada/salida desde
donde Leer y por donde Escribir. Estos descriptores pueden estar
referidos a ficheros, dispositivos, o canales de comunicaciones
(sockets). El ciclo de vida de un descriptor, aplicado a un canal
de comunicación (socket), está determinado por tres
fases (siguiendo el paradigma):
La interface IPC en Unix-BSD está implementada sobre los
protocolos de red TCP y UDP. Los destinatarios de los mensajes
se especifican como direcciones de socket; cada dirección
de socket es un identificador de comunicación que consiste
en una dirección Internet y un número de puerto.
Las operaciones IPC se basan en pares de sockets. Se intercambian
información transmitiendo datos a través de mensajes
que circulan entre un socket en un proceso y otro socket en otro
proceso. Cuando los mensajes son enviados, se encolan en el socket
hasta que el protocolo de red los haya transmitido. Cuando llegan,
los mensajes son encolados en el socket de recepción hasta
que el proceso que tiene que recibirlos haga las llamadas necesarias
para recoger esos datos.
|
[Anterior] [Indice] [Siguiente] |