Descargar

Procesos concurrentes (página 2)

Enviado por Pablo Turmero


Partes: 1, 2
edu.red

Cola de jobs- conjunto de todos los procesos en el sistema. Cola de listos- conjunto de procesos residentes en memoria, listos y en espera para ejecucución. Cola de dispositivos- conjunto de procesos esperando por algún dispositivo de E/S.

Migración de los procesos entre varias colas. Colas de planificación de procesos

edu.red

Planificadores Planificador de largo plazo (job scheduler) – Selecciona que proceso traer a la cola de procesos listos. Planificador de corto plazo (CPU scheduler) – Selecciona que proceso debe ejecutarse enseguida y reserva el CPU.

edu.red

Cambio de Contexto Cuando el CPU cambia a otro proceso, el sistema debe salvar el estado del proceso antiguo y cargar el estado del proceso nuevo. El cambio de contexto es overhead; el sistema no realiza cómputo útil durante el cambio. El tiempo de realización del cambio de contexto es dependiente del soporte de hardware.

edu.red

Al crearse un proceso se le asigna memoria (para cargado de código, datos y stack), recursos, información del PCB, y se carga en memoria. Además se inicializan registros para protección del espacio de memoria reserva a este proceso. El proceso padre puede crear procesos hijos, los cuales a su vez pueden crear otros procesos, formando así un arbol de procesos. Compartición de recursos. Los padres e hijos comparten todos los recursos. El hijo comparte un subconjunto de los recursos del padre. El hijo y el padre no comparten recursos. Ejecución El padre y el hijo se ejecutan concurrentemente. El padre espera hasta que el hijo termina. Ejemplo UNIX la llamada a fork crea un proceso nuevo. Creacion del Proceso

edu.red

Terminación de Procesos El proceso ejecuta su última instrucción y pide al sistema que lo elimine (exit). Los datos de salida van de hijo a padre (por fork). Los recursos del proceso son desalojados por el sistema operativo. El padre puede terminar la ejecución de un hijo(abort). el proceso hijo se ha excedido en los recursos alojados. la tarea asignada al proceso hijo ya no es requerida. El proceso padre termina. El sistema operativo no permite que el hijo continue su ejecución si el proceso padre termina. terminación en cascada.

edu.red

Procesos cooperativos Los procesos Independientes no pueden afectar o ser afectados por la ejecución de otros procesos. Los procesos cooperativos pueden afectar o ser afectados por la ejecución de otros procesos. Ventajas: Compartición de información Mayor velocidad de cómputo Modularidad Conveniencia

edu.red

Problema del productor-consumidor Paradigma para procesos cooperativos; el proceso productor produce información que es consumida por el proceso consumidor. Solución mediante memoria compartida. Solución mediante buzones y envío de mensajes

edu.red

La comunicación entre procesos provee mecanismos para permitir que los procesos se comuniquen y se sincronizen.

Sistema de mensajes – los procesos se comunican entre si sin tener que compartir variables. Operaciones: send (mensaje)- los mensaje pueden tener tamaño fijo o variable. receive (mensaje) Medio de comunicación implementación física (p.ej, memoria compartida, bus de hardware) implementación lógica. Comunicación entre procesos

edu.red

Tipos de comunicación Mediante Buzones utilizados como medio común para comunicación entre procesos de forma:

1 proceso envia mensaje a 1 proceso 1 proceso envia mensaje a N procesos N procesos envían mensajes a 1 proceso N procesos envía mensajes a N procesos

Mediante una linea de comunicación o bus de hardware.

edu.red

Mediante el envío de mensajes entre procesos send (P, mensaje) – send a message to process P receive(Q, mensaje) – receive a message from process Q

Mediante el envio de señales de tipo semaforo P (sem,contador). Envía una señal al semaforo sem. V (sem,contador) recive n señales del semáforo sem Tipos de sincronización

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente