1. CAPITULO 6 Introducción Sistemas Operativos. 1 Ing. Johnny Larrea P.
2. 6.1.- Estados de los Procesos 6.1.1.- Estados activos 6.1.2.- Estados inactivos 6.2.- Transiciones 6.3.- Posibles operaciones sobre los procesos 6.4.- Interrupciones 6.6.- Información proceso 6.5.1.- Estado del procesador 6.5.2.- Imagen de memoria 6.5.2.1.- Preparación del código de un proceso 6.5.3.- Tablas del S.O. 6.5.3.1.- Eficiencia 6.5.3.2.- Compartir información 6.5.3.3.- Tablas de E/S 6.6.- Bloque de Control de Procesos 5.7.- Cambio de contexto. Introducción Sistemas Operativos. 2 Ing. Johnny Larrea P.
3. 6.1.- ESTADOS DE LOS PROCESOS ESTADOS ACTIVOS En ejecución T2 T1 T3 Bloqueado Listo T4 Introducción Sistemas Operativos. 3 Ing. Johnny Larrea P.
4. 6.1.- ESTADO DE LOS PROCESOS • EJECUCIÓN.- Cuando un proceso tiene el control del procesador. A C • LISTO Ó PREPARADO.- Procesos que están T dispuestos a ser ejecutados, pero no están en ejecución por alguna causa. (Interrupción, haber I entrado en cola estando otro proceso en ejecución). V O • BLOQUEADO.- Procesos que no pueden ejecutarse de momento por necesitar algún recurso disponible. S (Recursos de E/S). Introducción Sistemas Operativos. 4 Ing. Johnny Larrea P.
5. ESTADOS INACTIVOS En ejecución T2 T1 T3 Bloqueado Listo T4 suspender reanudar suspender reanudar (suspend) (resume) (suspend) (resume) Bloqueado_suspendido Listo_suspendido Introducción Sistemas Operativos. 5 Ing. Johnny Larrea P.
6. ESTADOS INACTIVOS • BLOQUEADO SUSPENDIDO.- Proceso que fue IN suspendido en espera de un evento, sin que hayan A desaparecido las causas de su bloqueo. C TI V O • LISTO SUSPENDIDO.- Es el proceso que ha sido S suspendido, pero no tiene causa para estar bloqueado Introducción Sistemas Operativos. 6 Ing. Johnny Larrea P.
7. 6.2.- TRANSICIONES En ejecución T2 T1 T3 Bloqueado Listo T4 • Existen cuatro posibles transiciones: • T1. block(procname): en_ejecución -> bloqueado • T2. timeout(procname): en_ejecución -> listo • T3. dispatch(procname): listo ->en_ejecución • T4. wakeup(procname): bloqueado -> listo Introducción Sistemas Operativos. 7 Ing. Johnny Larrea P.
8. Razones para la Suspensión un Proceso • Swapping El S.O. necesita liberar suficiente memoria principal paraubicar un proceso que está listo para ejecutar • Otra razón del sistema operativo El S.O. puede suspender un proceso del que sospecha que puede estar causando problemas • Petición interactiva del usuario Un usuario puede querer suspender un proceso por motivos de depuración, o relacionado con el uso de un recurso • Temporización Un proceso puede ejecutarse periódicamente (monitorización o contabilidad) y suspenderse hasta el siguiente intervalo de tiempo| • Petición del proceso padre Un proceso puede suspender a descendiente para examinarlo, modificarlo o coordinar la actividad de varios Sistemas operativos 8 Félix García Carballeira (1999)
9. DIAGRAMA DE ESTADOS Y TRANSICIONES Exit Ejecución E s p e r a o a la n ific a d o id p o i P r m E r / S n s u o c o o p m ie m e T M Listo Fin E/S Bloqueado o c o o s i c c d s s Entra al i i l d d e l l sistema d a a o o o d d d a a a r s s e l l p u u u p p x x o c i e E E e b R d m a a n c Listo y Fin E/S Bloqueado y r o e suspendido suspendido Zt Procesos por lotes n i en espera Introducción Sistemas Operativos. 9 Ing. Johnny Larrea P.
10. 6.3.- POSIBLES OPERACIONES PROCESOS Creación procesos, lo cual involucra: nombre procesos insertarlo en la lista de procesos determinar prioridad inicial proceso crear su PCB asignarle sus recursos iniciales Destrucción procesos Suspención de procesos Reanudación procesos Cambio de prioridad Bloquear un proceso Despertar a un proceso Dispatch un proceso pueda comunicar con otro Introducción Sistemas Operativos. 10 Ing. Johnny Larrea P.
11. RAZONES PARA LA TERMINACIÓN DE UN PROCESO • Finalización normal • Se excede el tiempo límite • No hay memoria disponible • Violación de límites • Error de protección - ejemplo: escribir en un fichero de sólo lectura • Error aritmético • Tiempo de espera sobrepasado - un proceso espera un evento más tiempo del máximo especificado • Fallo de entrada/salida (E/S) • Instrucción inválida - Ocurre cuando se intenta ejecutar datos Introducción Sistemas Operativos. 11 Ing. Johnny Larrea P.
12. RAZONES PARA LA TERMINACIÓN DE UN PROCESO • Instrucciones privilegiadas • Uso incorrecto de datos • Intervención del Sistema Operativo - cuando se detecta un interbloqueo (deadlock) • El padre termina, así que los hijos mueren • Por petición del proceso padre Introducción Sistemas Operativos. 12 Ing. Johnny Larrea P.
13. 6.6.- PCB: BLOQUE CONTROL PROCESOS El Bloque de control del proceso ó BCP o en inglés PCB ( Process Control Block ) es un registro especial donde el sistema operativo agrupa toda la información que necesita conocer respecto a un proceso particular. Cada vez que se crea un proceso el sistema operativo crea el BCP correspondiente para que sirva como descripción en tiempo de ejecución durante toda la vida del proceso. Introducción Sistemas Operativos. 13 Ing. Johnny Larrea P.
14. 6.6.- PCB: BLOQUE CONTROL PROCESOS ALMACENA : • Contexto del proceso • El estado actual del proceso • Identificador único del proceso • Un apuntador al padre del proceso, (el que lo creó) • Apuntadores a sus procesos hijos, (los que el creó) • La prioridad del proceso • Apuntadores a la localidad de memoria utilizada por el proceso. • Apuntadores a los recursos asignados. • Un área de registro. • El proceso que está actualmente ejecutándose, (en un sistema que soporta multiprocesamiento) Introducción Sistemas Operativos. 14 Ing. Johnny Larrea P.
15. 6.4.- LAS INTERRUPCIONES • Altera secuencia procesador ejecuta las instrucciones • Interrupción generada por el hardware del sistema • Operaciones efectuadas durante una interrupción - S.O. toma el control - S.O. guarda el contexto del proceso interrumpido - S.O. analiza interrupción y transfiere control a la rutina apropiada - rutina procesa la interrupción - se reestablece el contexto del proceso interrumpido - se ejecuta el proceso interrumpido, (o el que sigue) • Tipos interrupciones - Interrupciones Entrada/Salida - Interrupciones Externas - Interrupciones de Reinicio - Interrupciones de verificación programa - Interrupciones de verificación máquina Introducción Sistemas Operativos. 15 Ing. Johnny Larrea P.
16. 6.7.- CAMBIO DE CONTEXTO PROGRAMA A PROGRAMA B SISTEMA OPERATIVO Ejecución interrupción SALVA REGISTROS CARGA REGISTROS Ejecución Interrupción SALVA REGISTROS CARGA REGISTROS Introducción Sistemas Operativos. 16 Ing. Johnny Larrea P.
17. Interrupción: se salva el estado Registros especiales Tabla de procesos BCP Proceso A BCP Proceso B BCP Proceso N o Registros Estado Estado Estado generales d (registros) (registros) (registros) s Información de Información de Información de identificación identificación identificación PC Información de Información de Información de SP Control Control Control Estado Introducción Sistemas Operativos. 17 Ing. Johnny Larrea P.
18. CAMBIO DE CONTEXTO • Cuando se produce una interrupción se cambia de contexto. • Cambio de contexto es el conjunto de dos operaciones: - Se salva el estado del procesador en el correspondiente BCP - Se pasa a ejecutar la rutina de tratamiento de interrupción del SO. • Planificador: Módulo del SO que decide el siguiente proceso a ejecutar. • Activador: Módulo del SO que pone a ejecutar un proceso. - Copia el estado del BCP a los registros. - Termina con una instrucción RETI (retorno de interrupción) • Restituye el registro de estado (bit de nivel de ejecución) • Restituye el contador de programa (para el nuevo proceso). Introducción Sistemas Operativos. 18 Ing. Johnny Larrea P.
19. Preparación del código de un proceso Problema Editor Módulo Módulo fuente A fuente B Compilador o ensamblador Módulo Módulo Otros objeto A objeto B objetos Montador Objeto Bibliotecas ejecutable del sistema Cargador Ejecutable en memoria Introducción Sistemas Operativos. 19 Ing. Johnny Larrea P.