Professional Documents
Culture Documents
Manejo de Procesos En Sistemas Operativos convencionales se trata de la forma de compartir el procesador del sistema entre los procesos. En Sistemas Distribuidos el objetivo es similar:
Hacer el mejor uso posible de todos los recursos de procesamiento del sistema.
JRA 2002
Manejo de Procesos en Sistemas Distribuidos Tres conceptos se usan para lograr este objetivo: Alocacin de procesos : que proceso debe a signarse a que procesador. Migracin de procesos: movimiento del proceso al procesador que ha sido asignado. Threads: paralelismo mas fino para mejor utilizacin de la capacidad de procesamiento del sistema.
tiempo congelado
JRA 2002
JRA 2002
Manejo de Procesos en Sistemas Distribuidos Un proceso puede migrar antes de comenzar a ejecutar (no apropiativo) o durante el curso de su ejecucin (apropiativo). Involucra: Seleccin de un proceso a ser migrado. Seleccin de un sitio destino a donde el proceso debe ser migrado. Transferencia del proceso seleccionado al sitio destino.
JRA 2002 Sistemas Distribuidos Manejo de Procesos 5
Manejo de Procesos en Sistemas Distribuidos Caractersticas deseables de un buen mecanismo de migracin de procesos Transparencia. Mnima interferencia. Dependencias residuales mnimas. Eficiencia. Robustez. Comunicacin entre coprocesos de un Job.
JRA 2002 Sistemas Distribuidos Manejo de Procesos 6
Manejo de Procesos en Sistemas Distribuidos Transparencia Nivel de acceso a objetos.Mnimo requerido para migracin no apropiativa. Nivel de system-calls y comunicacin entre procesos. Interferencia M nima Debe tratar de minimizar el tiempo congelado.
Manejo de Procesos en Sistemas Distribuidos Dependencia residual m nima La migracin de procesos debe dejar lo mnimo o nada en el sitio origen. q Impone una carga en el sitio previo. q Una falla o reboot en el sitio previo hace fallar el proceso.
JRA 2002
JRA 2002
Manejo de Procesos en Sistemas Distribuidos Eficiencia La fuentes de mayores deficiencias son: q el tiempo requerido para migrar el proceso. q el costo de localizar el objeto. q el costo de soportar la ejecucin remota una vez que el proceso ha migrado. Robustez La falla en un sitio distinto del que corre el proceso no debe afectar la accesibilidad o ejecucin de ese proceso.
JRA 2002 Sistemas Distribuidos Manejo de Procesos 9
Comunicacin entre procesos de un Job Cuando un Job se divide en varios coprocesos paralelos y se ejecutan en distintos sitios. Para reducir los costos de comunicacin es necesario que esos coprocesos se comuniquen directamente unos con otros independiente de su locacin.
JRA 2002
10
En el sitio destino se crea un PCB vac o, con identificacin diferente para que existan dos copias, luego se cambia al viejo. Puede ser necesario reiniciar los system-calls que contena una operacin de E/S lenta.
JRA 2002
14
Manejo de Procesos en Sistemas Distribuidos Mecanismos de transferencia del espacio de direcciones. Se debe transferir: q El estado del proceso q El espacio de direcciones del proceso
JRA 2002
15
Manejo de Procesos en Sistemas Distribuidos Espacio de direcciones del proceso Cdigo Datos Stack
Manejo de Procesos en Sistemas Distribuidos Se usan diferentes mecanismos para la transferencia del espacio de direcciones: qcongelamiento total qpretransferencia qtransferencia por referencia
JRA 2002
17
JRA 2002
18
Congelamiento Total
tiempo Nodo fuente P1 ejecucin suspendida tiempo congelado transferencia del espacio de direcciones ejecucin reactivada Nodo destino
tiempo
Nodo fuente P1
Nodo destino
Ventaja: Fcil de implementar Desventaja: Se pueden vencer los time-outs y los usuarios pueden notarlo.
JRA 2002 Sistemas Distribuidos Manejo de Procesos 19
Manejo de Procesos en Sistemas Distribuidos Mecanismos para envo de mensajes Cuando se mueven los procesos debe asegurarse que lleguen a su nueva locacin: mensajes en ruta mensajes pendientes futuros mensajes
ejecucin suspendida tiempo congelado ejecucin reactivada transferencia del espacio de direcciones por demanda
Copia las pginas que necesita cuando ello ocurra. Deja informaci n en el sitio fuente, esto es cr tico.
JRA 2002 Sistemas Distribuidos Manejo de Procesos
21
JRA 2002
22
Manejo de Procesos en Sistemas Distribuidos Los mensajes al proceso migrante pueden ser clasificados como: Tipo 1: recibidos en el sitio fuente luego que se ha congelado el proceso y no se ha reiniciado en el sitio destino. Tipo 2: recibidos en el sitio fuente cuando el proceso se inici en el sitio destino. Tipo 3: enviados al proceso desde otros sitios luego que ste reinici en el sitio destino.
JRA 2002 Sistemas Distribuidos Manejo de Procesos 23
Manejo de Procesos en Sistemas Distribuidos Enlace transversal (DEMOS/MP) Los tipo 1 son encolados en el sitio fuente, luego de notificada la ubicacin del proceso le son enviados como parte del proceso de migracin. Para los tipo 2 y 3 es dejada una direccin adelantada en el sitio fuente apuntado al sitio destino llamada link .
ID del Proceso (nico) ltima locacin del proceso
Manejo de Procesos en Sistemas Distribuidos Actualizacin del link (Charlotte) Desde el sitio origen se manda a todos los dems kernels un mensaje de actualizacin de la nueva ubicacin.
JRA 2002
25
JRA 2002
26
Manejo de Procesos en Sistemas Distribuidos Mecanismos para manejar coprocesos Deshabilitar la separacin de coprocesos a) No permitir migracin de procesos que esperan que completen uno o ms subprocesos. b) Asegurar que todos migren juntos. Concepto del sitio origen La comunicacin se lleva a cabo por sitio origen.
JRA 2002 Sistemas Distribuidos Manejo de Procesos 27
THREADS
Uso de threads (lightweight processes)
Espacio dir Espacio dir
Igual espacio de direcciones No hay protecci n entre los mismos y no es necesaria Estado, stack
JRA 2002 Sistemas Distribuidos Manejo de Procesos 29 JRA 2002 Sistemas Distribuidos Manejo de Procesos 30
Thread trabajador
Requerimiento que viene de la red
Sistema Operativo
JRA 2002
Thread 1 Lock (mutex_A) xito Regin Crtica (usa el recurso compartido A) Unlock (mutex_A) Signal ( A_libre)
Thread 2
JRA 2002
35
JRA 2002
36
Planificaci n de threads facilidad para asignar prioridad. flexibilidad para cambiar el quantum. planificacin forzada planificacin afn
espacio Usuario
espacio Kernel
JRA 2002
37
JRA 2002
38
Runtime (mantiene la informacin de status de los threads) Kernel (mantiene la informacin de status de los procesos)
Espacio Kernel
Ventaja del nivel-usuario: puede construirse encima del sistema operativo que no soporta threads. En el otro caso deben meterse en el kernel. Ventaja del nivel-usuario: puede usar su propio esquema de planificacin. No es posible en el nivel-kernel.
JRA 2002
39
JRA 2002
40
Manejo de Procesos en Sistemas Distribuidos Ventaja del nivel-usuario: la conmutacin de contexto de un thread en el nivel-usuario es ms rpida que en el nivelkernel. Es hecho por el run time, en el nivel-kernel requiere un trap. Ventaja del nivel-usuario: la escalabilidad es mayor. Las tablas en nivel-kernel son mantenidas dentro del kernel. Desventaja del nivel-usuario: trabajan en multiprogramacin pura. Desventaja del nivel-usuario:los system -calls generan problemas de bloqueo.
JRA 2002 Sistemas Distribuidos Manejo de Procesos 41