Вы находитесь на странице: 1из 73

Introduccion

Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

Planificacion
Sistemas Operativos

Felipe Barco Santa


Andres
Pontificia Universidad Javeriana

Febrero de 2010

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

Concurrencia

La planificacion
de hilo
Planificacion
Abandonando la CPU

Concurrencia

Tan solo apariencia

Dado que todas las maquinas


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
de la CPU.
multiplexacion

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

Concurrencia

La planificacion
de hilo
Planificacion
Abandonando la CPU

Concurrencia

Tan solo apariencia

Dado que todas las maquinas


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
de la CPU.
multiplexacion
Esta concurrencia es la que brinda la capacidad de

multiprogramacion.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

Concurrencia

La planificacion
de hilo
Planificacion
Abandonando la CPU

La planificacion
Scheduler
hace referencia a la tarea de manejar la CPU
La planificacion
compartiendola con una comunidad de procesos/hilos listos
para correr.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

Concurrencia

La planificacion
de hilo
Planificacion
Abandonando la CPU

La planificacion
Scheduler
hace referencia a la tarea de manejar la CPU
La planificacion
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 continuacion.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

Concurrencia

La planificacion
de hilo
Planificacion
Abandonando la CPU

La planificacion
Scheduler
hace referencia a la tarea de manejar la CPU
La planificacion
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 continuacion.

scheduler mechanism: determina como


un manejador de
procesos puede determinar que es tiempo de

multiplexar la CPU, y como


un hilo puede ser
asignado y removido de la CPU (cambios de
contexto).
Felipe Barco Santa
Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

Concurrencia

La planificacion
de hilo
Planificacion
Abandonando la CPU

de hilo
Planificacion

Figura: Tomado de Operating Systems, 3 Edition, Gary Nutt


Felipe Barco Santa
Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

Concurrencia

La planificacion
de hilo
Planificacion
Abandonando la CPU

Abandonando la CPU

Existen cuatro posibles razones para que un hilo abandone la


CPU.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

Concurrencia

La planificacion
de hilo
Planificacion
Abandonando la CPU

Abandonando la CPU

Existen cuatro posibles razones para que un hilo abandone la


CPU.
1

El hilo completa su ejecucion.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

Concurrencia

La planificacion
de hilo
Planificacion
Abandonando la CPU

Abandonando la CPU

Existen cuatro posibles razones para que un hilo abandone la


CPU.
1

El hilo completa su ejecucion.


2

de recursos y este no
El hilo realiza peticion
esta disponible.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

Concurrencia

La planificacion
de hilo
Planificacion
Abandonando la CPU

Abandonando la CPU

Existen cuatro posibles razones para que un hilo abandone la


CPU.
1

El hilo completa su ejecucion.


2

de recursos y este no
El hilo realiza peticion
esta disponible.

El hilo decide ceder la CPU voluntariamente.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

Concurrencia

La planificacion
de hilo
Planificacion
Abandonando la CPU

Abandonando la CPU

Existen cuatro posibles razones para que un hilo abandone la


CPU.
1

El hilo completa su ejecucion.


2

de recursos y este no
El hilo realiza peticion
esta disponible.

El hilo decide ceder la CPU voluntariamente.

El hilo es desalojado de la CPU porque el sistema decide


detener el hilo hasta nueva orden.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

En el hardware
de planificacion
de procesos
Organizacion
El planificador

En el hardware

Los mecanismos
de la CPU dependen de
Los mecanismos de planificacion
importante es si la
caractersticas en el hardware, la mas
computadora esta o no configurada con un dispositivo de reloj.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

En el hardware
de planificacion
de procesos
Organizacion
El planificador

En el hardware

Los mecanismos
de la CPU dependen de
Los mecanismos de planificacion
importante es si la
caractersticas en el hardware, la mas
computadora esta o no configurada con un dispositivo de reloj.
funcionalidades del scheduler son implementadas
Las demas
en software.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

En el hardware
de planificacion
de procesos
Organizacion
El planificador

de planificacion
de procesos
Organizacion
Conceptualmente el scheduler esta dividido en tres partes

logicas.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

En el hardware
de planificacion
de procesos
Organizacion
El planificador

de planificacion
de procesos
Organizacion
Conceptualmente el scheduler esta dividido en tres partes

logicas.
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.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

En el hardware
de planificacion
de procesos
Organizacion
El planificador

de planificacion
de procesos
Organizacion

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.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

En el hardware
de planificacion
de procesos
Organizacion
El planificador

de planificacion
de procesos
Organizacion

Despachador
de que el proceso de la
El dispatcher es invocado despues
ha sido desalojado de la CPU (el contexto del
aplicacion
dispatcher es cargado para ejecutarse). Posteriormente
selecciona un hilo que este en lista de espera y le asigna la
CPU (haciendo otro cambio de contexto desde el mismo hacia
el hilo).

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

