Dsfgdf
Introducción
El IPC(Inter-Process Comunication) es un mecanismo que proporciona el sistema operativo, que facilita enormemente la comunicación entre los distintos procesos del sistema, ayudando a que se comuniquen y a que se sincronicen los procesos entre sí. Es una herramienta indispensable para una buena organización de los procesos y a que lacomunicación se realice correctamente.
Tipos de mecanismos IPC
Los diferentes mecanismos que se utilizan en IPC son:
* Señales Las señales son el mecanismo de comunicación entre procesos más antiguo i actualmente su uso se ha reducido considerablemente, reemplazado por mecanismos de sincronización más actuales y efectivos. Los procesos mandan estas señales a los demás para indicarles quetienen que realizar alguna acción como por ejemplo parar su ejecución (SIGSTOP) o que termine definitivamente (SIGKILL). Los procesos tienen la libertad de escoger si realizar dichas acciones o bloquearlas según como estén programados, exceptuando las dos señales anteriores que se ejecutaran el cualquier caso.
* Semáforos El semáforo es el mecanismo más sencillo de entender ya que funcionacomo los semáforos que utilizamos normalmente las personas, pero con dos valores. La manera de empleo es la siguiente: Cuando hay varios procesos que quieren acceder a un mismo archivo o fichero para modificarlo, si no hubiese un mecanismo de comunicación como el semáforo intentarían acceder todos a la vez y se producirían errores. Utilizando semáforos, cuando un proceso intenta acceder a unfichero, primero revisa el semáforo, y si el semáforo indica que está disponible(1) el proceso entra y realiza las operaciones oportunas. Si durante este instante un segundo proceso intenta acceder al fichero, el semáforo le indicará que está ocupado(0) y que debe esperar. De este modo, cuando el primer proceso termina, vuelve a poner el semáforo en disponible(1) y el segundo proceso ya puede acceder.* Sockets Los sockets son los mecanismos más importantes y los más utilizados actualmente. Son bloques de instrucciones que permiten transmitir información de un proceso a otro. La ventaja es que son bidireccionales y la comunicación es muy rápida. Hay diferentes tipos de sockets (IPX, SPX…) que se utilizarán para objetivos determinados.
* Tuberías Las tuberías son mecanismos que seutilizan para enlazar la salida de un proceso con la entrada de otro, es decir la entrada de un proceso se hace con la salida de otro, de esta manera están comunicados.
* Memoria compartida El funcionamiento de este mecanismo se basa en que los procesos se comunican mediante la memoria virtual que posee cada uno. De esa manera cada uno sabe cómo está cada proceso en cada momento. Laspáginas de la memoria virtual se referencian por entradas en la tabla de páginas de cada uno de los procesos que comparten tablas de páginas.
Colas de mensajes En esta herramienta, se crea una cola de mensajes donde los procesos que están sincronizados van colocando los mensajes de sus actividades. Esta cola de mensajes es vista por todos los demás procesos que cooperan, y es una especie de lista decosas pendientes. Cuando un proceso accede a la cola de mensajes, puede estar programado para realizar una serie de acciones específicas, o realizar cualquier acción que se requiera en cualquiera de los mensajes. Tanto a la hora de escribir en la cola como a la hora de leer, hay una serie de permisos que tiene cada proceso que les permitirán o no en ese instante acceder a la cola. Cuando unproceso selecciona uno de los mensajes este se borra y deja espacio para que entren más mensajes que otros procesos quieran introducir en la cola.
* Mapas de memoria Se crea una correlación entre un espacio de memoria y un archivo cualquiera, ya esté en el disco duro, en memoria compartida… Una vez se establece dicha correlación, los procesos ya pueden gestionar las entradas y salidas de...
Regístrate para leer el documento completo.