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] |