En el hardware
de planificacion
de procesos
Organizacion
El planificador

El planificador

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
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.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
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
de
convencionales de load y store para guardar la informacion
los registros.
(n + m) b x K time units

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
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

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
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
(b x K = 50ns). Suponga un bus de
unidad de informacion
32-bits y registros de 32-bits de ancho.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
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
(b x K = 50ns). Suponga un bus de
unidad de informacion
32-bits y registros de 32-bits de ancho.
Cada registro requiere 50 nanosegundos para almacenar
su contenido.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
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
(b x K = 50ns). Suponga un bus de
unidad de informacion
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.
Felipe Barco Santa
Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
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

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
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
de hilo).
seleccion

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
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
de hilo).
seleccion
de 4 microsegundos dado el tiempo
El tiempo total es mas
de cambio de contexto del dispatcher y el tiempo tomado
en elegir el siguiente hilo.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
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
de hilo).
seleccion
de 4 microsegundos dado el tiempo
El tiempo total es mas
de cambio de contexto del dispatcher y el tiempo tomado
en elegir el siguiente hilo.
Gasto
de
Un procesador de 1Ghz puede ejecutar una instruccion
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 util!!!

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
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.
sencilla es permitiendo a los procesos/hilos invocar al
La mas
planificador explcitamente, compartiendo la CPU
voluntariamente.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
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.
sencilla es permitiendo a los procesos/hilos invocar al
La mas
planificador explcitamente, compartiendo la CPU
voluntariamente.
yield(r,s){
memory[r] = PC;
PC = memory[s];
}

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
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

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
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
yield. El cuestion
es incorporar
procesos a ejecutar la intruccion
un dispositivo de manejo de tiempo (interval timer device), el
cada vez que el tiempo expira.
cual produzca una interrupcion

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
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
yield. El cuestion
es incorporar
procesos a ejecutar la intruccion
un dispositivo de manejo de tiempo (interval timer device), el
cada vez que el tiempo expira.
cual produzca una interrupcion
cada K x T ticks de
EL interval timer lanza una interrupcion
reloj. Este valor es programable por medio del numero
de ticks

llamada programmable
deseados y asignado por una funcion
interval timer.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
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;
}
}

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
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;
}

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

Caractersticas del Planificador


Compartiendo la CPU
Modelo de Estudio

Metricas

Caractersticas del Planificador


modernos usan prioridades
Los algoritmos de planificacion
internas (prioridades), este determina una jerarqua con la cual
el dispatcher selecciona el proceso a ejecutar.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

Caractersticas del Planificador


Compartiendo la CPU
Modelo de Estudio

Metricas

Caractersticas del Planificador


modernos usan prioridades
Los algoritmos de planificacion
internas (prioridades), este determina una jerarqua con la cual
el dispatcher selecciona el proceso a ejecutar.
En prioridades externas cada usuario es asignado con una

prioridad estatica.
Cuando un usuario crea un proceso la
sobre la
prioridad interna es obtenida con una funcion
externa.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

Caractersticas del Planificador


Compartiendo la CPU
Modelo de Estudio

Metricas

Caractersticas del Planificador


modernos usan prioridades
Los algoritmos de planificacion
internas (prioridades), este determina una jerarqua con la cual
el dispatcher selecciona el proceso a ejecutar.
En prioridades externas cada usuario es asignado con una

prioridad estatica.
Cuando un usuario crea un proceso la
sobre la
prioridad interna es obtenida con una funcion
externa.
La prioridad tambien se puede definir dinamicamente por
circunstancias como la cantidad de tiempo que lleva
esperando ser ejecutado.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

Caractersticas del Planificador


Compartiendo la CPU
Modelo de Estudio

Metricas

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.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

Caractersticas del Planificador


Compartiendo la CPU
Modelo de Estudio

Metricas

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
llamado
ejecutara por un quantum de tiempo; tambien
timeslice.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

Caractersticas del Planificador


Compartiendo la CPU
Modelo de Estudio

Metricas

Modelo de Estudio

P = {Pi |0 <= i <= n} Conjunto de procesos modernos.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

Caractersticas del Planificador


Compartiendo la CPU
Modelo de Estudio

Metricas

Modelo de Estudio

P = {Pi |0 <= i <= n} Conjunto de procesos modernos.


{Pi,j } Lista de hilos que representan el proceso Pi .

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

Caractersticas del Planificador


Compartiendo la CPU
Modelo de Estudio

Metricas

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)

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

Caractersticas del Planificador


Compartiendo la CPU
Modelo de Estudio

Metricas

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.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

Caractersticas del Planificador


