Control y descripción de procesos Capitulo3 hzberbesi@gmail.com Hzberbesi.wordpress.com 1 1
Requerimientos de un sistema operativo Intercalar la ejecución de múltiples procesos para maximizae la utilización del procesador mientras se proporciona un razonale tiempo de respuesta. Localizar recursos para los procesos Apoyar comunicación entre procesos y creación de procesos del usuario. 2 2
Conceptos La plataforma de computación consiste de una serie de recursos de hardware Las aplicaciones de usuario son desarrolladas para realizar alguna tarea. El sistema operativo proporciona un uso conveniente de interfaces para uso de aplicaciones que son ricas en características, seguras, y consistentes. El sistema operativo proporciona una representación uniforme y abstracta de recursos que puedan ser requeridos y accedidos por una aplicación. 3 3
Aplicaciones accedidas por el usuario Recursos son disponibles para múltiples aplicaciones Procesador es intercambiado enre múltiples aplcaciones. El procesador y los dispositivos de entrada/salida pueden ser usados eficientemente. 4 4
Proceso Un programa en ejecución. Una instancia de un programa corriendo en una computadora La entidad que puede ser asignada y ejecutada por un procesador Una unidad de actividad, caracterizada por la ejecución de una secuencia de instrucciones, un estado actual, y un conjunto de instrucciones asociado. 5 5
Elementos de un proceso Identificador. Identifier. Estado. State Prioridad.Priority Contador de programa. Program counter Apuntadores a memoria.memory pointers Datos de contexto. Context data Información de entrada salida.i/o status information Información de contabilidad. Accounting 6 information 6
Bloque de control de proceso Contiene los elementos de un proceso. Creado y manejado por el sistema operativo. Permite soporte para multiples procesos. 7 7
Control de bloque del proceso Identificador Estado Prioridad Contador del programa Datos del contexto Información entrada/salida Información de contabilidad. 8 8
Traza de un proceso Sequencia de instrucciones que se ejecutan por un proceso El disparador cambia de un proceso a otro proceso 9 9
Example Execution 10 10
Trace of Processes 11 11
12 12
Modelo de dos estados de un proceso Procesos pueden estar en dos estados: Corriendo- no corriendo. Running. Not-running 13 13
Procesos no corriendo en una cola entrar Cola Despachador Procesador salida Pausa 14 14
Creación de un proceso Nuevo proceso de lotes Logon interactivo Creado por el S.O para proporcionar un servicio Generado por procesos existentes. 15 15
Process Termination Finalización de un proceso Completación normal Tiempo límite excedido Memoria no disponible Violación de límites Error aritmético 16 16
Tiempo de corrida sobrepasado Falla de entrada salida Instrucción invalida Instrucción Privilegiada Mal uso del datos Terminación de un proceso Intervención de S.O. Terminación del padre Requerimiento del padre. 17 17
Procesos No corriendo Not-running Listo para ejecutar Bloqueado Blocked Esperando por entrada/salidawaiting for I/O Despachador no puede solo seleccionar el proceso que ha estado en la cola porque puede ser que este este bloqueado. 18 18
Un modelo de 5 estados Running Ready Blocked New Exit Corriendo Listo Bloqueado Nuevo Salida 19 19
Modelo de proceso de 5 estados Nuevo Admitir Listo Disparador Corriendo salida Liberación Evento ocurre Espera evento Bloqueado 20 20
Process States estados de un proceso 21 21
Usando dos colas 22 22
Colas de múltiples eventos 23 23
Procesos suspendidos Procesador es mas rápido que Entrda/salida, por lo tanto todos los procesos podrian estar esperando por Por almacenamiento de esos procesos en disco y por pase de esos procesos de disco a memoria Estado bloqueado se vuelve estado suspendido cuando pasado al disco.- Dos nuevos estados: suspendido listo y suspendido bloqueado. 24 24
Un estado suspendido 25 25
Dos estados suspendido 26 26
Razones para suspención de un proceso Intercambio Otra razón del S.O. Requerimiento interactivo de usuario Calendarización Requerimiento proceso padre 27 27
Procesos y recursos 28 28
Estructuras de control del S.O. Información acerca de el estado actual de cada proceso y recurso. Tablas son construidas por cada entidad del s.o. que se maneja. 29 29
Tablas de memoria Alojamiento de procesos en memoria principal. Alojamiento de procesos en memoria secundaria. Protección de atributos para acceso de regiones compartidas de memoria: Información necesaria para manejar memoria virtual. 30 30
I/O Tablas de entrada/salida Dispositivos de entrada/salida estan disponibles o son asignados. Estado de la operación de entrada salida. Localización en memoria principal siendo usados como una fuente o destino de una transferencia de entrada-salida. 31 31
Tablas de archivo Existencia de archivos. Localización en memoria secundaria Estado actual Atributos Algunas veces esta información es mantenida por un sistema de manejo de archivos. 32 32
Tabla de procesos Donde un proceso es localizado Atributos en el bloque de control de procesos Data- datos Program-programa Stack- pila 33 33
Imagen de un proceso Datos del usuario Programa de usuario Pila del sistema Bloque de control del proceso. 34 34
35 35
Bloque de control de proceso Identificación de un proceso Identificadores Identificadores numericos pueden ser almacenados con el bloque de control de proceso incluido Identifier of this process Identifier of the process that created this process (parent process) User identifier 36 36
Bloque de control de proceso Información del estado de un procesador. Registros visibles del usuario Un registro visible por el usuario es uno que puede ser referenciado por lenguaje de maquina que el procesador ejecuta en modo usuario. 37 37
Bloque de control de proceso Información de estado del proceso Registro de estado y control Estos son una variedad de registros del procesador que son empleados para controlar la operación del procesador. Estos incluyen: Program counter: Contains the address of the next instruction to be fetched Condition codes: Result of the most recent arithmetic or logical operation (e.g., sign, zero, carry, equal, overflow) Status information: Includes interrupt enabled/disabled flags, execution mode 38 38
Bloque de control de proceso Información de estado del proceso Apuntadores a pila Cada proceso tienen uno o mas PILAS lifo asociadas con el. Una pila es usada para almacenar parametros y llamadas direccionadas por llamadas a procedimientos y sistemas de llamadas. El apuntador a pila apunta al tope de la pila. 39 39
Bloque control de proceso Información de control de proceso Planificicación Estaddo del proceso: corriendo, suspendido, listo etc. Prioridad: uno o mas campos que pueden ser usados para describir la prioridad del proceso. Scheduling-related information: Información relacionada con la planificación: Esto dependerá dle algoritmo de planificación usado. Event: Evento: identidad del evento del procedo que puede ser reasumido. 40 40
Bloque de control de proceso Información de control de proceso Estructura de datos Un proceso puede ser enlazado a otros procesos en una cola, anillo o alguna otra estructura. Por ejemplo, todos los procesos esperando por un particular nivel en la cola pueden ser enlazados en la cola. Enlace padre-hijo. 41 41