Planificación - Sistemas Operativos

Anuncio
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación
Sistemas Operativos
Andrés Felipe Barco Santa
Pontificia Universidad Javeriana
Febrero de 2010
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Concurrencia
La planificación
Planificación de hilo
Abandonando la CPU
Concurrencia
Tan solo apariencia
Dado que todas las máquinas abstractas pareciecen que
estuvieran ejecutandose a la misma vez, se dice que se
ejecutan concurrentemente: existe una apariencia de
operaciones simultaneas gracias a la alta velocidad de
multiplexación de la CPU.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Concurrencia
La planificación
Planificación de hilo
Abandonando la CPU
Concurrencia
Tan solo apariencia
Dado que todas las máquinas abstractas pareciecen que
estuvieran ejecutandose a la misma vez, se dice que se
ejecutan concurrentemente: existe una apariencia de
operaciones simultaneas gracias a la alta velocidad de
multiplexación de la CPU.
Esta concurrencia es la que brinda la capacidad de
multiprogramación.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Concurrencia
La planificación
Planificación de hilo
Abandonando la CPU
La planificación
Scheduler
La planificación hace referencia a la tarea de manejar la CPU
compartiendola con una comunidad de procesos/hilos listos
para correr.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Concurrencia
La planificación
Planificación de hilo
Abandonando la CPU
La planificación
Scheduler
La planificación hace referencia a la tarea de manejar la CPU
compartiendola con una comunidad de procesos/hilos listos
para correr.
scheduler policy: determina cuando un hilo debe ser
desalojado de la CPU y cual hilo listo debe ser
asignado a continuación.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Concurrencia
La planificación
Planificación de hilo
Abandonando la CPU
La planificación
Scheduler
La planificación hace referencia a la tarea de manejar la CPU
compartiendola con una comunidad de procesos/hilos listos
para correr.
scheduler policy: determina cuando un hilo debe ser
desalojado de la CPU y cual hilo listo debe ser
asignado a continuación.
scheduler mechanism: determina cómo un manejador de
procesos puede determinar que es tiempo de
multiplexar la CPU, y cómo un hilo puede ser
asignado y removido de la CPU (cambios de
contexto).
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Concurrencia
La planificación
Planificación de hilo
Abandonando la CPU
Planificación de hilo
Figura: Tomado de Operating Systems, 3 Edition, Gary Nutt
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Concurrencia
La planificación
Planificación de hilo
Abandonando la CPU
Abandonando la CPU
Existen cuatro posibles razones para que un hilo abandone la
CPU.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Concurrencia
La planificación
Planificación de hilo
Abandonando la CPU
Abandonando la CPU
Existen cuatro posibles razones para que un hilo abandone la
CPU.
1
El hilo completa su ejecución.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Concurrencia
La planificación
Planificación de hilo
Abandonando la CPU
Abandonando la CPU
Existen cuatro posibles razones para que un hilo abandone la
CPU.
1
El hilo completa su ejecución.
2
El hilo realiza petición de recursos y este no
está disponible.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Concurrencia
La planificación
Planificación de hilo
Abandonando la CPU
Abandonando la CPU
Existen cuatro posibles razones para que un hilo abandone la
CPU.
1
El hilo completa su ejecución.
2
El hilo realiza petición de recursos y este no
está disponible.
3
El hilo decide ceder la CPU voluntariamente.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Concurrencia
La planificación
Planificación de hilo
Abandonando la CPU
Abandonando la CPU
Existen cuatro posibles razones para que un hilo abandone la
CPU.
1
El hilo completa su ejecución.
2
El hilo realiza petición de recursos y este no
está disponible.
3
El hilo decide ceder la CPU voluntariamente.
4
El hilo es desalojado de la CPU porque el sistema decide
detener el hilo hasta nueva orden.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
En el hardware
Organización de planificación de procesos
El planificador
En el hardware
Los mecanismos
Los mecanismos de planificación de la CPU dependen de
caracterı́sticas en el hardware, la más importante es si la
computadora está o no configurada con un dispositivo de reloj.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
En el hardware
Organización de planificación de procesos
El planificador
En el hardware
Los mecanismos
Los mecanismos de planificación de la CPU dependen de
caracterı́sticas en el hardware, la más importante es si la
computadora está o no configurada con un dispositivo de reloj.
Las demás funcionalidades del scheduler son implementadas
en software.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
En el hardware
Organización de planificación de procesos
El planificador
Organización de planificación de procesos
Conceptualmente el scheduler esta dividido en tres partes
lógicas.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
En el hardware
Organización de planificación de procesos
El planificador
Organización de planificación de procesos
Conceptualmente el scheduler esta dividido en tres partes
lógicas.
Encolador
Cuando un proceso cambia su estado a listo, su descriptor se
actualiza para relfejar el cambio. El enqueuer asigna un
puntero del descriptor en la lista de procesos que esperan la
CPU. El enqueuer puede computar una prioridad en el hilo o
puede hacerse al momento de sacarlo de la lista.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
En el hardware
Organización de planificación de procesos
El planificador
Organización de planificación de procesos
Cambio de Contexto
Cuando el scheduler decide cambiar de un proceso a otro para
el control de la CPU, el context switcher guarda todos los datos
de los registros de la CPU (PC, IR, condition status, processor
status, ALU status) en el descriptor del hilo.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
En el hardware
Organización de planificación de procesos
El planificador
Organización de planificación de procesos
Despachador
El dispatcher es invocado después de que el proceso de la
aplicación ha sido desalojado de la CPU (el contexto del
dispatcher es cargado para ejecutarse). Posteriormente
selecciona un hilo que esté en lista de espera y le asigna la
CPU (haciendo otro cambio de contexto desde el mismo hacia
el hilo).
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
En el hardware
Organización de planificación de procesos
El planificador
El planificador
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Grabando el Contexto
Cambio de Contexto
Complejidad del Cambio
Compartir la CPU Voluntariamente
Compartir la CPU Involuntariamente
Grabando el Contexto
Encolador
El cambio de contexto afecta significativamente el
comortamiento del sistema, dado que los computadores
modernos tienen varios registros generales y de estado.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Grabando el Contexto
Cambio de Contexto
Complejidad del Cambio
Compartir la CPU Voluntariamente
Compartir la CPU Involuntariamente
Grabando el Contexto
Encolador
El cambio de contexto afecta significativamente el
comortamiento del sistema, dado que los computadores
modernos tienen varios registros generales y de estado.
El cambio contexto usa ordinariamente las operaciones
convencionales de load y store para guardar la información de
los registros.
(n + m) b x K time units
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Grabando el Contexto
Cambio de Contexto
Complejidad del Cambio
Compartir la CPU Voluntariamente
Compartir la CPU Involuntariamente
Cambio de Contexto
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Grabando el Contexto
Cambio de Contexto
Complejidad del Cambio
Compartir la CPU Voluntariamente
Compartir la CPU Involuntariamente
Complejidad del Cambio
Hipotesis
Un procesador requiere 50 nanosegundos para almacenar una
unidad de información (b x K = 50ns). Suponga un bus de
32-bits y registros de 32-bits de ancho.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Grabando el Contexto
Cambio de Contexto
Complejidad del Cambio
Compartir la CPU Voluntariamente
Compartir la CPU Involuntariamente
Complejidad del Cambio
Hipotesis
Un procesador requiere 50 nanosegundos para almacenar una
unidad de información (b x K = 50ns). Suponga un bus de
32-bits y registros de 32-bits de ancho.
Cada registro requiere 50 nanosegundos para almacenar
su contenido.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Grabando el Contexto
Cambio de Contexto
Complejidad del Cambio
Compartir la CPU Voluntariamente
Compartir la CPU Involuntariamente
Complejidad del Cambio
Hipotesis
Un procesador requiere 50 nanosegundos para almacenar una
unidad de información (b x K = 50ns). Suponga un bus de
32-bits y registros de 32-bits de ancho.
Cada registro requiere 50 nanosegundos para almacenar
su contenido.
Si existen n = 32 registros de proposito general y m = 8
registros de estados, el tiempo total para grabar los
registros es 40x50 nanosegundos, es decir, 2
microsegundos.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Grabando el Contexto
Cambio de Contexto
Complejidad del Cambio
Compartir la CPU Voluntariamente
Compartir la CPU Involuntariamente
Complejidad del Cambio
Otros 2 microsegundos son usados para restaurar los
registros para que otro hilo ejecute
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Grabando el Contexto
Cambio de Contexto
Complejidad del Cambio
Compartir la CPU Voluntariamente
Compartir la CPU Involuntariamente
Complejidad del Cambio
Otros 2 microsegundos son usados para restaurar los
registros para que otro hilo ejecute (ignorando el tiempo de
selección de hilo).
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Grabando el Contexto
Cambio de Contexto
Complejidad del Cambio
Compartir la CPU Voluntariamente
Compartir la CPU Involuntariamente
Complejidad del Cambio
Otros 2 microsegundos son usados para restaurar los
registros para que otro hilo ejecute (ignorando el tiempo de
selección de hilo).
El tiempo total es más de 4 microsegundos dado el tiempo
de cambio de contexto del dispatcher y el tiempo tomado
en elegir el siguiente hilo.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Grabando el Contexto
Cambio de Contexto
Complejidad del Cambio
Compartir la CPU Voluntariamente
Compartir la CPU Involuntariamente
Complejidad del Cambio
Otros 2 microsegundos son usados para restaurar los
registros para que otro hilo ejecute (ignorando el tiempo de
selección de hilo).
El tiempo total es más de 4 microsegundos dado el tiempo
de cambio de contexto del dispatcher y el tiempo tomado
en elegir el siguiente hilo.
Gasto
Un procesador de 1Ghz puede ejecutar una instrucción de
registro en 2 nanosegundos. Esto significa que durante los 4
microsegundos requeridos para un cambio de contexto, el
procesador pudo haber ejecutado cerca de 2,000 instrucciones
haciendo trabajo útil!!!
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Grabando el Contexto
Cambio de Contexto
Complejidad del Cambio
Compartir la CPU Voluntariamente
Compartir la CPU Involuntariamente
Compartir la CPU Voluntariamente
Yield
Parte de los mecanismos del scheduler es la forma invocarlo.
La más sencilla es permitiendo a los procesos/hilos invocar al
planificador explı́citamente, compartiendo la CPU
voluntariamente.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Grabando el Contexto
Cambio de Contexto
Complejidad del Cambio
Compartir la CPU Voluntariamente
Compartir la CPU Involuntariamente
Compartir la CPU Voluntariamente
Yield
Parte de los mecanismos del scheduler es la forma invocarlo.
La más sencilla es permitiendo a los procesos/hilos invocar al
planificador explı́citamente, compartiendo la CPU
voluntariamente.
yield(r,s){
memory[r] = PC;
PC = memory[s];
}
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Grabando el Contexto
Cambio de Contexto
Complejidad del Cambio
Compartir la CPU Voluntariamente
Compartir la CPU Involuntariamente
Compartir la CPU Voluntariamente
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Grabando el Contexto
Cambio de Contexto
Complejidad del Cambio
Compartir la CPU Voluntariamente
Compartir la CPU Involuntariamente
Compartir la CPU Involuntariamente
Interval Timer
El sistema de interrupciones fuerzan perdiodicamente a los
procesos a ejecutar la intrucción yield. El cuestión es incorporar
un dispositivo de manejo de tiempo (interval timer device), el
cual produzca una interrupción cada vez que el tiempo expira.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Grabando el Contexto
Cambio de Contexto
Complejidad del Cambio
Compartir la CPU Voluntariamente
Compartir la CPU Involuntariamente
Compartir la CPU Involuntariamente
Interval Timer
El sistema de interrupciones fuerzan perdiodicamente a los
procesos a ejecutar la intrucción yield. El cuestión es incorporar
un dispositivo de manejo de tiempo (interval timer device), el
cual produzca una interrupción cada vez que el tiempo expira.
EL interval timer lanza una interrupción cada K x T ticks de
reloj. Este valor es programable por medio del número de ticks
deseados y asignado por una función llamada programmable
interval timer.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Grabando el Contexto
Cambio de Contexto
Complejidad del Cambio
Compartir la CPU Voluntariamente
Compartir la CPU Involuntariamente
Compartir la CPU Involuntariamente
IntervalTimer(){
InterruptCount = InterruptCount - 1;
if(InterruptCount <= 0){
InterruptRequest = True;
InterruptCount = K;
}
}
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Grabando el Contexto
Cambio de Contexto
Complejidad del Cambio
Compartir la CPU Voluntariamente
Compartir la CPU Involuntariamente
Compartir la CPU Involuntariamente
IntervalTimer(){
InterruptCount = InterruptCount - 1;
if(InterruptCount <= 0){
InterruptRequest = True;
InterruptCount = K;
}
}
SetInterval(<programmable value>){
K = <programmable value>;
InterruptCount = K;
}
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Caracterı́sticas del Planificador
Compartiendo la CPU
Modelo de Estudio
Métricas
Caracterı́sticas del Planificador
Los algoritmos de planificación modernos usan prioridades
internas (prioridades), este determina una jerarquı́a con la cual
el dispatcher selecciona el proceso a ejecutar.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Caracterı́sticas del Planificador
Compartiendo la CPU
Modelo de Estudio
Métricas
Caracterı́sticas del Planificador
Los algoritmos de planificación modernos usan prioridades
internas (prioridades), este determina una jerarquı́a con la cual
el dispatcher selecciona el proceso a ejecutar.
En prioridades externas cada usuario es asignado con una
prioridad estática. Cuando un usuario crea un proceso la
prioridad interna es obtenida con una función sobre la
externa.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Caracterı́sticas del Planificador
Compartiendo la CPU
Modelo de Estudio
Métricas
Caracterı́sticas del Planificador
Los algoritmos de planificación modernos usan prioridades
internas (prioridades), este determina una jerarquı́a con la cual
el dispatcher selecciona el proceso a ejecutar.
En prioridades externas cada usuario es asignado con una
prioridad estática. Cuando un usuario crea un proceso la
prioridad interna es obtenida con una función sobre la
externa.
La prioridad tambien se puede definir dinamicamente por
circunstancias como la cantidad de tiempo que lleva
esperando ser ejecutado.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Caracterı́sticas del Planificador
Compartiendo la CPU
Modelo de Estudio
Métricas
Compartiendo la CPU
Si el planificador quiere compartir la CPU equitativamente a n
procesos, durante un intervalo de tiempo K ; cada proceso se
ejecutara en la CPU un intervalo de tiempo de K /n.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Caracterı́sticas del Planificador
Compartiendo la CPU
Modelo de Estudio
Métricas
Compartiendo la CPU
Si el planificador quiere compartir la CPU equitativamente a n
procesos, durante un intervalo de tiempo K ; cada proceso se
ejecutara en la CPU un intervalo de tiempo de K /n.
Time Quantum
Si el planificador utiliza un interval timer, cada proceso se
ejecutara por un quantum de tiempo; también llamado
timeslice.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Caracterı́sticas del Planificador
Compartiendo la CPU
Modelo de Estudio
Métricas
Modelo de Estudio
P = {Pi |0 <= i <= n} Conjunto de procesos modernos.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Caracterı́sticas del Planificador
Compartiendo la CPU
Modelo de Estudio
Métricas
Modelo de Estudio
P = {Pi |0 <= i <= n} Conjunto de procesos modernos.
{Pi,j } Lista de hilos que representan el proceso Pi .
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Caracterı́sticas del Planificador
Compartiendo la CPU
Modelo de Estudio
Métricas
Modelo de Estudio
P = {Pi |0 <= i <= n} Conjunto de procesos modernos.
{Pi,j } Lista de hilos que representan el proceso Pi .
S(Pi,j ) Estados posibles para cada hilo (running, ready,
blocked)
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Caracterı́sticas del Planificador
Compartiendo la CPU
Modelo de Estudio
Métricas
Modelo de Estudio
P = {Pi |0 <= i <= n} Conjunto de procesos modernos.
{Pi,j } Lista de hilos que representan el proceso Pi .
S(Pi,j ) Estados posibles para cada hilo (running, ready,
blocked)
Service time
T (pi,j ): tiempo en el cual el hilo debe estar corriendo en la CPU
antes para completar su trabajo.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Caracterı́sticas del Planificador
Compartiendo la CPU
Modelo de Estudio
Métricas
Wait time
W (pi,j ): tiempo en el que el hilo espera en estado listo antes de
pasar por primera vez a la CPU.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Caracterı́sticas del Planificador
Compartiendo la CPU
Modelo de Estudio
Métricas
Wait time
W (pi,j ): tiempo en el que el hilo espera en estado listo antes de
pasar por primera vez a la CPU.
Turnaround time
pi,j , TTRnd (pi,j ): tiempo que pasa entre el primer momento en el
que el hilo entra a lista de espera y el momento en el que el
hilo se ejecuta por última vez.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Caracterı́sticas del Planificador
Compartiendo la CPU
Modelo de Estudio
Métricas
Métricas
La metrica más importante para medir el comportamiento del
sistema es el Wait time (llamado response time en sistemas de
tiempo compartido), dado que al usuario le interesa el tiempo
que debe esperar para que la aplicación responda.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación no apropiativa
Primero en llegar primero en ser servido
Trabajo más corto primero
Planificación con prioridad
Planificación de Tiempo-Lı́mite
Planificación no apropiativa
Nonpreemptive
Estas estrategias permiten a los hilos ejecutarse hasta su
terminación. Es decir, el hilo nunca vuelve a la lista de hilos
listos para correr.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación no apropiativa
Primero en llegar primero en ser servido
Trabajo más corto primero
Planificación con prioridad
Planificación de Tiempo-Lı́mite
Planificación no apropiativa
Nonpreemptive
Estas estrategias permiten a los hilos ejecutarse hasta su
terminación. Es decir, el hilo nunca vuelve a la lista de hilos
listos para correr.
First Come First Served
Shorest Job Next
Priority Scheduling
Deadline scheduling
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación no apropiativa
Primero en llegar primero en ser servido
Trabajo más corto primero
Planificación con prioridad
Planificación de Tiempo-Lı́mite
Primero en llegar primero en ser servido
FCFS
Esta estrategia asigna prioridad a los hilos con respecto al
orden de llegada a la lista de espera.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación no apropiativa
Primero en llegar primero en ser servido
Trabajo más corto primero
Planificación con prioridad
Planificación de Tiempo-Lı́mite
Primero en llegar primero en ser servido
FCFS
Esta estrategia asigna prioridad a los hilos con respecto al
orden de llegada a la lista de espera.El enqueuer asigna la
prioridad al entrar a lista y dispatcher ejecuta de acuerdo a
estas.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación no apropiativa
Primero en llegar primero en ser servido
Trabajo más corto primero
Planificación con prioridad
Planificación de Tiempo-Lı́mite
Primero en llegar primero en ser servido
FCFS
Esta estrategia asigna prioridad a los hilos con respecto al
orden de llegada a la lista de espera.El enqueuer asigna la
prioridad al entrar a lista y dispatcher ejecuta de acuerdo a
estas.
Es fácilmente implementable con una cola FIFO.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación no apropiativa
Primero en llegar primero en ser servido
Trabajo más corto primero
Planificación con prioridad
Planificación de Tiempo-Lı́mite
Trabajo más corto primero
SJN
Suponga que se conocen de antemano los tiempos de servicio
de los hilos. El planificador escoge para ejecución el hilo cuyo
tiempo de servicio sea menor.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación no apropiativa
Primero en llegar primero en ser servido
Trabajo más corto primero
Planificación con prioridad
Planificación de Tiempo-Lı́mite
Trabajo más corto primero
SJN
Suponga que se conocen de antemano los tiempos de servicio
de los hilos. El planificador escoge para ejecución el hilo cuyo
tiempo de servicio sea menor.
El promedio de tiempo de espera disminuye.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación no apropiativa
Primero en llegar primero en ser servido
Trabajo más corto primero
Planificación con prioridad
Planificación de Tiempo-Lı́mite
Trabajo más corto primero
SJN
Suponga que se conocen de antemano los tiempos de servicio
de los hilos. El planificador escoge para ejecución el hilo cuyo
tiempo de servicio sea menor.
El promedio de tiempo de espera disminuye.
Puede condenar a hilos con servicios largos si en la lista de
espera hay constantemente hilos con servicios cortos.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación no apropiativa
Primero en llegar primero en ser servido
Trabajo más corto primero
Planificación con prioridad
Planificación de Tiempo-Lı́mite
Planificación con prioridad
Priority Scheduling
En este tipo de clasificación los hilos son asignados a la CPU
de acuerdo a una prioridad externa. Esta se determina, por
ejemplo, con la prioridad del usuario, la naturaleza del hilo o
cualquier otro criterio.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación no apropiativa
Primero en llegar primero en ser servido
Trabajo más corto primero
Planificación con prioridad
Planificación de Tiempo-Lı́mite
Planificación con prioridad
Priority Scheduling
En este tipo de clasificación los hilos son asignados a la CPU
de acuerdo a una prioridad externa. Esta se determina, por
ejemplo, con la prioridad del usuario, la naturaleza del hilo o
cualquier otro criterio.
Prioridades estáticas La prioridad es la misma durante la
existencia del hilo.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación no apropiativa
Primero en llegar primero en ser servido
Trabajo más corto primero
Planificación con prioridad
Planificación de Tiempo-Lı́mite
Planificación con prioridad
Priority Scheduling
En este tipo de clasificación los hilos son asignados a la CPU
de acuerdo a una prioridad externa. Esta se determina, por
ejemplo, con la prioridad del usuario, la naturaleza del hilo o
cualquier otro criterio.
Prioridades estáticas La prioridad es la misma durante la
existencia del hilo.
Prioridades dinámicas La prioridad puede variar durante la
existencia del hilo.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación no apropiativa
Primero en llegar primero en ser servido
Trabajo más corto primero
Planificación con prioridad
Planificación de Tiempo-Lı́mite
Planificación de Tiempo-Lı́mite
Deadline Scheduler
Los sistemas de tiempo real fuertes (hard real-time systems)
se caracterizan por poseer hilos que deben completar su
ejecución antes de un tiempo lı́mite.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación no apropiativa
Primero en llegar primero en ser servido
Trabajo más corto primero
Planificación con prioridad
Planificación de Tiempo-Lı́mite
Planificación de Tiempo-Lı́mite
Deadline Scheduler
Los sistemas de tiempo real fuertes (hard real-time systems)
se caracterizan por poseer hilos que deben completar su
ejecución antes de un tiempo lı́mite. La forma de medir el
comportamiento es si el sistema puede asegurar cumplir los
lı́mites de esos hilos.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación no apropiativa
Primero en llegar primero en ser servido
Trabajo más corto primero
Planificación con prioridad
Planificación de Tiempo-Lı́mite
Planificación de Tiempo-Lı́mite
Deadline Scheduler
Los sistemas de tiempo real fuertes (hard real-time systems)
se caracterizan por poseer hilos que deben completar su
ejecución antes de un tiempo lı́mite. La forma de medir el
comportamiento es si el sistema puede asegurar cumplir los
lı́mites de esos hilos.
Se debe conocer de antemano los tiempos de servicios de
los hilos.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación no apropiativa
Primero en llegar primero en ser servido
Trabajo más corto primero
Planificación con prioridad
Planificación de Tiempo-Lı́mite
Planificación de Tiempo-Lı́mite
Deadline Scheduler
Los sistemas de tiempo real fuertes (hard real-time systems)
se caracterizan por poseer hilos que deben completar su
ejecución antes de un tiempo lı́mite. La forma de medir el
comportamiento es si el sistema puede asegurar cumplir los
lı́mites de esos hilos.
Se debe conocer de antemano los tiempos de servicios de
los hilos.
Un hilo puede ser admitido en la lista de espera si y solo si
el scheduler garantiza su ejecución junto con los demás
hilos en espera.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación apropiativa
Round Robin
Colas de multiples niveles
Planificación apropiativa
Preemptive
En estas estrategias los algoritmos asignan la CPU a los hilos
con mayor prioridad. Cada vez que sea necesario se obliga al
hilo que corre a realizar la operación yield cuando se necesite.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación apropiativa
Round Robin
Colas de multiples niveles
Planificación apropiativa
Preemptive
En estas estrategias los algoritmos asignan la CPU a los hilos
con mayor prioridad. Cada vez que sea necesario se obliga al
hilo que corre a realizar la operación yield cuando se necesite.
Round Robin
Multiple-Level Queues
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación apropiativa
Round Robin
Colas de multiples niveles
Round Robin
RR
Es la estrategia más usada en los sistemas de cómputo. Su objetivo
es distribuir el uso de la CPU equitativamente a todos los
procesos/hilos. Cada uno con un intervalo de 1/n por cada unidad de
tiempo.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación apropiativa
Round Robin
Colas de multiples niveles
Round Robin
RR
Es la estrategia más usada en los sistemas de cómputo. Su objetivo
es distribuir el uso de la CPU equitativamente a todos los
procesos/hilos. Cada uno con un intervalo de 1/n por cada unidad de
tiempo.
Cuando un hilo termina sin completar su quantum, al nuevo hilo
se le asigna un nuevo quantum entero.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación apropiativa
Round Robin
Colas de multiples niveles
Round Robin
RR
Es la estrategia más usada en los sistemas de cómputo. Su objetivo
es distribuir el uso de la CPU equitativamente a todos los
procesos/hilos. Cada uno con un intervalo de 1/n por cada unidad de
tiempo.
Cuando un hilo termina sin completar su quantum, al nuevo hilo
se le asigna un nuevo quantum entero.
Cuando llega un hilo se pone en la lista de espera pero su
posición exacta depende de las opciones.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación apropiativa
Round Robin
Colas de multiples niveles
Round Robin
RR
Es la estrategia más usada en los sistemas de cómputo. Su objetivo
es distribuir el uso de la CPU equitativamente a todos los
procesos/hilos. Cada uno con un intervalo de 1/n por cada unidad de
tiempo.
Cuando un hilo termina sin completar su quantum, al nuevo hilo
se le asigna un nuevo quantum entero.
Cuando llega un hilo se pone en la lista de espera pero su
posición exacta depende de las opciones.
Si se posee una lista doblemente enlazada el nuevo procesose
coloca justo antes del ultimo proceso ejecutado.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación apropiativa
Round Robin
Colas de multiples niveles
Round Robin
RR
Es la estrategia más usada en los sistemas de cómputo. Su objetivo
es distribuir el uso de la CPU equitativamente a todos los
procesos/hilos. Cada uno con un intervalo de 1/n por cada unidad de
tiempo.
Cuando un hilo termina sin completar su quantum, al nuevo hilo
se le asigna un nuevo quantum entero.
Cuando llega un hilo se pone en la lista de espera pero su
posición exacta depende de las opciones.
Si se posee una lista doblemente enlazada el nuevo procesose
coloca justo antes del ultimo proceso ejecutado.
Se reinicia el reloj cada vez que asigna un nuevo hilo.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación apropiativa
Round Robin
Colas de multiples niveles
Colas de multiples niveles
Multiple-Level Queues
Esta es una extensión de la planificación por prioridad. Existen
diferentes “piscinas” de procesos con la misma prioridad. El
planificador asigna procesos de acuerdo a una estrategia y
hilos en los procesos de acuerdo a otra estrategia.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación apropiativa
Round Robin
Colas de multiples niveles
Colas de multiples niveles
Multiple-Level Queues
Esta es una extensión de la planificación por prioridad. Existen
diferentes “piscinas” de procesos con la misma prioridad. El
planificador asigna procesos de acuerdo a una estrategia y
hilos en los procesos de acuerdo a otra estrategia.
Suponga una lista dividida en sublistas. Se ejecuta en orden
ascendente para que los procesos más prioritarios se ejecuten
antes que los demás.
Andrés Felipe Barco Santa
Planificación
Introducción
Scheduling
Mechanisms
Selección de Estrategia
Estrategias No-apropiativas
Estrategias Apropiativas
Planificación apropiativa
Round Robin
Colas de multiples niveles
Fin de la Clase
Nos vemos en la próxima!!!
Andrés Felipe Barco Santa
Planificación
Descargar