planificaci - sistemas...
TRANSCRIPT
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
PlanificacionSistemas Operativos
Andres Felipe Barco Santa
Pontificia Universidad Javeriana
Febrero de 2010
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
ConcurrenciaLa planificacionPlanificacion de hiloAbandonando la CPU
Concurrencia
Tan solo apariencia
Dado que todas las maquinas abstractas pareciecen queestuvieran ejecutandose a la misma vez, se dice que seejecutan concurrentemente: existe una apariencia deoperaciones simultaneas gracias a la alta velocidad demultiplexacion de la CPU.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
ConcurrenciaLa planificacionPlanificacion de hiloAbandonando la CPU
Concurrencia
Tan solo apariencia
Dado que todas las maquinas abstractas pareciecen queestuvieran ejecutandose a la misma vez, se dice que seejecutan concurrentemente: existe una apariencia deoperaciones simultaneas gracias a la alta velocidad demultiplexacion de la CPU.
Esta concurrencia es la que brinda la capacidad demultiprogramacion.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
ConcurrenciaLa planificacionPlanificacion de hiloAbandonando la CPU
La planificacion
Scheduler
La planificacion hace referencia a la tarea de manejar la CPUcompartiendola con una comunidad de procesos/hilos listospara correr.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
ConcurrenciaLa planificacionPlanificacion de hiloAbandonando la CPU
La planificacion
Scheduler
La planificacion hace referencia a la tarea de manejar la CPUcompartiendola con una comunidad de procesos/hilos listospara correr.
scheduler policy: determina cuando un hilo debe serdesalojado de la CPU y cual hilo listo debe serasignado a continuacion.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
ConcurrenciaLa planificacionPlanificacion de hiloAbandonando la CPU
La planificacion
Scheduler
La planificacion hace referencia a la tarea de manejar la CPUcompartiendola con una comunidad de procesos/hilos listospara correr.
scheduler policy: determina cuando un hilo debe serdesalojado de la CPU y cual hilo listo debe serasignado a continuacion.
scheduler mechanism: determina como un manejador deprocesos puede determinar que es tiempo demultiplexar la CPU, y como un hilo puede serasignado y removido de la CPU (cambios decontexto).
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
ConcurrenciaLa planificacionPlanificacion de hiloAbandonando la CPU
Planificacion de hilo
Figura: Tomado de Operating Systems, 3 Edition, Gary Nutt
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
ConcurrenciaLa planificacionPlanificacion de hiloAbandonando la CPU
Abandonando la CPU
Existen cuatro posibles razones para que un hilo abandone laCPU.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
ConcurrenciaLa planificacionPlanificacion de hiloAbandonando la CPU
Abandonando la CPU
Existen cuatro posibles razones para que un hilo abandone laCPU.
1 El hilo completa su ejecucion.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
ConcurrenciaLa planificacionPlanificacion de hiloAbandonando la CPU
Abandonando la CPU
Existen cuatro posibles razones para que un hilo abandone laCPU.
1 El hilo completa su ejecucion.2 El hilo realiza peticion de recursos y este no
esta disponible.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
ConcurrenciaLa planificacionPlanificacion de hiloAbandonando la CPU
Abandonando la CPU
Existen cuatro posibles razones para que un hilo abandone laCPU.
1 El hilo completa su ejecucion.2 El hilo realiza peticion de recursos y este no
esta disponible.3 El hilo decide ceder la CPU voluntariamente.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
ConcurrenciaLa planificacionPlanificacion de hiloAbandonando la CPU
Abandonando la CPU
Existen cuatro posibles razones para que un hilo abandone laCPU.
1 El hilo completa su ejecucion.2 El hilo realiza peticion de recursos y este no
esta 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.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
En el hardwareOrganizacion de planificacion de procesosEl planificador
En el hardware
Los mecanismos
Los mecanismos de planificacion de la CPU dependen decaracterısticas en el hardware, la mas importante es si lacomputadora esta o no configurada con un dispositivo de reloj.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
En el hardwareOrganizacion de planificacion de procesosEl planificador
En el hardware
Los mecanismos
Los mecanismos de planificacion de la CPU dependen decaracterısticas en el hardware, la mas importante es si lacomputadora esta o no configurada con un dispositivo de reloj.
Las demas funcionalidades del scheduler son implementadasen software.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
En el hardwareOrganizacion de planificacion de procesosEl planificador
Organizacion de planificacion de procesos
Conceptualmente el scheduler esta dividido en tres parteslogicas.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
En el hardwareOrganizacion de planificacion de procesosEl planificador
Organizacion de planificacion de procesos
Conceptualmente el scheduler esta dividido en tres parteslogicas.
Encolador
Cuando un proceso cambia su estado a listo, su descriptor seactualiza para relfejar el cambio. El enqueuer asigna unpuntero del descriptor en la lista de procesos que esperan laCPU. El enqueuer puede computar una prioridad en el hilo opuede hacerse al momento de sacarlo de la lista.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
En el hardwareOrganizacion de planificacion de procesosEl planificador
Organizacion de planificacion de procesos
Cambio de Contexto
Cuando el scheduler decide cambiar de un proceso a otro parael control de la CPU, el context switcher guarda todos los datosde los registros de la CPU (PC, IR, condition status, processorstatus, ALU status) en el descriptor del hilo.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
En el hardwareOrganizacion de planificacion de procesosEl planificador
Organizacion de planificacion de procesos
Despachador
El dispatcher es invocado despues de que el proceso de laaplicacion ha sido desalojado de la CPU (el contexto deldispatcher es cargado para ejecutarse). Posteriormenteselecciona un hilo que este en lista de espera y le asigna laCPU (haciendo otro cambio de contexto desde el mismo haciael hilo).
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
En el hardwareOrganizacion de planificacion de procesosEl planificador
El planificador
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Grabando el ContextoCambio de ContextoComplejidad del CambioCompartir la CPU VoluntariamenteCompartir la CPU Involuntariamente
Grabando el Contexto
Encolador
El cambio de contexto afecta significativamente elcomortamiento del sistema, dado que los computadoresmodernos tienen varios registros generales y de estado.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Grabando el ContextoCambio de ContextoComplejidad del CambioCompartir la CPU VoluntariamenteCompartir la CPU Involuntariamente
Grabando el Contexto
Encolador
El cambio de contexto afecta significativamente elcomortamiento del sistema, dado que los computadoresmodernos tienen varios registros generales y de estado.
El cambio contexto usa ordinariamente las operacionesconvencionales de load y store para guardar la informacion delos registros.
(n + m) b x K time units
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Grabando el ContextoCambio de ContextoComplejidad del CambioCompartir la CPU VoluntariamenteCompartir la CPU Involuntariamente
Cambio de Contexto
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Grabando el ContextoCambio de ContextoComplejidad del CambioCompartir la CPU VoluntariamenteCompartir la CPU Involuntariamente
Complejidad del Cambio
Hipotesis
Un procesador requiere 50 nanosegundos para almacenar unaunidad de informacion (b x K = 50ns). Suponga un bus de32-bits y registros de 32-bits de ancho.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Grabando el ContextoCambio de ContextoComplejidad del CambioCompartir la CPU VoluntariamenteCompartir la CPU Involuntariamente
Complejidad del Cambio
Hipotesis
Un procesador requiere 50 nanosegundos para almacenar unaunidad de informacion (b x K = 50ns). Suponga un bus de32-bits y registros de 32-bits de ancho.
Cada registro requiere 50 nanosegundos para almacenarsu contenido.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Grabando el ContextoCambio de ContextoComplejidad del CambioCompartir la CPU VoluntariamenteCompartir la CPU Involuntariamente
Complejidad del Cambio
Hipotesis
Un procesador requiere 50 nanosegundos para almacenar unaunidad de informacion (b x K = 50ns). Suponga un bus de32-bits y registros de 32-bits de ancho.
Cada registro requiere 50 nanosegundos para almacenarsu contenido.
Si existen n = 32 registros de proposito general y m = 8registros de estados, el tiempo total para grabar losregistros es 40x50 nanosegundos, es decir, 2microsegundos.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Grabando el ContextoCambio de ContextoComplejidad del CambioCompartir la CPU VoluntariamenteCompartir la CPU Involuntariamente
Complejidad del Cambio
Otros 2 microsegundos son usados para restaurar losregistros para que otro hilo ejecute
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Grabando el ContextoCambio de ContextoComplejidad del CambioCompartir la CPU VoluntariamenteCompartir la CPU Involuntariamente
Complejidad del Cambio
Otros 2 microsegundos son usados para restaurar losregistros para que otro hilo ejecute (ignorando el tiempo deseleccion de hilo).
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Grabando el ContextoCambio de ContextoComplejidad del CambioCompartir la CPU VoluntariamenteCompartir la CPU Involuntariamente
Complejidad del Cambio
Otros 2 microsegundos son usados para restaurar losregistros para que otro hilo ejecute (ignorando el tiempo deseleccion de hilo).El tiempo total es mas de 4 microsegundos dado el tiempode cambio de contexto del dispatcher y el tiempo tomadoen elegir el siguiente hilo.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Grabando el ContextoCambio de ContextoComplejidad del CambioCompartir la CPU VoluntariamenteCompartir la CPU Involuntariamente
Complejidad del Cambio
Otros 2 microsegundos son usados para restaurar losregistros para que otro hilo ejecute (ignorando el tiempo deseleccion de hilo).El tiempo total es mas de 4 microsegundos dado el tiempode cambio de contexto del dispatcher y el tiempo tomadoen elegir el siguiente hilo.
Gasto
Un procesador de 1Ghz puede ejecutar una instruccion deregistro en 2 nanosegundos. Esto significa que durante los 4microsegundos requeridos para un cambio de contexto, elprocesador pudo haber ejecutado cerca de 2,000 instruccioneshaciendo trabajo util!!!
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Grabando el ContextoCambio de ContextoComplejidad del CambioCompartir la CPU VoluntariamenteCompartir la CPU Involuntariamente
Compartir la CPU Voluntariamente
Yield
Parte de los mecanismos del scheduler es la forma invocarlo.La mas sencilla es permitiendo a los procesos/hilos invocar alplanificador explıcitamente, compartiendo la CPUvoluntariamente.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Grabando el ContextoCambio de ContextoComplejidad del CambioCompartir la CPU VoluntariamenteCompartir la CPU Involuntariamente
Compartir la CPU Voluntariamente
Yield
Parte de los mecanismos del scheduler es la forma invocarlo.La mas sencilla es permitiendo a los procesos/hilos invocar alplanificador explıcitamente, compartiendo la CPUvoluntariamente.
yield(r,s){memory[r] = PC;PC = memory[s];}
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Grabando el ContextoCambio de ContextoComplejidad del CambioCompartir la CPU VoluntariamenteCompartir la CPU Involuntariamente
Compartir la CPU Voluntariamente
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Grabando el ContextoCambio de ContextoComplejidad del CambioCompartir la CPU VoluntariamenteCompartir la CPU Involuntariamente
Compartir la CPU Involuntariamente
Interval Timer
El sistema de interrupciones fuerzan perdiodicamente a losprocesos a ejecutar la intruccion yield. El cuestion es incorporarun dispositivo de manejo de tiempo (interval timer device), elcual produzca una interrupcion cada vez que el tiempo expira.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Grabando el ContextoCambio de ContextoComplejidad del CambioCompartir la CPU VoluntariamenteCompartir la CPU Involuntariamente
Compartir la CPU Involuntariamente
Interval Timer
El sistema de interrupciones fuerzan perdiodicamente a losprocesos a ejecutar la intruccion yield. El cuestion es incorporarun dispositivo de manejo de tiempo (interval timer device), elcual produzca una interrupcion cada vez que el tiempo expira.
EL interval timer lanza una interrupcion cada K x T ticks dereloj. Este valor es programable por medio del numero de ticksdeseados y asignado por una funcion llamada programmableinterval timer.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Grabando el ContextoCambio de ContextoComplejidad del CambioCompartir la CPU VoluntariamenteCompartir la CPU Involuntariamente
Compartir la CPU Involuntariamente
IntervalTimer(){InterruptCount = InterruptCount - 1;if(InterruptCount <= 0){InterruptRequest = True;InterruptCount = K;}}
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Grabando el ContextoCambio de ContextoComplejidad del CambioCompartir la CPU VoluntariamenteCompartir 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;}
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Caracterısticas del PlanificadorCompartiendo la CPUModelo de EstudioMetricas
Caracterısticas del Planificador
Los algoritmos de planificacion modernos usan prioridadesinternas (prioridades), este determina una jerarquıa con la cualel dispatcher selecciona el proceso a ejecutar.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Caracterısticas del PlanificadorCompartiendo la CPUModelo de EstudioMetricas
Caracterısticas del Planificador
Los algoritmos de planificacion modernos usan prioridadesinternas (prioridades), este determina una jerarquıa con la cualel dispatcher selecciona el proceso a ejecutar.
En prioridades externas cada usuario es asignado con unaprioridad estatica. Cuando un usuario crea un proceso laprioridad interna es obtenida con una funcion sobre laexterna.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Caracterısticas del PlanificadorCompartiendo la CPUModelo de EstudioMetricas
Caracterısticas del Planificador
Los algoritmos de planificacion modernos usan prioridadesinternas (prioridades), este determina una jerarquıa con la cualel dispatcher selecciona el proceso a ejecutar.
En prioridades externas cada usuario es asignado con unaprioridad estatica. Cuando un usuario crea un proceso laprioridad interna es obtenida con una funcion sobre laexterna.
La prioridad tambien se puede definir dinamicamente porcircunstancias como la cantidad de tiempo que llevaesperando ser ejecutado.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Caracterısticas del PlanificadorCompartiendo la CPUModelo de EstudioMetricas
Compartiendo la CPU
Si el planificador quiere compartir la CPU equitativamente a nprocesos, durante un intervalo de tiempo K ; cada proceso seejecutara en la CPU un intervalo de tiempo de K/n.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Caracterısticas del PlanificadorCompartiendo la CPUModelo de EstudioMetricas
Compartiendo la CPU
Si el planificador quiere compartir la CPU equitativamente a nprocesos, durante un intervalo de tiempo K ; cada proceso seejecutara en la CPU un intervalo de tiempo de K/n.
Time Quantum
Si el planificador utiliza un interval timer, cada proceso seejecutara por un quantum de tiempo; tambien llamadotimeslice.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Caracterısticas del PlanificadorCompartiendo la CPUModelo de EstudioMetricas
Modelo de Estudio
P = {Pi |0 <= i <= n} Conjunto de procesos modernos.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Caracterısticas del PlanificadorCompartiendo la CPUModelo de EstudioMetricas
Modelo de Estudio
P = {Pi |0 <= i <= n} Conjunto de procesos modernos.
{Pi,j} Lista de hilos que representan el proceso Pi .
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Caracterısticas del PlanificadorCompartiendo la CPUModelo de EstudioMetricas
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)
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Caracterısticas del PlanificadorCompartiendo la CPUModelo de EstudioMetricas
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 CPUantes para completar su trabajo.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Caracterısticas del PlanificadorCompartiendo la CPUModelo de EstudioMetricas
Wait time
W (pi,j): tiempo en el que el hilo espera en estado listo antes depasar por primera vez a la CPU.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Caracterısticas del PlanificadorCompartiendo la CPUModelo de EstudioMetricas
Wait time
W (pi,j): tiempo en el que el hilo espera en estado listo antes depasar por primera vez a la CPU.
Turnaround time
pi,j ,TTRnd(pi,j): tiempo que pasa entre el primer momento en elque el hilo entra a lista de espera y el momento en el que elhilo se ejecuta por ultima vez.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Caracterısticas del PlanificadorCompartiendo la CPUModelo de EstudioMetricas
Metricas
La metrica mas importante para medir el comportamiento delsistema es el Wait time (llamado response time en sistemas detiempo compartido), dado que al usuario le interesa el tiempoque debe esperar para que la aplicacion responda.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Planificacion no apropiativaPrimero en llegar primero en ser servidoTrabajo mas corto primeroPlanificacion con prioridadPlanificacion de Tiempo-Lımite
Planificacion no apropiativa
Nonpreemptive
Estas estrategias permiten a los hilos ejecutarse hasta suterminacion. Es decir, el hilo nunca vuelve a la lista de hiloslistos para correr.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Planificacion no apropiativaPrimero en llegar primero en ser servidoTrabajo mas corto primeroPlanificacion con prioridadPlanificacion de Tiempo-Lımite
Planificacion no apropiativa
Nonpreemptive
Estas estrategias permiten a los hilos ejecutarse hasta suterminacion. Es decir, el hilo nunca vuelve a la lista de hiloslistos para correr.
First Come First Served
Shorest Job Next
Priority Scheduling
Deadline scheduling
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Planificacion no apropiativaPrimero en llegar primero en ser servidoTrabajo mas corto primeroPlanificacion con prioridadPlanificacion de Tiempo-Lımite
Primero en llegar primero en ser servido
FCFS
Esta estrategia asigna prioridad a los hilos con respecto alorden de llegada a la lista de espera.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Planificacion no apropiativaPrimero en llegar primero en ser servidoTrabajo mas corto primeroPlanificacion con prioridadPlanificacion de Tiempo-Lımite
Primero en llegar primero en ser servido
FCFS
Esta estrategia asigna prioridad a los hilos con respecto alorden de llegada a la lista de espera.El enqueuer asigna laprioridad al entrar a lista y dispatcher ejecuta de acuerdo aestas.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Planificacion no apropiativaPrimero en llegar primero en ser servidoTrabajo mas corto primeroPlanificacion con prioridadPlanificacion de Tiempo-Lımite
Primero en llegar primero en ser servido
FCFS
Esta estrategia asigna prioridad a los hilos con respecto alorden de llegada a la lista de espera.El enqueuer asigna laprioridad al entrar a lista y dispatcher ejecuta de acuerdo aestas.
Es facilmente implementable con una cola FIFO.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Planificacion no apropiativaPrimero en llegar primero en ser servidoTrabajo mas corto primeroPlanificacion con prioridadPlanificacion de Tiempo-Lımite
Trabajo mas corto primero
SJN
Suponga que se conocen de antemano los tiempos de serviciode los hilos. El planificador escoge para ejecucion el hilo cuyotiempo de servicio sea menor.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Planificacion no apropiativaPrimero en llegar primero en ser servidoTrabajo mas corto primeroPlanificacion con prioridadPlanificacion de Tiempo-Lımite
Trabajo mas corto primero
SJN
Suponga que se conocen de antemano los tiempos de serviciode los hilos. El planificador escoge para ejecucion el hilo cuyotiempo de servicio sea menor.
El promedio de tiempo de espera disminuye.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Planificacion no apropiativaPrimero en llegar primero en ser servidoTrabajo mas corto primeroPlanificacion con prioridadPlanificacion de Tiempo-Lımite
Trabajo mas corto primero
SJN
Suponga que se conocen de antemano los tiempos de serviciode los hilos. El planificador escoge para ejecucion el hilo cuyotiempo de servicio sea menor.
El promedio de tiempo de espera disminuye.Puede condenar a hilos con servicios largos si en la lista deespera hay constantemente hilos con servicios cortos.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Planificacion no apropiativaPrimero en llegar primero en ser servidoTrabajo mas corto primeroPlanificacion con prioridadPlanificacion de Tiempo-Lımite
Planificacion con prioridad
Priority Scheduling
En este tipo de clasificacion los hilos son asignados a la CPUde acuerdo a una prioridad externa. Esta se determina, porejemplo, con la prioridad del usuario, la naturaleza del hilo ocualquier otro criterio.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Planificacion no apropiativaPrimero en llegar primero en ser servidoTrabajo mas corto primeroPlanificacion con prioridadPlanificacion de Tiempo-Lımite
Planificacion con prioridad
Priority Scheduling
En este tipo de clasificacion los hilos son asignados a la CPUde acuerdo a una prioridad externa. Esta se determina, porejemplo, con la prioridad del usuario, la naturaleza del hilo ocualquier otro criterio.
Prioridades estaticas La prioridad es la misma durante laexistencia del hilo.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Planificacion no apropiativaPrimero en llegar primero en ser servidoTrabajo mas corto primeroPlanificacion con prioridadPlanificacion de Tiempo-Lımite
Planificacion con prioridad
Priority Scheduling
En este tipo de clasificacion los hilos son asignados a la CPUde acuerdo a una prioridad externa. Esta se determina, porejemplo, con la prioridad del usuario, la naturaleza del hilo ocualquier otro criterio.
Prioridades estaticas La prioridad es la misma durante laexistencia del hilo.
Prioridades dinamicas La prioridad puede variar durante laexistencia del hilo.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Planificacion no apropiativaPrimero en llegar primero en ser servidoTrabajo mas corto primeroPlanificacion con prioridadPlanificacion de Tiempo-Lımite
Planificacion de Tiempo-Lımite
Deadline Scheduler
Los sistemas de tiempo real fuertes (hard real-time systems)se caracterizan por poseer hilos que deben completar suejecucion antes de un tiempo lımite.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Planificacion no apropiativaPrimero en llegar primero en ser servidoTrabajo mas corto primeroPlanificacion con prioridadPlanificacion de Tiempo-Lımite
Planificacion de Tiempo-Lımite
Deadline Scheduler
Los sistemas de tiempo real fuertes (hard real-time systems)se caracterizan por poseer hilos que deben completar suejecucion antes de un tiempo lımite. La forma de medir elcomportamiento es si el sistema puede asegurar cumplir loslımites de esos hilos.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Planificacion no apropiativaPrimero en llegar primero en ser servidoTrabajo mas corto primeroPlanificacion con prioridadPlanificacion de Tiempo-Lımite
Planificacion de Tiempo-Lımite
Deadline Scheduler
Los sistemas de tiempo real fuertes (hard real-time systems)se caracterizan por poseer hilos que deben completar suejecucion antes de un tiempo lımite. La forma de medir elcomportamiento es si el sistema puede asegurar cumplir loslımites de esos hilos.
Se debe conocer de antemano los tiempos de servicios delos hilos.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Planificacion no apropiativaPrimero en llegar primero en ser servidoTrabajo mas corto primeroPlanificacion con prioridadPlanificacion de Tiempo-Lımite
Planificacion de Tiempo-Lımite
Deadline Scheduler
Los sistemas de tiempo real fuertes (hard real-time systems)se caracterizan por poseer hilos que deben completar suejecucion antes de un tiempo lımite. La forma de medir elcomportamiento es si el sistema puede asegurar cumplir loslımites de esos hilos.
Se debe conocer de antemano los tiempos de servicios delos hilos.
Un hilo puede ser admitido en la lista de espera si y solo siel scheduler garantiza su ejecucion junto con los demashilos en espera.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Planificacion apropiativaRound RobinColas de multiples niveles
Planificacion apropiativa
Preemptive
En estas estrategias los algoritmos asignan la CPU a los hiloscon mayor prioridad. Cada vez que sea necesario se obliga alhilo que corre a realizar la operacion yield cuando se necesite.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Planificacion apropiativaRound RobinColas de multiples niveles
Planificacion apropiativa
Preemptive
En estas estrategias los algoritmos asignan la CPU a los hiloscon mayor prioridad. Cada vez que sea necesario se obliga alhilo que corre a realizar la operacion yield cuando se necesite.
Round Robin
Multiple-Level Queues
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Planificacion apropiativaRound RobinColas de multiples niveles
Round Robin
RREs la estrategia mas usada en los sistemas de computo. Su objetivoes distribuir el uso de la CPU equitativamente a todos losprocesos/hilos. Cada uno con un intervalo de 1/n por cada unidad detiempo.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Planificacion apropiativaRound RobinColas de multiples niveles
Round Robin
RREs la estrategia mas usada en los sistemas de computo. Su objetivoes distribuir el uso de la CPU equitativamente a todos losprocesos/hilos. Cada uno con un intervalo de 1/n por cada unidad detiempo.
Cuando un hilo termina sin completar su quantum, al nuevo hilose le asigna un nuevo quantum entero.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Planificacion apropiativaRound RobinColas de multiples niveles
Round Robin
RREs la estrategia mas usada en los sistemas de computo. Su objetivoes distribuir el uso de la CPU equitativamente a todos losprocesos/hilos. Cada uno con un intervalo de 1/n por cada unidad detiempo.
Cuando un hilo termina sin completar su quantum, al nuevo hilose le asigna un nuevo quantum entero.Cuando llega un hilo se pone en la lista de espera pero suposicion exacta depende de las opciones.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Planificacion apropiativaRound RobinColas de multiples niveles
Round Robin
RREs la estrategia mas usada en los sistemas de computo. Su objetivoes distribuir el uso de la CPU equitativamente a todos losprocesos/hilos. Cada uno con un intervalo de 1/n por cada unidad detiempo.
Cuando un hilo termina sin completar su quantum, al nuevo hilose le asigna un nuevo quantum entero.Cuando llega un hilo se pone en la lista de espera pero suposicion exacta depende de las opciones.Si se posee una lista doblemente enlazada el nuevo procesosecoloca justo antes del ultimo proceso ejecutado.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Planificacion apropiativaRound RobinColas de multiples niveles
Round Robin
RREs la estrategia mas usada en los sistemas de computo. Su objetivoes distribuir el uso de la CPU equitativamente a todos losprocesos/hilos. Cada uno con un intervalo de 1/n por cada unidad detiempo.
Cuando un hilo termina sin completar su quantum, al nuevo hilose le asigna un nuevo quantum entero.Cuando llega un hilo se pone en la lista de espera pero suposicion exacta depende de las opciones.Si se posee una lista doblemente enlazada el nuevo procesosecoloca justo antes del ultimo proceso ejecutado.Se reinicia el reloj cada vez que asigna un nuevo hilo.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Planificacion apropiativaRound RobinColas de multiples niveles
Colas de multiples niveles
Multiple-Level Queues
Esta es una extension de la planificacion por prioridad. Existendiferentes “piscinas” de procesos con la misma prioridad. Elplanificador asigna procesos de acuerdo a una estrategia yhilos en los procesos de acuerdo a otra estrategia.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Planificacion apropiativaRound RobinColas de multiples niveles
Colas de multiples niveles
Multiple-Level Queues
Esta es una extension de la planificacion por prioridad. Existendiferentes “piscinas” de procesos con la misma prioridad. Elplanificador asigna procesos de acuerdo a una estrategia yhilos en los procesos de acuerdo a otra estrategia.
Suponga una lista dividida en sublistas. Se ejecuta en ordenascendente para que los procesos mas prioritarios se ejecutenantes que los demas.
Andres Felipe Barco Santa Planificacion
IntroduccionScheduling
MechanismsSeleccion de Estrategia
Estrategias No-apropiativasEstrategias Apropiativas
Planificacion apropiativaRound RobinColas de multiples niveles
Fin de la Clase
Nos vemos en la proxima!!!
Andres Felipe Barco Santa Planificacion