Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema 4. Gestion de Procesos
Tema 4. Gestion de Procesos
Administración de procesos
Implantación de SO en Red
Introducción
Programa y proceso no son lo mismo
Un proceso es un programa en ejecución junto
con su entorno asociado, incluyendo el valor actual del
contador de programa, registros y variables
ación de SO en Red
Introducción
El proceso es la unidad de trabajo
Los procesos del SO ejecutan el código del
sistema y los procesos de los usuarios ejecutan
el código del usuario.
Todos estos procesos pueden
ejecutarse concurrentemente. Al conmutar la
CPU entre procesos, el SO puede hacer más
productivo al ordenador.
El SO es responsable de la creación y
eliminación de procesos tanto del sistema
como de los usuarios, la planificación de
procesos y el suministro de mecanismos para
la sincronización, comunicación y manejo de
bloqueos mutuos entre procesos.
2. Estructura de los SO
ación de SO en Red
Introducción
Proceso secuencial
La ejecución de un proceso debe
proceder en forma secuencial, es decir,
en cualquier momento se ejecuta como
máximo una instrucción del proceso
Un proceso es más que el código del
programa; por lo general, incluye también
la pila del proceso que contiene datos
temporales y una sección de datos con
variables globales.
2. Estructura de los SO
Implantación de SO en Red
Introducción
Estados de un proceso:
2. Estructura de los SO
Implantación de SO en Red
Introducción
Bloque de control del proceso:
Estado del proceso
Contador del programa
Registros de la CPU.- Los registros varían en número y tipo,
dependiendo de la arquitectura del ordenador. Incluyen
acumuladores, registro índice, apuntadores de pila y registros de
propósito general.
Información de la planificación de la CPU.- Esta
información incluye una prioridad del proceso, punteros a
las colas de planificación y otros parámetros de
planificación.
Información de administración de memoria.- Esta
información incluye registros límites o tablas de páginas.
Información contable.- Esta información incluye la cantidad de
tiempo real y de la CPU utilizado, límites de tiempo, números de
cuenta, números de proceso, etc.
Información del estado de la E/S.- La información incluye
solicitudes de E/S pendientes, dispositivos de E/S asignados a
este proceso, una lista de archivos abiertos, etc.
2. Estructura de los SO Implantación de SO en Red
Introducción
Procesos concurrentes
Puede haber múltiples tareas en la CPU
con varios procesos
La concurrencia será lógica, no real.
Razones para concurrencia:
Compartir recursos físicos/lógicos
Acelerar cálculos
Modularidad
Comodidad
2. Estructura de los SO
Implantación de SO en Red
Introducción
Creación y terminación de procesos
Para conseguir la ejecución concurrente,
debemos contar con un mecanismo que permita la
creación y terminación de procesos.
Creación de procesos
Un proceso puede crear varios procesos nuevos
a través de una llamada al sistema
Al proceso que crea se le denomina proceso
padre, mientras que a los nuevos procesos se
les llama hijos de ese proceso
Concurrencia con los hijos o espera.
2. Estructura de los SO
Implantación de SO en Red
Introducción
Terminación de procesos
Un proceso termina cuando concluye la ejecución de su
última instrucción y solicita al SO que elimine el proceso
En ese momento, el proceso puede devolver datos
(salida) a su proceso padre (por medio una llamada al
sistema).
El padre necesita conocer la identidad de sus hijos
Un padre puede terminar la ejecución de sus hijos:
El hijo ha excedido el uso de alguno de los recursos que
se le han asignado.
Ya no se requiere la tarea asignada al hijo
Lo normal es la Terminación en cascada
2. Estructura de los SO
Implantación de SO en Red
Introducción
Relación entre procesos
Los procesos que se ejecutan en el SO pueden
ser independientes o cooperativos.
Un proceso es independiente si no puede
afectar o ser afectado
Su estado no es compartido de ninguna manera.
Su ejecución es determinista. Entrada igual,
salida igual
Su ejecución es reproducible.
Su ejecución puede detenerse y reiniciarse
sin ocasionar efectos adversos.
2. Estructura de los SO
Implantación de SO en Red
Planificación
Planificadores
El planificador a largo plazo, o planificador
de trabajos, selecciona procesos
del almacenamiento secundario y los carga
en memoria para su ejecución.
El planificador a corto plazo, o planificador de
la CPU, selecciona uno de los procesos
listos para su ejecución y le asigna la CPU.
Planificadores
Algunos sistemas operativos, como los de
tiempo compartido, pueden presentar un nivel
intermedio adicional de planificación, el
planificador a medio plazo.
La idea clave de un planificador a medio plazo
es que en ocasiones puede ser ventajoso
eliminar procesos de la memoria, y reducir la
contienda por el uso de la CPU, y de este modo
reducir el grado de multiprogramación
2. Estructura de los SO
Implantación de SO en Red
Planificación de la CPU
Ciclo de ráfagas de CPU y de E/S
Un programa limitado por E/S normalmente tendrá muchas ráfagas de
CPU breves, mientras que un programa limitado por la CPU tendrá
pocas ráfagas de muy larga duración. Esta distribución puede ser muy
importante al seleccionar un algoritmo adecuado para la planificación de
la CPU
Planificador de la CPU
Los elementos de las colas de procesos suelen ser los PCB de los
procesos
Cambio de contexto
Los tiempos de cambio de contexto dependen en gran medida del apoyo
del hardware; por ejemplo, algunos procesadores ofrecen varios
conjuntos de registros, y un cambio de contexto implica únicamente
cambiar el puntero al conjunto actual de registros
Despachador (Dispatcher)
Es el módulo que realmente entrega el control de la CPU al proceso
2. Estructura de los SO
Implantación de SO en Red
Algoritmos de Planificación
Los algoritmos de planificación proporcionan unos
unos criterios de prioridad para asignar la CPU a unos
procesos u otros. Los criterios en que se basan deben
cumplir:
Justicia
Eficiencia
Tiempo de respuesta
Rendimiento
Tiempo de espera
2. Estructura de los SO
Implantación de SO en Red
Algoritmos de Planificación
2. Estructura de los SO
Implantación de SO en Red
Algoritmos de Planificación
Planificación por prioridades
Las prioridades pueden definirse interna o
externamente.
Las prioridades definidas internamente utilizan
alguna cantidad para calcular la prioridad del
proceso: límites de tiempo, requisitos de
memoria, el número de archivos abiertos y la
tasa de intervalos entre ráfagas de E/S y de
CPU
Apropiativo y no apropiativo
Inanición posible. Envejecimiento
2. Estructura de los SO
Implantación de SO en Red
Algoritmos de Planificación
Planificación por prioridades
Las prioridades pueden definirse interna o
externamente.
Las prioridades definidas internamente utilizan
alguna cantidad para calcular la prioridad del
proceso: límites de tiempo, requisitos de
memoria, el número de archivos abiertos y la
tasa de intervalos entre ráfagas de E/S y de
CPU
Apropiativo y no apropiativo
Inanición posible. Envejecimiento
2. Estructura de los SO
Implantación de SO en Red
Algoritmos de Planificación
Planificación circular. RR
Diseñado especialmente para
sistemas de tiempo compartido
Define una pequeña unidad de tiempo,
llamada cuanto de tiempo
Recorre la cola circular de procesos
asignando la CPU a cada proceso por un
intervalo de tiempo.
2. Estructura de los SO
Implantación de SO en Red
Algoritmos de Planificación
Planificación circular. RR
Diseñado especialmente para
sistemas de tiempo compartido
Define una pequeña unidad de tiempo,
llamada cuanto de tiempo
Recorre la cola (FIFO) circular de
procesos asignando la CPU a cada
proceso por un intervalo de tiempo.
2. Estructura de los SO
Implantación de SO en Red
Algoritmos de Planificación
2. Estructura de los SO
Implantación de SO en Red
Algoritmos de Planificación
2. Estructura de los SO
Implantación de SO en Red
Algoritmos de Planificación
2. Estructura de los SO
Implantación de SO en Red
Algoritmos de Planificación
Planificación de colas de múltiples
niveles con realimentación
Permite a un proceso moverse de una cola
a otra
La idea es separar los procesos con diferentes
características en cuanto a ráfagas de la CPU
Si un proceso utiliza demasiado tiempo de la
CPU, se pasará a una cola de menor prioridad.
Este esquema deja a los procesos limitados por
E/S y a los procesos interactivos en las colas de
mayor prioridad
2. Estructura de los SO
Implantación de SO en Red
Algoritmos de Planificación
Planificación de colas de múltiples
niveles con realimentación
Permite a un proceso moverse de una cola
a otra
La idea es separar los procesos con diferentes
características en cuanto a ráfagas de la CPU
Si un proceso utiliza demasiado tiempo de la
CPU, se pasará a una cola de menor prioridad.
Este esquema deja a los procesos limitados por
E/S y a los procesos interactivos en las colas de
mayor prioridad
Posibilita el envejecimiento que evitaría el
bloqueo indefinido
2. Estructura de los SO
Implantación de SO en Red
Planificación de procesadores
múltiples
Factor principal: el tipo de procesadores
que entran en juego, los cuales pueden
ser idénticos (un sistema homogéneo)
o distintos (un sistema heterogéneo).
Si los procesadores son diferentes,
las opciones son relativamente limitadas.
Cada procesador tiene su propia cola y su
propio algoritmo de planificación.
Procesos tipificados para ese procesador.
Si hay varios procesadores
idénticos, pueden compartir cargas.
2. Estructura de los SO
Implantación de SO en Red
Planificación de procesadores
múltiples
Dos posibilidades
Cada procesador se planifica a sí mismo
Una única cola de listos
Cada procesador extrae de esta cola.
Control de acceso a la cola
Un procesador como planificador de los
demás
2. Estructura de los SO
Implantación de SO en Red