Compartiendo la CPU
Modelo de Estudio

Metricas

Wait time
W (pi,j ): tiempo en el que el hilo espera en estado listo antes de
pasar por primera vez a la CPU.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

Caractersticas del Planificador


Compartiendo la CPU
Modelo de Estudio

Metricas

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 ultima
vez.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

Caractersticas del Planificador


Compartiendo la CPU
Modelo de Estudio

Metricas

Metricas

importante para medir el comportamiento del


La metrica mas
sistema es el Wait time (llamado response time en sistemas de
tiempo compartido), dado que al usuario le interesa el tiempo
responda.
que debe esperar para que la aplicacion

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

no apropiativa
Planificacion
Primero en llegar primero en ser servido
corto primero
Trabajo mas
con prioridad
Planificacion
de Tiempo-Lmite
Planificacion

no apropiativa
Planificacion
Nonpreemptive
Estas estrategias permiten a los hilos ejecutarse hasta su
Es decir, el hilo nunca vuelve a la lista de hilos
terminacion.
listos para correr.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

no apropiativa
Planificacion
Primero en llegar primero en ser servido
corto primero
Trabajo mas
con prioridad
Planificacion
de Tiempo-Lmite
Planificacion

no apropiativa
Planificacion
Nonpreemptive
Estas estrategias permiten a los hilos ejecutarse hasta su
Es decir, el hilo nunca vuelve a la lista de hilos
terminacion.
listos para correr.
First Come First Served
Shorest Job Next
Priority Scheduling
Deadline scheduling

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

no apropiativa
Planificacion
Primero en llegar primero en ser servido
corto primero
Trabajo mas
con prioridad
Planificacion
de Tiempo-Lmite
Planificacion

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.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

no apropiativa
Planificacion
Primero en llegar primero en ser servido
corto primero
Trabajo mas
con prioridad
Planificacion
de Tiempo-Lmite
Planificacion

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.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

no apropiativa
Planificacion
Primero en llegar primero en ser servido
corto primero
Trabajo mas
con prioridad
Planificacion
de Tiempo-Lmite
Planificacion

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 facilmente
implementable con una cola FIFO.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

no apropiativa
Planificacion
Primero en llegar primero en ser servido
corto primero
Trabajo mas
con prioridad
Planificacion
de Tiempo-Lmite
Planificacion

corto primero
Trabajo mas

SJN
Suponga que se conocen de antemano los tiempos de servicio
el hilo cuyo
de los hilos. El planificador escoge para ejecucion
tiempo de servicio sea menor.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

no apropiativa
Planificacion
Primero en llegar primero en ser servido
corto primero
Trabajo mas
con prioridad
Planificacion
de Tiempo-Lmite
Planificacion

corto primero
Trabajo mas

SJN
Suponga que se conocen de antemano los tiempos de servicio
el hilo cuyo
de los hilos. El planificador escoge para ejecucion
tiempo de servicio sea menor.
El promedio de tiempo de espera disminuye.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

no apropiativa
Planificacion
Primero en llegar primero en ser servido
corto primero
Trabajo mas
con prioridad
Planificacion
de Tiempo-Lmite
Planificacion

corto primero
Trabajo mas

SJN
Suponga que se conocen de antemano los tiempos de servicio
el hilo cuyo
de los hilos. El planificador escoge para ejecucion
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.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

no apropiativa
Planificacion
Primero en llegar primero en ser servido
corto primero
Trabajo mas
con prioridad
Planificacion
de Tiempo-Lmite
Planificacion

con prioridad
Planificacion
Priority Scheduling
los hilos son asignados a la CPU
En este tipo de clasificacion
de acuerdo a una prioridad externa. Esta se determina, por
ejemplo, con la prioridad del usuario, la naturaleza del hilo o
cualquier otro criterio.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

no apropiativa
Planificacion
Primero en llegar primero en ser servido
corto primero
Trabajo mas
con prioridad
Planificacion
de Tiempo-Lmite
Planificacion

con prioridad
Planificacion
Priority Scheduling
los hilos son asignados a la CPU
En este tipo de clasificacion
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 estaticas
La prioridad es la misma durante la
existencia del hilo.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

no apropiativa
Planificacion
Primero en llegar primero en ser servido
corto primero
Trabajo mas
con prioridad
Planificacion
de Tiempo-Lmite
Planificacion

con prioridad
Planificacion
Priority Scheduling
los hilos son asignados a la CPU
En este tipo de clasificacion
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 estaticas
La prioridad es la misma durante la
existencia del hilo.

Prioridades dinamicas
La prioridad puede variar durante la
existencia del hilo.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

no apropiativa
Planificacion
Primero en llegar primero en ser servido
corto primero
Trabajo mas
con prioridad
Planificacion
de Tiempo-Lmite
Planificacion

de Tiempo-Lmite
Planificacion
Deadline Scheduler
Los sistemas de tiempo real fuertes (hard real-time systems)
se caracterizan por poseer hilos que deben completar su
antes de un tiempo lmite.
ejecucion

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

no apropiativa
Planificacion
Primero en llegar primero en ser servido
corto primero
Trabajo mas
con prioridad
Planificacion
de Tiempo-Lmite
Planificacion

de Tiempo-Lmite
Planificacion
Deadline Scheduler
Los sistemas de tiempo real fuertes (hard real-time systems)
se caracterizan por poseer hilos que deben completar su
antes de un tiempo lmite. La forma de medir el
ejecucion
comportamiento es si el sistema puede asegurar cumplir los
lmites de esos hilos.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

no apropiativa
Planificacion
Primero en llegar primero en ser servido
corto primero
Trabajo mas
con prioridad
Planificacion
de Tiempo-Lmite
Planificacion

de Tiempo-Lmite
Planificacion
Deadline Scheduler
Los sistemas de tiempo real fuertes (hard real-time systems)
se caracterizan por poseer hilos que deben completar su
antes de un tiempo lmite. La forma de medir el
ejecucion
comportamiento es si el sistema puede asegurar cumplir los
lmites de esos hilos.
Se debe conocer de antemano los tiempos de servicios de
los hilos.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

no apropiativa
Planificacion
Primero en llegar primero en ser servido
corto primero
Trabajo mas
con prioridad
Planificacion
de Tiempo-Lmite
Planificacion

de Tiempo-Lmite
Planificacion
Deadline Scheduler
Los sistemas de tiempo real fuertes (hard real-time systems)
se caracterizan por poseer hilos que deben completar su
antes de un tiempo lmite. La forma de medir el
ejecucion
comportamiento es si el sistema puede asegurar cumplir los
lmites 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
junto con los demas

el scheduler garantiza su ejecucion


hilos en espera.
Felipe Barco Santa
Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

apropiativa
Planificacion
Round Robin
Colas de multiples niveles

apropiativa
Planificacion

Preemptive
En estas estrategias los algoritmos asignan la CPU a los hilos
con mayor prioridad. Cada vez que sea necesario se obliga al
yield cuando se necesite.
hilo que corre a realizar la operacion

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

apropiativa
Planificacion
Round Robin
Colas de multiples niveles

apropiativa
Planificacion

Preemptive
En estas estrategias los algoritmos asignan la CPU a los hilos
con mayor prioridad. Cada vez que sea necesario se obliga al
yield cuando se necesite.
hilo que corre a realizar la operacion
Round Robin
Multiple-Level Queues

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

apropiativa
Planificacion
Round Robin
Colas de multiples niveles

Round Robin
RR
usada en los sistemas de computo.

Es la estrategia mas
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.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

apropiativa
Planificacion
Round Robin
Colas de multiples niveles

Round Robin
RR
usada en los sistemas de computo.

Es la estrategia mas
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.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

apropiativa
Planificacion
Round Robin
Colas de multiples niveles

Round Robin
RR
usada en los sistemas de computo.

Es la estrategia mas
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
exacta depende de las opciones.
posicion

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

apropiativa
Planificacion
Round Robin
Colas de multiples niveles

Round Robin
RR
usada en los sistemas de computo.

Es la estrategia mas
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
exacta depende de las opciones.
posicion
Si se posee una lista doblemente enlazada el nuevo procesose
coloca justo antes del ultimo proceso ejecutado.
Felipe Barco Santa
Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

apropiativa
Planificacion
Round Robin
Colas de multiples niveles

Round Robin
RR
usada en los sistemas de computo.

Es la estrategia mas
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
exacta depende de las opciones.
posicion
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.
Felipe Barco Santa
Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

apropiativa
Planificacion
Round Robin
Colas de multiples niveles

Colas de multiples niveles

Multiple-Level Queues
de la planificacion
por prioridad. Existen
Esta es una extension
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.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

apropiativa
Planificacion
Round Robin
Colas de multiples niveles

Colas de multiples niveles

Multiple-Level Queues
de la planificacion
por prioridad. Existen
Esta es una extension
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
prioritarios se ejecuten
ascendente para que los procesos mas

antes que los demas.

Felipe Barco Santa


Andres

Planificacion


Introduccion
Scheduling
Mechanisms
de Estrategia
Seleccion
Estrategias No-apropiativas
Estrategias Apropiativas

apropiativa
Planificacion
Round Robin
Colas de multiples niveles

Fin de la Clase

Nos vemos en la proxima!!!

Felipe Barco Santa


Andres

Planificacion

Вам также может понравиться