Please enable JavaScript.
Coggle requires JavaScript to display documents.
Descripción y control de procesos - Coggle Diagram
Descripción y control de procesos
Principales requisitos de sistemas operativos
Asignar los recursos a los procesos.
Dar soporte a la comunicación entre procesos y la creación de procesos por parte del usuario.
Intercalar la ejecución de múltiples procesos para maximizar la utilización del procesador
Proceso
Caraterísticas
Ejecución de un programa individual.
Listado de la secuencia de instrucciones que se ejecutan para dicho proceso.
También se llama tarea.
Modelo de proceso con dos estados
Ejecución
No ejecución
Creación de procesos
El nuevo usuario intenta conectarse.
Se crea para ofrecer un servicio, como por ejemplo la impresión.
Emisión de un trabajo por lotes.
Permite que un proceso pueda originar la creación de otro.
Terminación de procesos
Razones para la terminación de procesos
No hay memoria disponible.
Violación de límites.
Tiempo límite excedido.
Error de protección.
Terminación normal.
Error aritmético.
Tiempo máximo de espera rebasado.
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.
Terminación del padre, por lo que terminan los procesos de todos sus descendientes.
Solicitud del padre.
Caracterí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.
Procesos
Bloqueado: Espera a que termine una operación de E/S
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.
No ejecución: Listos para ejecutarse
Modelo de cinco estados
Bloqueado.
Nuevo.
Listo.
Terminado.
Ejecución.
Procesos suspendidos
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.
Intercambiar una parte del proceso o todo el proceso al disco para liberar la memoria principal.
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.
Listo - Ejecutando
Ejecutando - Saliente
Nuevo - Listo
Null - Nuevo
Razones para la suspensión de procesos
Solicitud de un usuario interactivo
Temporización
Intercambio
Solicitud del proceso padre
Estructuras de control del sistema operativo
Información sobre el estado actual de cada proceso y de cada recurso.
El sistema operativo construye tablas de información sobre cada entidad que esté administrando.
Tablas de memoria
La asignación de memoria secundaria a los procesos.
Cualesquiera atributos de protección de bloques de memoria principal o virtual, como qué procesos pueden acceder a ciertas regiones compartidas de memoria.
La asignación de memoria principal a los procesos.
Cualquier información necesaria para gestionar la memoria virtual.
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
Su posición en la memoria secundaria.
Su estado actual.
Ofrecen información sobre la existencia de los archivos.
Otros atributos.
A veces esta información es mantenida por un sistema de gestión de archivos.
Tablas de procesos
Dónde está ubicado el proceso
Atributos del proceso necesarios para su administración:
ID del proceso.
Estado del proceso.
Ubicación en la memoria.
Ubicación de los procesos
Un proceso incluye un programa o un conjunto de programas a ejecutar:
Constantes definidas.
Pila.
Conjunto de ubicaciones de datos para las variables locales y globales.
Bloque de control del proceso: Colección de atributos.
Imagen del proceso: Colección de programa, datos, pila, atributos.
Bloque de control de proceso
Identificación del proceso
Los identificadores numéricos que se pueden guardar en el bloque de control de proceso son:
Identificador de este proceso.
Identificador del proceso que creó a este proceso (el proceso padre).
Identificador del usuario.
Información de estado del procesador
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.
Registros de control y de estado:
Códigos de condición: muestran el resultado de la operación aritmética o lógica más reciente
Information de estado: incluye los indicadores de habilitación o inhabilitación de interrupciones y de modo de ejecución.
Contador de programa: contiene la dirección de la próxima instrucción a leer.
Punteros de pila:
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.
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.
Información de control del proceso
Información de planificación y de estado:
Información de planificación: ésta dependerá del algoritmo de planificación utilizado.
Suceso: la identidad del suceso que el proceso está esperando antes de poder reanudarse.
Prioridad: se puede usar uno o más campos para describir la prioridad de planificación de los procesos.
Estado del proceso: define la disposición del proceso para ser planificado para ejecutar
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. También puede incluir un historial de la utilización del procesador o de otros recursos
Información de estado del procesador
Palabra de estado del programa (PSW)
Contiene información de estado.
Por ejemplo: el registro EFLAGS de las máquinas Pentium.
Formada por el contenido de los registros del procesador:
Registros visibles para el usuario.
Registros de control y de estado.
Punteros de pila.
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.
Creación de procesos
Asignar un único identificador al nuevo proceso.
Asignar espacio para el proceso.
Iniciar el bloque de control del proceso.
Establecer los enlaces apropiados:
Crear o ampliar otras estructuras de datos
Cuándo cambiar de proceso
Interrupción de reloj:
Interrupción de E/S.
Fallo de memoria:
Cepos
Llamada del supervisor
Cambio de estado de los procesos
Salvar el contexto del procesador, incluyendo el contador de programa y otros registros.
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).
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.
Ejecución del sistema operativo
Núcleo fuera de todo proceso
Ejecución dentro de los procesos de usuario
Sistema operativo basado en procesos