0% encontró este documento útil (0 votos)
32 vistas2 páginas

Proyecto Final

Este documento describe diferentes métodos de comunicación entre procesos, incluyendo señales, memoria compartida y mensajes. Señala que el método utilizado depende del ancho de banda y la latencia de la comunicación entre procesos, así como del tipo de datos que se comunican.

Cargado por

Erik Choque
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
32 vistas2 páginas

Proyecto Final

Este documento describe diferentes métodos de comunicación entre procesos, incluyendo señales, memoria compartida y mensajes. Señala que el método utilizado depende del ancho de banda y la latencia de la comunicación entre procesos, así como del tipo de datos que se comunican.

Cargado por

Erik Choque
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

d) En función a los planificadores cual es el algoritmo más óptimo? ¿Por qué?

12. COMUNICACIÓN ENTRE PROCESOS

La comunicación entre procesos (comúnmente IPC, del inglés Inter-Process Communication) es


una función básica de los sistemas operativos. Los procesos pueden comunicarse entre sí a
través de compartir espacios de memoria, ya sean variables compartidas o buffers, o a través
de las herramientas provistas por las rutinas de IPC. La IPC provee un mecanismo que permite
a los procesos comunicarse y sincronizarse entre sí, normalmente a través de un sistema de
bajo nivel de paso de mensajes que ofrece la red subyacente.

La comunicación se establece siguiendo una serie de reglas (protocolos de comunicación). Los


protocolos desarrollados para internet son los mayormente usados: IP (capa de red), protocolo
de control de transmisión (capa de transporte) y protocolo de transferencia de archivos,
protocolo de transferencia de hipertexto (capa de aplicación).

La forma básica de comunicación entre dos procesos o hilos en un sistema operativo con
micronúcleo son los mensajes. Un mensaje incluye una cabecera que identifica a los procesos
remitente y receptor y un cuerpo que contiene directamente los datos, un puntero a un
bloque de datos, o alguna información de control del proceso. Normalmente podemos pensar
que las IPC se fundamentan en puertos asociados a cada proceso.

Un puerto es, en esencia, una cola de mensajes destinada a un proceso particular; un proceso
puede tener múltiples puertos. Asociada a cada puerto existe una lista que indica qué procesos
se pueden comunicar con éste. Las identidades y funcionalidades de cada puerto se mantienen
en el núcleo. Un proceso puede concederse nuevas funcionalidades mandando un mensaje al
núcleo con las nuevas funcionalidades del puerto.

Los procesos pueden estar ejecutándose en una o más computadoras conectadas a una red.
Las técnicas de IPC están divididas dentro de métodos para: paso de mensajes, sincronización,
memoria compartida y llamadas de procedimientos remotos (RPC). El método de IPC usado
puede variar dependiendo del ancho de banda y latencia (el tiempo desde el pedido de
información y el comienzo del envío de la misma) de la comunicación entre procesos, y del tipo
de datos que están siendo comunicados.

a) Señales

Una señal es una forma limitada de comunicación entre procesos empleada en Unix y otros
sistemas operativos compatibles con POSIX. En esencia es una notificación asíncrona enviada a
un proceso para informarle de un evento. Cuando se le manda una señal a un proceso, el
sistema operativo modifica su ejecución normal. Si se había establecido anteriormente un
procedimiento (handler) para tratar esa señal se ejecuta este, si no se estableció nada
previamente se ejecuta la acción por defecto para esa señal.

Envío de señales

 Al escribir Ctrl-C en el shell donde se ejecuta un proceso el sistema le envía una señal
SIGINT, que por defecto causa la terminación del proceso. Ctrl-Z hace que el sistema
envíe una señal SIGTSTP que suspende la ejecución del proceso.
 La llamada al sistema kill enviará la señal especificada al proceso.
 Excepciones como la división por cero o la violación de segmento generan señales.
 Los procesos pueden enviar señales tanto a otros procesos como a sí mismos usando
kill(2) (por supuesto con los permisos necesarios) por ejemplo kill(pid,SIGUSR1) siendo
pid el identificador del proceso al cual deseamos enviar la señal SIGUSR1.
 El núcleo puede generar una señal para informar de un evento a un proceso. Por
ejemplo, SIGPIPE se genera cuando un proceso escribe en una tubería que había sido
cerrada por el proceso que leía de ella.

b) Memoria Compartida

La memoria compartida es aquel tipo de memoria que puede ser accedida por múltiples
programas, ya sea para comunicarse entre ellos o para evitar copias redundantes. La memoria
compartida es un modo eficaz de pasar datos entre aplicaciones. Dependiendo del contexto,
los programas pueden ejecutarse en un mismo procesador o en procesadores separados. La
memoria usada entre dos hilos de ejecución dentro de un mismo programa se conoce también
como memoria compartida.

También podría gustarte