You are on page 1of 14

UNIVERSIDAD TÉCNICA FEDERICOSANTA MARÍA UNIVERSIDAD TÉCNICA FEDERICOSANTA MARÍA

Departamento de Informática Departamento de Informática

Capítulo III:
“Procesos y Gestión del
Procesador” 3.1 Gestión de Procesos

Concepto de proceso, el núcleo,


hebras, algoritmos de planificación,
evaluación de desempeño

Concepto de Proceso Características de un Proceso


 Un sistema operativo es muy complejo en • Los servicios superiores del SO se estructuran
cuanto a su funcionalidad en base a procesos
 Concepto de proceso es fundamental para • Permite modularizar y aislar fallas de
modularizar y estructurar el sistema operativo, programas durante su ejecución
que por su naturaleza es dinámico. • Soporta concurrencia de actividades, lo que
 Un proceso es un programa en ejecución, permite un mejor aprovechamiento de los
siendo la unidad de trabajo en el SO recursos
 Un proceso es una entidad activa, que puede • Denominaremos como procesos a los trabajos
solicitar recursos (archivos, dispositivos, etc.) (jobs) en sistemas de lotes, como a las tareas
en sistemas de tiempo compartido.

Raúl Monge Departamento de Informática 3 Raúl Monge Departamento de Informática 4

Definición de Proceso Abstracción de Proceso


 Un proceso es un programa en ejecución, que Proceso
se ejecuta secuencialmente (no más de
una instrucción a la vez).
Código Recursos Asignados
 El proceso es una abstracción creada por el
Estado
SO, que se compone de: del Memoria
Datos
 Programa: Código y datos del programa cargado Procesador
Archivos Abiertos
en memoria principal
Stack Conexiones Abiertos
 Contexto de Ejecución: PC, registros del
procesador y un stack para invocación de Dispositivos

procedimientos.

Raúl Monge Departamento de Informática 5 Raúl Monge Departamento de Informática 6

1
Estados y Transiciones de un
Proceso Estados de un Proceso
• Nuevo: El proceso está siendo creado.
Terminado
Terminado • Ejecutándose: Proceso ejecuta instrucciones
Nuevo
Nuevo de máquina.
• Listo: El proceso está listo para recibir el
Esperando
procesador para iniciar o continuar su ejecución.
Despertar Esperando
Esperar • Esperar: El proceso deja de competir por el
procesador, esperando un evento externo (e.g.
Expropiar E/S, sincronización con otro proceso, una señal,
Salir
Admitir Listo
Listo
Ejecu-
Ejecu- etc.)
tándose
tándose • Terminado: El proceso ha terminado su
Despachar ejecución

Raúl Monge Departamento de Informática 7 Raúl Monge Departamento de Informática 8

Transiciones de un Proceso Tabla de Procesos


• Admitir: Proceso entra a competir por recursos  El sistema administra los procesos a
• Despachar: Planificador elige de cola listo el través de una tabla que contiene para
próximo proceso, cargando el procesador con su
contexto. cada proceso existente en el sistema un
• Expropiar: Interrupción del temporizador descriptor.
(timeout), por fin de cuanto de tiempo,  Este descriptor se denomina
guardándose el estado del proceso.
Bloque de Control de Proceso (PCB).
• Despertar: Proceso vuelve a competir por el
procesador al ocurrir el evento esperado.  La tabla es una estructura de datos
• Salir: El proceso termina su ejecución localizada en el núcleo del sistema.
(normalmente o con error).

Raúl Monge Departamento de Informática 9 Raúl Monge Departamento de Informática 10

Bloque de Control de Proceso (PCB) Cambio de Contexto


• Identificación del Proceso (número único: PID)
• Estado del Proceso (Ejecutándose, listo,  Corresponde a la reasignación del
esperando, etc.) procesador de un proceso a otro, donde
• Contador de programa (Próxima instrucción) se requiere cambiar el contexto de
Registros de trabajo (para guardar los registros)
ejecución.

• Planificación de CPU (prioridades, punteros a colas


de planificación y otros parámetros)  El cambio de contexto no corresponde a
• Administración de Memoria (registros base y trabajo productivo, sino que es
límite, tablas de página o segemento, etc.)
• Contabilidad (CPU usada, límites de tiempo, # burocracia (overhead).
cuenta, etc.)
 Tiempos típicos van de 1 a 1000 [µseg].
• Estado de recursos (Lista de recursos asignados y
estado)
Raúl Monge Departamento de Informática 11 Raúl Monge Departamento de Informática 12

2
Ejemplo de Cambio de Contexto Planificación de Procesos
Proceso P0 Proceso P1  Objetivos de la Planificación de Procesos:
♦ Multiprogramación: Tener siempre un proceso
Salvarestado
estadoen
enPCB
PCB0
Salvar 0 ejecutándose con el propósito mejorar utilización
CPU y otros recursos.
Recargarestado
Recargar estadoen
enPCB
PCB1 ♦ Tiempo Compartido: Cambiar rápidamente la
CPU entre procesos para mantener buena
1

interactividad.
Salvarestado
estadoen
enPCB
PCB1  No pueden existir más procesos en ejecución
Salvar 1
que el número de procesadores
⇒ Sistemas de multiprocesamiento permiten tener
Recargarestado
Recargar estadoen
enPCB
PCB0
0 más de un proceso en ejecución.

Raúl Monge Departamento de Informática 13 Raúl Monge Departamento de Informática 14

Colas de Procesos Modelo de Colas


Cola Listo
PCB23 PCB12 PCB47 Fin de cuanto de tiempo
cabeza
cabeza
cola
cola
Nuevo proceso CPU
CPU fin

Cola Disco PCB27 PCB33 Solicita E/S


cabeza
E/S
E/S
cabeza
cola
cola

Ocurre
Ocurre
Evento Esperar Evento
Evento

Raúl Monge Departamento de Informática 15 Raúl Monge Departamento de Informática 16

Planificadores Planificador de Largo Plazo


• Actúa con poca frecuencia (normalmente
cuando termina un proceso), creando un
Planificación de Largo Plazo Planificación de Mediano Plazo

swap-in
Swapped-out
Swapped-out
swap-out
proceso y cargándolo en la memoria.
• Controla el grado de multiprogramación.
Colade
Cola spool admitir
despool Procesamiento
ColaListo
Listo
Procesamiento
Cola
despachar
CPU
CPU • Determina una buena mezcla de procesos de
timeout uso intensivo de CPU y de E/S.
E/S Colade
deE/S
E/S • Algunos sistemas no tienen este planificador
E/S Cola
(e.g. Sistemas de tiempo compartido).
Planificación de Corto Plazo

Raúl Monge Departamento de Informática 17 Raúl Monge Departamento de Informática 18

3
Planificador de Corto Plazo Planificador de Mediano Plazo
• Decide a qué proceso asignarle la CPU, • Permite regular la carga reduciendo o
el cual es seleccionado de la cola listo. aumentando el grado de
• Se ejecuta con alta frecuencia, cada vez multiprogramación, usando técnica de
que un proceso abandona la CPU: swapping.
♦ salida del proceso (exit) • Un factor de decisión importante es la
♦ timeout (expira su ranura de tiempo) demanda por memoria de los procesos.
♦ solicitud de E/S o espera por un evento • Se usa en sistemas de tiempo
• Asegura la interactividad en un sistema compartido

Raúl Monge Departamento de Informática 19 Raúl Monge Departamento de Informática 20

Operaciones con Procesos Creación de Procesos


 Procesos pueden ser creados y destruidos  Formación de jerarquías de procesos
dinámicamente, i.e. Se requieren operaciones para: (relación padre-hijo)
 Creación de proceso
 En Unix se forma un árbol a partir de proceso INIT
 Destrucción de proceso
 Otras operaciones importantes son:  Respecto a los recursos:
 Comunicación entre procesos  Hijos pueden heredar los recursos (compartir), o
 Manejo de hebras  Reciben nuevos recursos
Control de la ejecución de los procesos
Al crearse un hijo, puede suceder


 Según el SO, existen múltiple alternativa de realizar
 Hijo se ejecuta concurrentemente con el padre
estas operaciones.
 Padre espera que el hijo termine

Raúl Monge Departamento de Informática 21 Raúl Monge Departamento de Informática 22

Término del Proceso Procesos Cooperativos


 Suicidio: Se autoelimina  Son aquellos que comparten un estado (o
 Invocación explícita, normal o anormal (i.e. exit datos)
en Unix).  Ejemplos de cooperación:
 Se deben liberan recursos del proceso.  Compartición de información (e.g. archivos)
 Asesinato: Otro proceso lo elimina  Aceleración de la computación (ejecución paralela)
 Normalmente lo hace un antepasado directo (más  Modularidad (i.e. cortafuegos)
seguro).  Conveniencia (se requieren varias tareas
 Eliminación puede ser normal o anormal simultáneas)
 Término de un proceso puede significar el término  Cooperación requiere de mecanismos de
de toda su descendencia (i.e. Unix: shutdown y
shell). comunicación y sincronización entre procesos

Raúl Monge Departamento de Informática 23 Raúl Monge Departamento de Informática 24

4
Ejemplo de Cooperación:
Problema Productor-Consumidor Comunicación entre Procesos (IPC)
 Paradigmas de comunicación:
 Memoria Compartida
 Paso de Mensajes
 Invocación remota
Buffer
Productor
Productor Consumidor
Consumidor

Paso de Mensajes Memoria Compartida Invocación remota

Raúl Monge Departamento de Informática 25 Raúl Monge Departamento de Informática 26

Paso de Mensajes Ejemplo de Paso de Mensaje


 Operaciones:
 send: enviar un mensaje Proceso 1 Proceso 2
 receive: recibir un mensaje
 Tipos de mecanismos send Solicitu
recv
 Comunicación directa o indirecta
d
 Comunicación simétrica o asimétrica
 Sincronización (con o sin bloqueo)
 Bufferring automático o explícito

Raúl Monge Departamento de Informática 27 Raúl Monge Departamento de Informática 28

Sincronización en la
Nombramiento (Naming) Comunicación
 Comunicación directa  Envío con bloqueo. Se bloquea hasta que
 Se identifica al proceso emisor y receptor mensaje ha sido recibido.
 Simétrica: receptor identifica al emisor  Envío sin bloqueo. Proceso emisor reanuda
 Asimétrica: receptor no conoce a priori al emisor su ejecución inmediatamente después de
 Comunicación indirecta enviar el mensaje
 Se usa un buzón o puerto (i.e. una cola de  Recepción con bloqueo. El receptor se
mensajes) que tiene un identificador único bloquea hasta que tenga un mensaje para
 Mensajes se envían y reciben desde un puerto recibir.
 Cada proceso se asocia a un puerto para recibir  Recepción sin bloqueo. El receptor
mensajes
recupera un mensaje o ninguno.

Raúl Monge Departamento de Informática 29 Raúl Monge Departamento de Informática 30

5
Buffering en la Comunicación Múltiples Hebras
 Capacidad cero. Obliga a que el envío • Una hebra es una abstracción de un procesador
(Program counter, registros de trabajo y stack de
sea bloqueante. ejecución).
 Capacidad limitada. Bloquea al • Una tarea (o proceso) permite que hebras
compartan: Código, datos y recursos del sistema
emisor sólo si el buffer está lleno y operativo.
hasta que haya nuevamente espacio. • Un proceso tradicional es una tarea con una sola
hebra.
 Capacidad ilimitada. El emisor nunca • A las hebras también se les denominan procesos
se bloquea. livianos, en contraposición a procesos pesados en el
concepto tradicional.
• Hebras son más eficientes en la creación y en el
cambio de contexto.
Raúl Monge Departamento de Informática 31 Raúl Monge Departamento de Informática 32

Ejemplos de Aplicación Beneficios de Múltiples Threads


 Un proceso servidor que utiliza una hebra  Mejor respuesta: permite más
para atender a cada petición de cliente interactividad, pues mientras algunas partes
se bloquean otras pueden seguir
 Un procesador de texto, con una hebra para ejecutándose.
el despliegue gráfico, otra para atención del
 Compartición de recursos. Comparten
teclado y otra para corrección ortográfica.
todos los recursos del proceso.
 Un Visor Web, con una hebra manejando la  Economía. Hebras son más livianas que los
gráfica y otra la comunicación por la red. procesos.
 Explotación de multiprocesamiento.
Varias hebras pueden realmente correr en
paralelo.
Raúl Monge Departamento de Informática 33 Raúl Monge Departamento de Informática 34

UNIVERSIDAD TÉCNICA FEDERICOSANTA MARÍA


Departamento de Informática

Realización de Hebras
3.2 Planificación de Recursos
Proceso Proceso

y del Procesador

Núcleo
Núcleo
CPU
CPU CPU
CPU
CPU
CPU

Nivel de Usuario Nivel de Núcleo

Raúl Monge Departamento de Informática 35

6
UNIVERSIDAD TÉCNICA FEDERICOSANTA MARÍA
Departamento de Informática

Definiciones Básicas
• Recurso: Objeto que puede ser utilizado por
un proceso.
3.2.1 Conceptos Básicos • Asignación: Un recurso está asignado a un
proceso si éste dispone de un conjunto de
operadores para su uso.
• Administrador: Asigna, recupera y,
eventual-mente, expropia un recurso a un
proceso.
• Expropiación: Cuando el administrador
puede reasignar un recurso antes que un
proceso lo libere voluntariamente.
Raúl Monge Departamento de Informática 38

Ejemplos de Recursos Planificación de Recursos


• Procesador. Se asigna a los procesos. El  En general, el objetivo de la planificación es
administrador dispone de dos procedimientos o
componentes: el despachador y el planificador. mejorar el aprovechamiento de los recursos y
• Memoria Principal. Puede ser con asignación lograr una mejor calidad del servicio.
explícita o implícita (e.g. memoria virtual)  Específicamente, la multiprogramación
• Memoria Secundaria. Se asigna en grupos de intenta mejorar el uso del procesador
bloques de tamaño fijo. Asignación puede ser
explícita o implícita.  Cada vez que un proceso realiza E/S, el
procesador queda libre para ser asignado a otro
• Canales de Comunicación. Si existen múltiples
procesos compartiendo un servicio de un dispositivo proceso.
de E/S común, las solicitudes podrían ser enviadas a  Se requiere de una política de planificación
un proceso servidor.

Raúl Monge Departamento de Informática 39 Raúl Monge Departamento de Informática 40

Objetivos de la Planificación Planificador del Procesador


• Justicia  Realiza la planificación de corto plazo,
• Maximizar la productividad (throughput) encargándose de:
• Ser predecible (minimizar la varianza)
 Seleccionar el próximo proceso listo que
• Balancear el uso de los recursos
recibe el procesador.
• Lograr un equilibrio entre tiempo de respuesta y
utilización  Algunos criterios pueden ser por orden de
• Evitar inanición (o postergación indefinida) llegada, por prioridad, etc.
• Asegurar prioridades  Es invocado cada vez que un proceso
• Favorecer a procesos que utilizan recursos claves libera voluntariamente o no el
• Degradar suavemente el desempeño ante cargas procesador.
pesadas

Raúl Monge Departamento de Informática 41 Raúl Monge Departamento de Informática 42

7
Expropiación en la Planificación del
Procesador Despachador
 El planificador de la CPU puede intervenir  Es la componente del núcleo que
cuando un proceso: transfiere el control del procesador al
Pasa voluntariamente a estado de espera (e.g. proceso seleccionado por el
E/S, sincronización, etc.)
Pasa a estado listo por expiración de tiempo
planificador.
(timeout)  Tiene las siguientes funciones:
Pasa de estado esperando a listo  Cambio de contexto
Cuando termina
 Cambio a modo usuario
 Cuando el planificador sólo interviene en 1 y
4, se dice que la planificación es sin  Debe ser muy rápido para reducir el
expropiación, en caso contrario es con tiempo de latencia (overhead)
expropiación.
Raúl Monge Departamento de Informática 43 Raúl Monge Departamento de Informática 44

Aplicación de los Indicadores a la


Indicadores de Desempeño Planificación del Procesador
• Utilización. Fracción de tiempo de uso del recurso o  Utilización: tiempo que el procesador está
servicio. ocupado por un proceso.
Productividad (throughput). Cantidad de trabajo

por unidad de tiempo.  Productividad: número de procesos que
• Tiempo de Tránsito. Tiempo desde que el trabajo
terminan por unidad de tiempo.
llega al sistema hasta que termina.  Tiempo de tránsito: tiempo transcurrido
• Tiempo de Espera. Tiempo que el trabajo espera desde que se crea el proceso hasta que
en colas debido a la competencia que existe en el termina.
uso de recursos compartidos con otros trabajos.  Tiempo de respuesta: tiempo transcurrido
• Tiempo de Respuesta. Tiempo desde que el desde que se crea el proceso hasta que
trabajo llega hasta que es atendido por primera vez
(sistemas interactivos). recibe el procesador por primera vez.

Raúl Monge Departamento de Informática 45 Raúl Monge Departamento de Informática 46

Nomenclatura Ejemplo: Un servidor


 Tt : Tiempo de tránsito Cola de Espera Servidor
 Tw : Tiempo de espera
 Tr : Tiempo de respuesta
 Ts : Tiempo de servicio Tw Ts
Tt
 Ps : Productividad del servidor
Tiempo de llegada Tiempo de despacho Tiempo de salida
 Us : Utilización del servidor
Tt = Ts + Tw
Ps = 1/Tt (sólo válido con un servidor único)

Raúl Monge Departamento de Informática 47 Raúl Monge Departamento de Informática 48

8
UNIVERSIDAD TÉCNICA FEDERICOSANTA MARÍA
Departamento de Informática

Ciclos de Procesamiento y de E/S


 Un proceso alterna sucesivamente entre un
ciclo de procesamiento y uno de E/S
(ráfagas).
3.2.2 Algoritmos de Planificación
 Primer y último ciclo son de procesamiento
 Procesos donde predomina la duración de los
ciclos de procesamiento se dice que son
ligados al procesador (CPU-bound).
 Contrariamente, aquellos donde predomina la
E/S son ligados a la E/S (I/O-bound).

Raúl Monge Departamento de Informática 49

Tipos de Algoritmos de
Planificación Algoritmos de Planificación
• Expropiación (preemption). Existen algoritmos con
y sin expropiación del recurso. Sin Expropiación Con Expropiación
• Intervalos de tiempo. El proceso puede recibir el
recurso por un cierto lapso de tiempo. FCFS (First Come, First Round-Robin
• Prioridades. A los procesos se les pueden asociar Serve)
prioridades, las cuales pueden ser estáticas o SJF (Shortest Job First) SRTF (Shortest
dinámicas. Remaining Time First)
• Tiempos límites (deadlines). Existen tiempo límites Prioridades (Estáticas o Prioridades (Estáticas o
para que termine un proceso. Contra más cerca se dinámicas) dinámicas)
esté de ese límite, más urgente se hace su
planificación.

Raúl Monge Departamento de Informática 51 Raúl Monge Departamento de Informática 52

a) Algoritmo FCFS Ejemplo de FCFS


 El algoritmo sin expropiación más Proceso Ciclo de CPU
simple P1 24 P1 P2 P3

 Se implementa mediante cola FIFO P2 3 0 24 27 30


P3 3
 Puede producir grandes tiempos de
espera
Ttr = (24 + 27 + 30)/3 = 27 [u.t.] Si el orden atención hubiera
sido P2, P3 y P1 se tendría:
Pr = 3 / 30 = 0,1 [Proceso/u.t.]
Ttr = (3 + 6 + 30)/3 = 13 [u.t.]

Raúl Monge Departamento de Informática 53 Raúl Monge Departamento de Informática 54

9
Efecto Convoy en FCFS b) Algoritmo SJF
• Se produce cuando se tiene una mezcla de un • Un algoritmo de planificación sin
proceso ligado a CPU y varios procesos ligados a E/S.
• Estos últimos procesos tenderán a ubicarse en la cola expropiación usado en sistemas en
LISTO, donde serán frenados por el proceso que usa lotes.
mucha CPU, quedando los recursos de E/S libres.
• Por el otro lado, cuando el proceso ligado a CPU • Se planifica el trabajo más breve que se
libera el procesador, los demás procesos pasan encuentra esperando como siguiente.
rápido a E/S, quedando la CPU ociosa.
• Por lo tanto, se produce baja utilización de CPU y de • Se requiere poder estimar a priori el
los dispositivos de E/S. tiempo de servicio de cada trabajo.
• Una solución requeriría una planificación no FCFS.

Raúl Monge Departamento de Informática 55 Raúl Monge Departamento de Informática 56

Ejemplo de SJF Características de SJF


Trabajo Ciclo de CPU • Desempeño:
P1 6 P4 P1 P3 P2 • SJF es óptimo en cuánto a reducir el tiempo de
espera.
P2 8 0 3 9 16 24
• Demostración: Cualquier permutación aumenta
P3 7 el tiempo de espera.
P4 3  Problemas:
• Es necesario conocer a priori o predecir el tiempo
de servicio del trabajo.
Tw(SJF) = (0+3+9+16)/4 = 7,00 • Existe posibilidad de inanición para trabajos
largos.
Tw(FCFS) = (0+6+14+21)/4 = 10,25 • Tal cual, el algoritmo es sólo aplicable a
planificación de largo plazo.
Raúl Monge Departamento de Informática 57 Raúl Monge Departamento de Informática 58

Aplicación de SJF a
Planificación del Procesador Sobre el promedio exponencial
 Se intenta estimar para cada proceso la  Se puede demostrar que:
duración del próximo ciclo o ráfaga de CPU .
 Se asigna el procesador a aquel proceso que n

tiene el menor tiempo estimado de CPU. τ n +1 = (1 − α ) n +1τ 0 + ∑ (1 − α ) j αt n − j


j =0
 Estimación se puede hacer usando promedio
exponencial:  Dado que α, y por tanto (1-α), son
τn+1 = α•tn + (1-α)•τn (0 ≤ α ≤ 1) términos menores que 1, significa que
tn : contiene la información reciente los términos más antiguos tienen menor
τn : contiene la información histórica influencia.
α : controla el peso histórico
Raúl Monge Departamento de Informática 59 Raúl Monge Departamento de Informática 60

10
c) Algoritmo Round-Robin Ejemplo de R-R
• Corresponde a FCFS con expropiación. Proceso Ciclo de CPU

• Procesos reciben por un cuanto de P1 24


Ttr = (30 + 7 + 10)/3 = 15,7 [u.t.]
tiempo el procesador, y si en este P2 3

tiempo no lo liberan, se les expropia y P3 3 Pr = 3 / 30 = 0,1 [Proceso/u.t.]

vuelven al final de la cola de espera


(listo).
P1 P2 P3 P1 P1 P1 P1 P1
• Se usa en sistemas interactivos. 0 4 7 10 14 18 22 26 30

• Evita o se reduce el efecto convoy.

Raúl Monge Departamento de Informática 61 Raúl Monge Departamento de Informática 62

R-R: tamaño del cuanto de tiempo R-R: tiempo de respuesta


• Problema:  En general, si n es el número de
• Si el cuanto de tiempo τ es muy pequeño, procesos, entonces un proceso debe
se tiene un overhead muy grande. esperar a lo más:
• Si τ → ∞, se tiene FCFS (n-1)* τ para el próximo cuanto de tiempo
(se pierde interactividad)

 Una regla de uso es que el 80% de los


 Por lo tanto, se debe buscar un ciclos de CPU sean más pequeños que τ
compromiso para el tamaño del cuanto.

Raúl Monge Departamento de Informática 63 Raúl Monge Departamento de Informática 64

e) Algoritmos de Planificación con


d) Algoritmo SRTF Prioridades Estáticas
 Corresponde a SJF con expropiación.  En general, a los procesos se les pueden asignar
prioridades estáticas en el rango:
 Se planifica como siguiente el que tenga 0 – (MAX-1) (siendo normalmente MAX = 2n )
menor tiempo de proceso para terminar.
 A veces se interpreta el menor valor como la máxima
 Si llega un trabajo con menor tiempo de prioridad.
proceso que el remanente en ejecución, lo  Planificación puede ser sin o con expropiación
desplaza del procesador (expropiación).  Prioridades pueden ser asignadas externa
 Se debe recordar el tiempo remanente de (independientes del SO) o internamente.
proceso para cada trabajo desplazado. • En RTS se acostumbra a dar prioridades estáticas a
los procesos usando criterios externos.

Raúl Monge Departamento de Informática 65 Raúl Monge Departamento de Informática 66

11
Ejemplos de Prioridades Problema de Prioridades Estáticas
 SJF es un caso particular de planificación con • Las prioridades estáticas hacen posible
prioridades estáticas con criterio externo.
una postergación indefinida.
• Si τ es el tiempo estimado para un trabajo,
entonces su prioridad p es: p = 1/τ  Rumor:
 SRTF es igualmente una planificación con  M.I.T, en 1973, se detuvo un IBM 7094 y
prioridades, pero dinámicas y con criterio encontraron un proceso de baja prioridad
externo. que fue admitido en 1967
 SJF de corto plazo con predicción de ráfagas
de CPU mediante el promedio exponencial
correspondería a una prioridad dinámica
basada en un criterio interno y externo.
Raúl Monge Departamento de Informática 67 Raúl Monge Departamento de Informática 68

f) Highest response time


Envejecimiento Ratio Next (HRN)
 Una técnica para evitar postergación Algoritmo con prioridad dinámica
indefinida es el envejecimiento (aging)
Sea:
de los procesos: P: Prioridad
 “Los procesos aumentan su prioridad S: Tiempo de servicio
en la medida que esperan” W: Tiempo de espera

 Una forma sería aumentar cada cierto Entonces se define la prioridad P de un proceso como:
tiempo τ la prioridad de cada proceso
W +S
que está esperando. P= = 1+
W
S S

Raúl Monge Departamento de Informática 69 Raúl Monge Departamento de Informática 70

g) Planificación con Múltiples Ejemplo de Múltiples Niveles


Niveles sin Realimentación sin Realimentación
 Trabajos se clasifican en diferentes grupos, Alta prioridad
aplicándole a cada uno un determinado Procesos del sistema
algoritmo de planificación con una prioridad
estática. Procesos interactivos
 Ejemplo:
• Trabajos frontales (interactivos): Round-Robin
y máxima prioridad Procesos en lotes

• Trabajos de fondo (lotes): FCFS y mínima


prioridad
 El tiempo de CPU se puede dividir en los Baja prioridad
Procesos baja prioridad

grupos (e.g. 80% interactivos y 20% lotes)


Raúl Monge Departamento de Informática 71 Raúl Monge Departamento de Informática 72

12
h) Planificación con Múltiples Ejemplo de Múltiples Niveles
Niveles con Realimentación con realimentación
 Permite separar dinámicamente trabajos con
diferentes características, y en forma Cuanto = 8
automática.
 No se requiere predicciones de las ráfagas de
CPU para los procesos. Cuanto = 16

 Se usa expropiación con prioridades dinámicas.


 Procesos entran en la cola de máxima prioridad. Cuanto = 32
Si se les expropia la CPU bajan de prioridad.
 Existe peligro de inanición.
FCFS
 Su implementación es más compleja.

Raúl Monge Departamento de Informática 73 Raúl Monge Departamento de Informática 74

UNIVERSIDAD TÉCNICA FEDERICOSANTA MARÍA

Características de Colas con


Departamento de Informática

Realimentación
 Procesos ligados a E/S tienen alta prioridad
(pasan rápido por la CPU)
3.3 Otros Temas
 Procesos ligados a CPU disminuyen su
prioridad (bajan a colas de mayor cuanto)
 Para evitar inanición, procesos que esperan
mucho pueden subir una cola
(envejecimiento).

Raúl Monge Departamento de Informática 75

Planificación con Múltiples


Procesadores Planificación de Tiempo Real
 En procesamiento simétrico, para balancear  Sistemas de tiempo real duros
carga, se usa una única cola listo.  Tareas críticas deben terminar antes de un cierto
tiempo.
 Cada procesador debe ser capaz de asignarse
Sistema debe reservar recursos para cumplir los
un nuevo proceso en espera.


plazos.
 Programación debe ser especial para evitar  Uso de memoria virtual no es conveniente
que un proceso sea dos veces asignado.  Sistemas de tiempo real blandos
 Existe una limitación cuando la E/S está  Computación es menos restrictiva
ligada a un determinado procesador.  Procesos de tiempo de real reciben más alta
prioridad
 Se usan prioridades estáticas (sin envejecimiento)
 Reducción de latencia requiere de expropiación
Raúl Monge Departamento de Informática 77 Raúl Monge Departamento de Informática 78

13
Planificación de Hebras Evaluacion de Desempeño
 Planificación de hebras de nivel usuario las • Métodos determinísticos
maneja una biblioteca independiente del
• Métodos Analíticos basados en Teoría
kernel (planificación local).
de Colas
 La planificación de hebras del nivel kernel es
global al sistema: un procesador libre puede • Simulación
ser asignado a cualquier hebra lista • Benchmarks
Se pueden usar diferentes prioridades.
Monitoreo de desempeño


 Hebras de alta prioridad reciben un cuanto menor.

Raúl Monge Departamento de Informática 79 Raúl Monge Departamento de Informática 80

14

You might also like