Está en la página 1de 35

2.

- Estructura de los Sistemas


Operativos

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

 Estos recursos se asignan al proceso en


el momento de crearlo o mientras se está ejecutando.
 Un programa es pasivo (es solo código) y
un proceso es activo y dinámico (varía con el tiempo)

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:


 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 (Process
Control Block) correspondiente para que
sirva como descripción en tiempo de
ejecución durante toda la vida del 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


Introducción
 Relación entre procesos
 Un proceso es cooperativo si puede afectar
o ser afectado por los demás procesos que
se ejecutan en el sistema.
 Dicho proceso tiene las siguientes
características:
 Su estado es compartido por otros procesos.
 No puede predecirse el resultado de su ejecución,
ya que depende de una secuencia de ejecución
relativa.
 El resultado de su ejecución es no
determinista, puesto que no siempre será el mismo
para una misma entrada.
Planificación

 El objetivo de la multiprogramación (multitarea) es


que en todo momento se ejecute un proceso
para maximizar la utilización de la CPU
 Multitarea o Multiprogramación: un proceso se
ejecuta hasta que tenga que s a l i r de la
CPU , generalmente d e b i d o a que ha
hecho una solicitud de E/S o ha sido expulsado
por otro proceso de mayor prioridad.

2. Estructura de los SO Implantación de SO en Red


Planificación
 Colas de planificación
 Conforme los procesos entran en el sistema, se
colocan en una cola de trabajos formada por
todos los procesos que residen en el
almacenamiento secundario
 Los procesos que residen en la memoria
principal y que están listos y esperando su
ejecución se mantienen en una lista llamada
cola de procesos listos
 Existen numerosas colas dentro del SO.
Estados de los procesos

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.


2. Estructura de los SO Implantación de SO en Red


Planificación

 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
 El modo de decisión especifica los
instantes de tiempo en que se aplica la
función de selección. Hay dos categorías
generales:
 No apropiativo
 Apropiativo
 Las políticas apropiativas suponen
un mayor coste que las no apropiativas pero
en general, aumentan el rendimiento global
del sistema ya que evitan el monopolio
por parte de un único proceso
Algoritmos de Planificación

 FCFS. Servicio por orden de llegada

2. Estructura de los SO Implantación de SO


en Red
Algoritmos de Planificación

 SJF. Tiempo de ejecución más breve


 Este algoritmo se usa frecuentemente en
la planificación a largo plazo

2. Estructura de los SO Implantación de SO en Red


Algoritmos de Planificación

 SJF. Tiempo de ejecución más breve


 Apropiativo y no apropiativo

2. Estructura de los SO
Implantación de SO en Red
Algoritmos de Planificación

 Planificación por prioridades


 Apropiativo o no apropiativo

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

 Planificación de colas de múltiples niveles


 Se divide la cola de procesos listos en diversas
colas
 Los procesos se asignan en forma permanente
a una cola, generalmente a partir de alguna
propiedad del proceso, como puede ser el
tamaño de la memoria o el tipo de proceso
 Cada cola puede tener su propio algoritmo
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
 Debe existir además una planificación
entre las colas, la cual generalmente es
una planificación apropiativa de prioridad
fija
 Otra posibilidad es utilizar una porción de
tiempo para las colas.

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

También podría gustarte