Please enable JavaScript.
Coggle requires JavaScript to display documents.
Descripción y control de los procesos - Coggle Diagram
Descripción y control de los procesos
Principales requisitos de los SO
Intercalar la ejecución de múltiples procesos para maximizar la utilización del procesador ofreciendo a la vez un tiempo de respuesta razonable.
Asignar los recursos a los procesos.
Dar soporte a la comunicación entre procesos y la creación de procesos por parte del usuario.
Proceso
Modelos de proceso con dos estados
Ejecución
No ejecución
Características
Ejecución de un programa individual.
Traza del proceso:
También se llama tarea.
Creación de procesos
Características 1:
Permite que un proceso pueda originar la creación de otro.
Se crea para ofrecer un servicio, como por ejemplo la impresión.
Emisión de un trabajo por lotes.
El nuevo usuario intenta conectarse.
Características 2:
Iniciar el bloque de control del proceso.
Establecer los enlaces apropiados:
Asignar espacio para el proceso.
Crear o ampliar otras estructuras de datos:
Asignar un único identificador al nuevo proceso.
Terminación de procesos
Caraterísticas
El usuario se desconecta.
El usuario puede abandonar una aplicación.
Un trabajo por lotes debe incluir una instrucción de detención (Halt).
Una serie de errores y condiciones de fallo pueden llevarnos a la terminación de un proceso.
Razones Para terminación de un proceso
Violación de límites.
Error de protección
No hay memoria disponible.
Error aritmético.
Tiempo límite excedido.
Tiempo máximo de espera rebasado
Terminación normal.
Causas de terminación de un proceso
Instrucción ilegal
Instrucción privilegiada.
Fallo de E/S.
Mal uso de los datos.
Intervención del operador o del SO
No ejecución
Bloqueado:
El distribuidor podría no seleccionar exactamente el proceso que está en el extremo más antiguo de la cola porque podría estar bloqueado.
Cuándo cambiar de proceso
Interrupción de E/S.
Fallo de memoria: La dirección de memoria se encuentra en la memoria virtual, por lo tanto debe ser llevada a la memoria principal.
Interrupción de reloj El proceso en ejecución ha consumido la fracción máxima de tiempo permitida.
Cepos: Se ha producido un error.
Puede hacer que el proceso que se estaba ejecutando pase al estado de Terminado.
Llamada del supervisor: Como la operación de abrir una archivo.
Cambio de estado de los procesos
Actualizar el bloque de control del proceso que está en estado de Ejecución.
Mover el bloque de control del proceso a la cola apropiada (Listos, bloqueados).
Salvar el contexto del procesador, incluyendo el contador de programa y otros registros.
Seleccionar otro proceso para su ejecución.
Actualizar el bloque de control del proceso seleccionado.
Actualizar las estructuras de datos de la gestión de memoria.
Restaurar el contexto del proceso seleccionado.
Un modelo de cinco estados
Bloqueado.
Ejecución
Listo.
Terminado.
Nuevo.
Procesos suspendidos
El procesador es más rápido que la E/S, por lo que suele ser habitual que todos los procesos de memoria estén esperando por E/S.
Intercambiar una parte del proceso o todo el proceso al disco para liberar la memoria principal.
Cuando los procesos de la memoria principal están en el estado Bloqueado, el sistema operativo puede suspender un proceso poniéndolo en estado Suspendido.
Dos nuevos estados:
Bloqueado y suspendido.
Listo y suspendido.
Razones para la suspensión de procesos
Solicitud de un usuario interactivo
Temporización
Otra razón del SO
Solicitud del proceso padre
Intercambio
Procesos suspendidos
Nuevo Æ Listo.
El sistema operativo mueve a un proceso del estado nuevo al estado listo cuando éste se encuentre preparado para ejecutar un nuevo proceso.
Listo Æ Ejecutando.
Cuando llega el momento de seleccionar un nuevo proceso para ejecutar, el sistema operativo selecciona uno los procesos que se encuentre en el estado Listo.
Null Æ Nuevo.
Se crea un nuevo proceso para ejecutar un programa.
Ejecutando Æ Saliente.
el proceso actual en ejecución se finaliza por parte del sistema operativo tanto si el proceso indica que ha completado su ejecución como si éste se aborta.
Estructuras de control del sistema operativo
Tablas de E/S
Estado de la operación de E/S.
Posición de memoria principal que se está utilizando como origen o destino de la transferencia de E/S.
Un dispositivo de E/S puede estar disponible o estar asignado a un proceso en particular.
Tablas de archivos
Ofrecen información sobre la existencia de los archivos.
Su posición en la memoria secundaria.
Su estado actual.
Otros atributos.
A veces esta información es mantenida por un sistema de gestión de archivos.
Tablas de memoria
Cualesquiera atributos de protección de bloques de memoria principal o virtual
Cualquier información necesaria para gestionar la memoria virtual.
La asignación de memoria secundaria a los procesos.
La asignación de memoria principal a los procesos.
Tablas de procesos
¿Dónde está ubicado el proceso?
Bloque de control del proceso
Imagen del proceso:
Un proceso incluye un programa o un conjunto de programas a ejecutar
Atributos del proceso necesarios para su administración:
ID del proceso.
Estado del proceso.
Ubicación en la memoria.
Bloque de control de proceso
Identificación de proceso (identificadores)
Los identificadores numéricos que se pueden guardar en el bloque de control de proceso son:
Identificador del proceso que creó a este proceso (el proceso padre).
Identificador del usuario.
Identificador de este proceso.
Información de estado del procesador
Palabra de estado del programa (PSW):
Contiene información de estado.
Formada por el contenido de los registros del procesador:
Registros de control y de estado:
Contador de programa: contiene la dirección de la próxima instrucción a leer
Information de estado: incluye los indicadores de habilitación o inhabilitación de interrupciones y de modo de ejecución.
Cada proceso tiene una o más pilas LIFO del sistema asociadas. Las pilas se utilizan para almacenar los parámetros y las direcciones de retorno de los procedimientos y de las llamadas al sistema. El puntero de pila siempre apunta a la cima de la pila.
Punteros de pila:
Códigos de condición: muestran el resultado de la operación aritmética o lógica más reciente
Registros visibles para el usuario:
Un registro visible para el usuario es aquél al que puede hacerse referencia por medio del lenguaje de máquina que ejecuta el procesador.
Información de control del proceso
Información de planificación y de estado:
Prioridad: se puede usar uno o más campos para describir la prioridad de planificación de los procesos.
Información de planificación: ésta dependerá del algoritmo de planificación utilizado.
Estado del proceso: define la disposición del proceso para ser planificado para ejecutar
Suceso: la identidad del suceso que el proceso está esperando antes de poder reanudarse.
Información de control del proceso:
Estructuración de datos:
Un proceso puede estar enlazado con otros procesos en una cola, un anillo o alguna otra estructura.
Comunicación entre procesos:
Puede haber varios indicadores, señales y mensajes asociados con la comunicación entre dos procesos independientes..
Privilegios de los procesos:
A los procesos se les otorgan privilegios en términos de la memoria a la que pueden acceder y el tipo de instrucciones que pueden ejecutar.
Gestión de memoria:
Esta sección puede incluir punteros a las tablas de páginas o segmentos que describen la memoria virtual asignada al proceso.
Propiedad de los recursos y utilización:
Se pueden indicar los recursos controlados por el proceso, como los archivos abiertos.
Modos de ejecución
Modo de usuario:
Es el modo menos privilegiado.
Los programas de usuarios ejecutan normalmente en ese modo.
Modo del sistema, modo de control o modo del núcleo:
Es el modo más privilegiado.
Núcleo del sistema operativo.
Ejecución del sistema operativo
Ejecución dentro de los procesos de usuario:
Un proceso se ejecuta en modo privilegiado cuando se ejecuta el código del sistema operativo.
Sistema operativo basado en procesos:
Las funciones más importantes del núcleo se organizan en procesos separados.
Útil en un entorno de multiprocesador o de varios computadores.
Núcleo fuera de todo proceso
El código del sistema operativo se ejecuta como una entidad separada que opera en modo privilegiado.
Gestión de procesos en UNIX
La mayoría del sistema operativo ejecuta dentro de un proceso de usuario.
Estados de un proceso en UNIX
Listo para ejecutar y en memoria
Dormido y en memoria
Listo para ejecutar y descargado
Ejecución en modo del núcleo
Dormido y descargado
Ejecución en modo de usuario
Expulsado
Creado
Zombie