Interprocess Communication

Páginas: 6 (1417 palabras) Publicado: 9 de marzo de 2013
COMUNICACIÓN ENTRE
PROCESOS
§  Señales(Signals)

Comunicación entre procesos
§  Los procesos pueden ser independientes o cooperar entre
si §  ¿Porqué puede ser útil que varios procesos cooperen?
ü  Para compartir información ü  Para acelerar la computación que realizan ü  Por modularidad

§  Para poder cooperar, los procesos necesitan comunicarse
ü  Interprocess communication(IPC) = Comunicación entre

§  Para comunicar datos hay 2 modelos principalmente
ü  Memoria compartida (Shared memory)
w  Los procesos utilizan variables que pueden leer/escribir

procesos

ü  Paso de mensajes (Message passing)
w  Los procesos utilizan funciones para enviar/recibir datos

Comunicación entre procesos en Linux
§  Signals
ü  Eventos enviados por otros procesos(del mismo

usuario) o por el kernel para indicar determinadas condiciones

§  Pipes
ü  Dispositivo que permite comunicar dos procesos que

se ejecutan en la misma máquina. ü  Los primeros datos que se envían son los primeros que se reciben. La idea principal es conectar la salida de un programa con la entrada de otro. Utilizado principalmente por la shell

§  FIFOS
ü  Funciona conpipes que tienen un nombre el sistema de

Archivos. Se ofrecen como pipes con nombre.

Comunicación entre procesos en Linux
§  Sockets
ü Dispositivo que permite comunicar dos

procesos a través de la red

§  Semaphores
ü Contadores que permiten controlar el acceso a

recursos compartidos. Se utilizan para prevenir el acceso de más de un proceso a un recurso compartido (por ejemplomemoria)

§  Shared memory
ü Memoria accesible por más de un proceso a la

vez

Signals:

Envío y recepción
§  IDEA:
ü  Un proceso puede recibir signals de otro proceso (del

mismo usuario) o del kernel ü  Un proceso puede enviar signals a otro proceso (del mismo usuario)
Proceso A A envía signal a B

Proceso B Kernel envía signal a B

kernel

Signals:

Envío yrecepción
Que sucede realmente?, el kernel ofrece el servicio de pasar la información.

Proceso A
“A envía signal a B”= llamada a sistema Kill(PID_B,signal)

Proceso B

kernel

PCB proceso B Kernel ejecuta código Asociado a signal • Código por defecto • Código indicado por el proceso

Admin signals

Signals:

Tarea:

§  Investigar:
ü Conceptos básicos ü Importancía ü Tiposü Utilización ü Relación existente con fork() y exec()

Ejemplo básico de signal

Ejemplo básico de signal

Signals: basicos

Nombre SIGCHLD SIGCONT SIGSTOP SIGTERM SIGALRM

Default IGNORAR

Evento Un proceso hijo ha terminado o ha sido parado Continua si estaba parado

STOP TERMINAR TERMINAR

Parar proceso Interrumpido desde el teclado (CtrC) El contador definido por la llamada alarm haterminado Terminar el proceso Referencia inválida a memoria Definido por el usuario (proceso) Definido por el usuario (proceso)

SIGKILL SIGSEGV SIGUSR1 SIGUSR2

TERMINAR CORE TERMINAR TERMINAR

Signals:

Tarea:

§  Investigar:
ü Dada la tabla Anterior, profundizar la

definición y utilización de las diferentes señales mostradas. ü Elaborar tabla.

Signals

§  El PCB de unproceso contiene información con:
ü  Una tabla de acciones asociados a los signals ü  Un vector de bits con los signals pendientes de procesar ( 1 bit

por signal) ü  Una máscara para indicar que eventos hay que tratar ü  Un temporizador (para alarm)

§  Relación con fork y exec
ü  FORK: Proceso nuevo
w  El hijo hereda la tabla de acciones asociadas a los signals del proceso

padrew  Los eventos son enviados a procesos concretos (PID’s), el hijo es un proceso nuevo à La lista de eventos pendientes se borra (tampoco se heredan los temporizadores pendientes)

ü  EXECLP: Mismo proceso, cambio de ejecutable
w  La tabla de acciones asociadas a signals se pone por defecto ya que el

código es diferente w  Los eventos son enviados a procesos concretos (PID’s), el...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Communication
  • Distance Communication
  • History Y Communication
  • Marketing Communication
  • Activité de communication
  • Communication Apprehendion
  • Organizational communication
  • Communication Strategy

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS