Está en la página 1de 42

Sistemas Operativos

Rafael Rivas Estrada


Agenda
Introducción.
Tipos de planificación.
Objetivos de la planificación.
Modelo del planificador.
Niveles de planificación.
Mecanismos y políticas de planificación.
Algoritmos de planificación.
Planificación en Tiempo real.
Planificación en Multiprocesadores.
R. Rivas - Sistemas Operativos
Introducción
Época inicial: Procesamiento por lotes

Computadores Personales: Un editor de texto

Estación de trabajo: Usar ventanas vs Enviar


Email

¿Costo de conmutar procesos?

R. Rivas - Sistemas Operativos


El problema de planificar
recursos
Posibilidades dependiendo del número de
recursos:
1.Número de peticiones < número de recursos
-> planificación espacial.

2.Número de peticiones > número de recursos


-> planificación espacial y temporal.

3.Número de recursos = 1 -> planificación


temporal.
R. Rivas - Sistemas Operativos
Objetivos de la
planificación
Optimizar el uso del recurso.

Tiempos de espera mínimos.

Asignación justa.

 Solicitudes especiales.
Nota: La versión en castellano del libro de
S.O. de A. Tanenbaum traduce scheduling
como calendarización.
R. Rivas - Sistemas Operativos
Tipos de planificación
Planificación no expulsiva.

Planificación expulsiva.

R. Rivas - Sistemas Operativos


Principales recursos
Procesador.

La memoria.

El disco.

Mecanismos de sincronización

R. Rivas - Sistemas Operativos


