2. Procesos. 1. El proceso no puede continuar la ejecución. Realiza una llamada al sistema y este lo descarga. 2. y 3. El planificador decide descargar o cargar el proceso. La elección del proceso a entrar en la CPU se realiza solo de entre los procesos que están listos para ejecución. 4. El proceso sale de su bloqueo/espera, se lo notifica al sistema operativo y pasa a formar parte de la cola de procesos listos para ejecución. 2.5 Estados de un proceso (1).
2. Procesos. Observaciones: Los procesos pasan la mayor parte de su vida esperando por una I/O. Los procesos en ejecución ocupan memoria. El grado de multiprogramación en relación con la capacidad de la CPU es bajo. Solución: Intercambio (swap). Def. Intercambio (swapping) es el desplazamiento de un proceso de memoria principal al disco duro. Es necesario un planificador de la carga y descarga de procesos de memoria a disco.
Proceso Suspendido: No estará disponible de inmediato para su ejecución. Proceso situado en Suspendido por el SO o por él mismo para evitar su ejecución. Un proceso que no puede liberarse del estado hasta que se le ordene. Para un proceso Suspendido el cambio de bloqueado a listo no implica que deje de estar Suspendido. 2.5 Estados de un proceso (2).
Actuaciones del Sistema sobre los procesos Crear (carga de programa e inicio de ejecución) Destruir (fin de la ejecución) Suspender Reanudar Cambiar prioridad Bloquear (pasaje de ACT a BLOQ) Despertar (pasaje de BLOQ a LISTO) Despachar (pasaje de LISTO a ACT)
Suspensión. Equilibrar la carga del sistema (ante sobrecargas) En lugar de abortar un proceso que puede estar funcionando mal. del sistema) proceso suspendido no puede proseguir hasta que otro lo reanude.
2. Procesos. 2.5 Estados de un proceso (3). Cambio de proceso. Interrupción. Interrupción de reloj: Finalización del tiempo concedido por el sistema. Interrupcuón de I/O: Modificación del estado de procesos en ejecución a bloqueado o liberación de los procesos en espera. Fallo de memoria. Traps. Error o condición excepcional. Provocadas por el proceso en curso. Fatal ? terminación de proceso. Llamada del supervisor / llamada al sistema. Pasos en un cambio de proceso: Salvar el contexto del procesador (contador y registros). Actualizar el Bloque de C. del proceso en ejecución (estado de ejecución a listo o bloqueado, etc.) junto con info. de la razón del cambio. Mover el BCP a la cola apropiada a su estado. Seleccionar otro proceso para ejecución. Actualizar el BCP del proceso seleccionado (modo ejecución). Actualizar la información de la gestión de la memoria. Restaurar el estado del procesador para el nuevo proceso.
2. Procesos. Los procesos comunes son independientes, con espacios de memoria separados. En determinadas ocasiones se necesita que los procesos colaboren.
Def. Entidad básica de ejecución que únicamente posee como propio el contador de programa, los registros del procesador y la pila. Los hilos pertenecen a una unidad de mayor nivel, la tarea. La tarea carece de capacidad de ejecución, pero dispone de recursos. La tarea en ejecución ha de poseer al menos un hilo.
Proceso = tarea con único hilo
Ventajas: Menor coste de creación: Menores estructuras de información. Recursos de la tarea. Cambio de contexto dentro de la tarea es poco costoso. Comunicación ágil (MEM). No interviene el núcleo.
Estructura. Área de programa (RO) de instrucciones. Área de datos o variables (RW). Heap para asignación dinámica de MEM. Compartida. Pila para cada hilo
2.6 Hilos o threads (1).
Proceso Hilo
2. Procesos. Elementos por hilo Contador de programa Pila Conjunto de registros Hilos hijos Estado Elementos por proceso Espacio de direcciones Variables globales Archivos abiertos Procesos hijos Cronómetros Señales Semáforos Información contable
2.4 Hilos o threads (2). Los hilos. Estado de ejecución. Contexto del procesador. Pila de ejecución. Variables locales. Acceso a MEM y variables del proceso.
Página anterior | Volver al principio del trabajo | Página siguiente |