Caraterización de
procesos
Inicio.
Repetir
Leer(Archivo_en, dato)
Res= pr(dato)
Escribir(Archivo_sal, dato).
hasta(eof(Archivo_en)
…

R. Rivas - Sistemas Operativos


Caraterización de
procesos
Inicio.
Leer(Archivo_en, video).
Res= modificar(video).
Escribir(Archivo_sal, video).
…
fin().

…

R. Rivas - Sistemas Operativos


Caraterización de
procesos
Otros factores:
• Grado de interactividad.
• Nivel de urgencia.

Resumen:
Procesos con uso intensivo de entrada/salida.
Procesos interactivos.
Procesos urgentes.

R. Rivas - Sistemas Operativos


Objetivos de la
planificación
Objetivo general: optimizar el comportamiento del
sistema.
Parámetros de los procesos o threads:
Tiempo de ejecución (Te): Tiempo desde que se crea
hasta que termina.

Tiempo de espera (Tw): Tiempo que permanece en el


modo listo para ejecutar.

Tiempo de respuesta (Ta): Tiempo desde que se inicia


hasta que responde por primera vez al usuario.

R. Rivas - Sistemas Operativos


Objetivos de la
planificación
Parámetros de la planificación:

Uso del procesador (C) : relación entre Tu/T,


donde Tu es el uso efectivo en procesamiento
y T es el tiempo desde que se inicio el
sistema.

Tasa de trabajos completados(P): Cantidad de


trabajos completados por unidad de tiempo.
Se puede calcular como 1/Media(Te).

R. Rivas - Sistemas Operativos


Objetivos de la
planificación
Objetivos:
Optimizar el uso del procesador para conseguir
mas eficiencia: max(C).
Minimizar el tiempo de ejecución medio de un
proceso o thread: min(Te).
Minimizar el tiempo de respuesta medio: min(Ta).
Minimizar el tiempo de espera medio: min(Tw).
Maximizar el numero de trabajos por unidad de
tiempo: max(P)

R. Rivas - Sistemas Operativos


Objetivos de la
planificación
Objetivos mas complejos:
Imparcialidad.
Política justa.
Eficiencia: mantener el procesador ocupado.
Predectibildad de la ejecución: cumplir plazos de
tiempo real.
Equilibrio en el uso de recursos.
Minimizar la varianza en el tiempo de repuesta.
Reducir el tiempo entre cambios de procesos.
…

R. Rivas - Sistemas Operativos


Modelo del planificador
Un planificador se puede modelar como un
sistema de colas, cuya complejidad aumenta
según el tipo de planificador y la existencia
de uno o más procesadores.

Parámetros básicos del modelo:


Tiempo medio de llegada (λ)

Tiempo medio de servicio (τ)

R. Rivas - Sistemas Operativos


Modelo del planificador
Planificador simple (No expulsivo, sin
prioridad, sin bloqueos)

R. Rivas - Sistemas Operativos


Modelo del planificador
En este modelo, el uso del procesador se
puede expresar como:
C=λτ

Y si λ > P
Te = Tw + τ
y el promedio de trabajos es:
N = λ Te
y el Tiempo de respuesta es:
Ta = Tw
R. Rivas - Sistemas Operativos
Modelo del planificador
Planificador No expulsivo, sin prioridad y con
bloqueos:

R. Rivas - Sistemas Operativos


Modelo del planificador
Asumiendo que cada proceso se bloquea n
veces, el tiempo de ejecución se puede calcular
como:

Te = n(Tw + τ) n(Tw + β+ α)

Donde α es el tiempo de medio de servicio


en cada activación. β es el tiempo en el estado
de bloqueo.

R. Rivas - Sistemas Operativos


Modelo del planificador
Planificador, no expulsivo, con bloqueo y con
prioridad.

R. Rivas - Sistemas Operativos


Niveles de planificación
Planificación a corto plazo: Se decide cual proceso de
la cola listo para ejecutarse recibe el procesador.

Se activa por bloqueos voluntarios, interrupciones,


temporizadores de rodajas de tiempo, llamadas al
sistema, señales, activación de nuevos programas,
desbloqueo de un procesos.

Debido a que se ejecuta frecuentemente, debe ser


rápido y generar poca carga para el procesador

R. Rivas - Sistemas Operativos


Niveles de planificación
Planificación a mediano plazo (swapper): es
el encargado de quitar procesos
temporalmente de memoria principal y
moverlos al dispositivo de intercambio o de
paginación.

También decide cuando un proceso pasa de


estado suspendido a estado listo.

R. Rivas - Sistemas Operativos


Niveles de planificación
Planificación a largo plazo: Se activa cuendo
aparecen nuevos procesos y decide quien se
admite en la cola de procesos listos para
ejecución.

Un proceso sometido a este planificador


puede ser: aceptado, diferido o rechazado.

R. Rivas - Sistemas Operativos


Mecanismos y políticas de
planificación
Estructura del planificador de procesos

R. Rivas - Sistemas Operativos


Mecanismos y políticas de
planificación
Operaciones en el cambio de contexto (context
switch) y activación del nuevo proceso
(dispatching):
1.Salvar el contexto del proceso que ocupaba el
procesador (solo en expulsión o cesión
voluntaria).
2.Seleccionar el proceso a ejecutar de la cola de
procesos listos.
3.Restaurar el contexto del proceso a ejecutar.

¿Costos ?
R. Rivas - Sistemas Operativos
Mecanismos y políticas de
planificación
Puntos de activación del planificador:
• Cuando el proceso termina su ejecución.
• Si el proceso realiza una llamada bloqueante.
• Si realiza una excepción.
• Si realiza una llamada para ceder el procesador.
• Si el proceso desbloquea a un proceso más
importante.
• Si el proceso disminuye su importancia y existe
uno con mayor importancia en la cola de listo.
• Si se produce una interrupción indicando que se
ha consumido su turno en el procesador.
R. Rivas - Sistemas Operativos
Algoritmos de
planificación
Algoritmos de planificación no expulsivos:
Primero en llegar primero en ejecutar.

Primero el trabajo más corto.

Selección aleatoria.

Planificación basada en prioridades.


 Prioridades normales (dinámicas).
 Prioridades de tiempo real (fijas).
 Prioridad de tiempo real con rodaja (fijas).

R. Rivas - Sistemas Operativos


Algoritmos de
planificación
Algoritmos de planificación expulsivos:
Turno rotatorio (round robin). La rodaja o
cuanto debe ser varios ordenes de magnitud
mayor que el tiempo de cambio de contexto.

Primero el menor tiempo restante (SRTF).

Planificación basada en prioridades.

Colas Multinivel

R. Rivas - Sistemas Operativos


Algoritmos de
planificación
Planificación en Tiempo Real

Trabajos críticos.

Trabajos no críticos.

“Los sistemas de tiempo real se suelen


diseñar de forma que estén bastantes
descargados, es decir para garantizar que
tengan pocos procesos en estado listo.”
R. Rivas - Sistemas Operativos
Algoritmos de
planificación
Algoritmos de planificación de tiempo real:
Planificación cíclica.
Todas las tareas se ejecutan cíclicamente.
 Las tareas no interactúan entre si.
Todas las tareas se conocen a priori.

Planificación monótona en frecuencias:


depende solo del reloj.

Planificación por límite de tiempo (EDF).

R. Rivas - Sistemas Operativos


Planificación en
multiprocesadores
Se pueden usar los algoritmos anteriores
tomando en cuenta los siguientes ajustes:
La afinidad de usar el último procesador usado.
La afinidad escrita de los procesos que les
permita restringir en que procesador se desean
ejecutar.
Características de hyperthreading*
Procesadores NUMA*.
Congestión en la información requerida por el
planificador.

R. Rivas - Sistemas Operativos


Planificación en
multiprocesadores

HyperThreading es una marca


registrada de la empresa Intel para
nombrar su implementación de la
tecnología SMP. Permite a los
programas preparados para ejecutar
múltiples hilos (multi-threaded)
procesarlos en paralelo dentro de un
único procesador, incrementando el
uso de las unidades de ejecución del
procesador.

R. Rivas - Sistemas Operativos


Planificación en
multiprocesadores

NUMA ofrece memoria distribuida para cada


procesador, evitando así que afecte al
rendimiento del sistema cuando varios
procesadores intentan acceder a la misma
memoria. Para los problemas de las
propagación de datos (comunes en
servidores y aplicaciones similares), NUMA
puede mejorar el rendimiento utilizando una
única memoria compartida por un factor de
aproximadamente el número de
procesadores (o separando bancos de
memoria).
Planificación en
multiprocesadores
 ASMP, Asymmetric Multiprocessing:
Solución urgente para usar las nuevas
plataformas.
Todo el código del sistema operativo se
ejecutaba en un solo procesador.

SMP, Symmetric Multiprocessing:


El sistema operativo se puede ejecutar en
cualquier procesador. *
Es el mas usado actualmente.

R. Rivas - Sistemas Operativos


Planificación en
multiprocesadores
 ASMP, Asymmetric Multiprocessing:

R. Rivas - Sistemas Operativos


Planificación en
multiprocesadores
Tipos de planificadores SMP
 Planificación basada en una cola:

Tomar en cuenta la afinidad

R. Rivas - Sistemas Operativos


Planificación en
multiprocesadores
Planificación basada en una cola por procesador:
 Válido cuando aumenta el número de procesadores.

 Temporalmente se activa periódicamente un


mecanismo de equilibrado explicito, o cuando se
queda vacía la cola de un procesador.

 Si existen procesadores que comparten la cache


(procesadores jerárquicos) es ideal que el proceso
de equilibrio de carga se haga entre estos.
Planificación en
multiprocesadores
Tipos de planificadores SMP
 Planificación basada en una cola por
procesador:

R. Rivas - Sistemas Operativos


Servicios UNIX de
planificación:
Práctica en sistemas linux. Use el manual de
linux para:
1.Usar sched_getscheduler() para obtener los
parámetros de planificación de un proceso.
2.Describir las opciones de la llamada
sched_getscheduler() y muestre ejemplos de
uso.
3.Describa las opciones de la llamada nice() y
muestre ejemplos de uso.
4.Describa el uso de la llamada sched_affinity
R. Rivas - Sistemas Operativos
Ejercicios típicos
1. Considere el siguiente conjunto de procesos
planificados con un algoritmo de turno
rotatorio con un rodaja de una unidad de
tiempo ¿Cuánto tardan en acabar todos
ellos?
Proceso Llegada Duración
P1 2 8
P2 0 5
P3 1 4
P4 3 3

R. Rivas - Sistemas Operativos


Los gráficos han sido tomados de del texto:
Sistemas Operativos, una visión aplicada
J. Carretero
F. García.
P. Anasagasti
F. Pérez

R. Rivas - Sistemas Operativos


1er Proyecto de
Programación
Diseñe y construya un simulador de un planificador a corto
plazo.
Características:
-1 solo cpu.
-Poder seleccionar entre al menos 3 algoritmos de
planificación
-Caracterización de los proceso:
– Promedio de tiempo llegada a la cola de listo.
– Promedio del tiempo requerido para su ejecución: menor,
igual o mayor que el tiempo de llegada a la cola de listo.
– Promedio de Instrucciones con Bloqueo: bajo, medio, alto.
Fecha de entrega:

También podría gustarte