Está en la página 1de 51

Planificacin del Procesador

Planificacin del CPU


Conceptos bsicos
Criterios de planificacin
Algoritmos de planificacin
Planificacin en tiempo real
Evaluacin de algoritmos

Planificacin de procesos
El sistema operativo decide:

qu proceso entra en la CPU cuando sta queda libre;


en qu momento el proceso que est en ejecucin debe
abandonar la CPU.

En otras palabras:

El S.O. debe aplicar una poltica de planificacin de procesos

Qu hace?
Selecciona entre los procesos que estn en memoria

listos para ejecutarse, y le asigna el CPU a uno de


ellos.

Criterios de rendimiento
Se

usan varias magnitudes para medir el


rendimiento de los algoritmos de planificacin:

Utilizacin de CPU: % de tiempo que la CPU est


ocupada
Tiempo de retorno: tiempo transcurrido entre la
llegada de un proceso y su finalizacin
Tiempo de espera: tiempo que un proceso
permanece en la cola de preparados
Tiempo de respuesta: tiempo que un proceso
bloqueado tarda en entrar en CPU, desde que
ocurre el evento que lo bloquea

Propsito de la planificacin
Posibles objetivos de la planificacin:

Minimizar el tiempo medio de espera o de retorno


Maximizar la utilizacin de CPU
Mantener el tiempo de respuesta por debajo de un valor
mximo
Se pueden considerar las medias, valores extremos o varianzas
de estas magnitudes.

No existe una poltica de planificacin ptima para

todos los criterios.

Habr que llegar a un compromiso.

Propsito de la planificacin
Eficiencia del Procesador

Maximizar el aprovechamiento y la productividad y minimizar


los tiempos de retorno, espera y respuesta.

Conceptos bsicos
Utilizacin mxima del CPU a partir de la

multiprogramacin
Ciclo de rfagas CPU-E/S

La ejecucin de un proceso consiste de un ciclo de ejecucin


del CPU y espera de E/S.

Distribucin de rfagas de CPU

Modelo de rafagasde CPU y E/S


Podemos considerar que la vida activa de un proceso

es una sucesin de:

rfagas de CPU -> el proceso ejecuta instrucciones


rfagas de E/S -> el proceso utiliza o espera por la E/S

Segn la utilizacin de los recursos, se observan:

procesos intensivos en CPU (ej. clculos numricos)


procesos intensivos en E/S (ej. interactivos)

Alternando Secuencias

Modos de decisin
Planificacin no expropiativa:

Cuando la CPU se asigna a un proceso, ste la conserva hasta


que la cede porque termina o pasa a estado de espera.
No requiere hardware adicional. (Windows 3.1., Apple
Macintosh).

Problemas

problema de acaparamiento injusto de la CPU


Windows 3.11, Apple Macintosh

Modos de decisin
Planificacin expropiativa:

Se desaloja un proceso de la CPU, para que se ejecute otro.


Necesita hardware adicional y por tanto un costo.
Permiten dar un mejor servicio ya que evitan que un proceso
pueda monopolizar el procesador durante mucho tiempo.

Problemas

para implementar tiempo compartido y tiempo real, es


necesaria una planificacin expulsiva: Unix, Windows NT/XP,
Mac OS X

Cuando planificar
Las decisiones de planificacin del CPU se hacen

cuando un proceso:

Cambia de ejecucin a bloqueado. No expropiativo


Cambia de ejecucin a listo por interrupcin. Expropiativo
Cambia de bloqueado a listo. Finaliza E/S. Expropiativo.
Termina. No expropiativo.

Tipo de planificacin
A largo plazo:

Decisin de aadir procesos al conjunto de procesos a ejecutar.

A mediano plazo:

Decisin de aadir procesos al conjunto de procesos que se


encuentran parcial o completamente en memoria.

Tipo de planificacin
A corto plazo:

Decisin sobre qu proceso disponible ser ejecutado en el


procesador (Despachador).

De E/S:

Decisin sobre que solicitud de E/S pendiente ser tratada por


un dispositivo de E/S disponible.

Niveles de planificacin

Planificacin a largo plazo


Determina cules son los programas admitidos en el

sistema.
Controla el grado de multiprogramacin.
Cuantos ms procesos se crean, menor es el
porcentaje de tiempo en el que cada proceso se
puede ejecutar.

Planificador a mediano plazo


Forma parte de la funcin de intercambio.
Se basa en la necesidad de controlar el grado de

multiprogramacin.

Despachador
Le da el control del CPU al proceso seleccionado por

el planificador de corto plazo; esto abarca:

Cambio de contexto
Cambio a modo usuario
Hacer el salto a la direccin en el programa de usuario para
reiniciar ese programa

Despachador
Latencia de despacho

El tiempo que le toma al despachador detener un proceso e


iniciar otro en ejecucin.

Despachador
Es el de ejecucin ms frecuente.
Se ejecuta cuando ocurre un suceso:

Interrupcin de reloj.
Interrupcin de E/S.
Llamada al sistema operativo.
Seales.

Criterios de planificacin a corto plazo


Orientados al usuario:

Tiempo de respuesta: Periodo de tiempo transcurrido desde


que se emite una solicitud hasta que la respuesta aparece en la
salida.

Orientados al sistema:

Uso efectivo y eficiente del procesador.

Criterios de planificacin a corto plazo


Relativos al rendimiento del sistema:

Cuantitativos: Pueden evaluarse fcilmente. Algunos


ejemplos son el tiempo de respuesta y la productividad.

No relativos al rendimiento del sistema:

Cualitativos.
Previsibilidad.

Criterios de planificacin a corto plazo


Utilizacin del CPU

Mantener el CPU lo ms ocupado posible

Tasa de trabajos

Nmero de procesos que completan su ejecucin por


unidad de tiempo

Tiempo de retorno

Cantidad de tiempo para ejecutar un proceso en


particular

Criterios de planificacin a corto plazo


Tiempo de espera
Cantidad de tiempo que un proceso ha esperado en la cola de
listos.(NO E/S).
Tiempo de respuesta
Tiempo desde que una solicitud fue enviada hasta que se
produce la primera respuesta (no salida).
Para ambientes de tiempo compartido

Criterios de optimizacin
Maximiza la utilizacin del CPU
Maximiza la tasa de trabajos
Minimiza el tiempo de retorno
Minimiza el tiempo de espera
Minimiza el tiempo de respuesta

Algoritmos de planificacin
No expropiativo

FCFS
Primero el ms corto
Primero el de mayor tasa de respuesta
Expropiativo

Round Robin
El tiempo restante ms corto
Realimentacin
Prioridad fija

Ejemplo

Primero en llegar, primero en servirse FCFS


Cada proceso se incorpora a la cola de listos.
Cuando el proceso actual cesa su ejecucin

se selecciona el proceso ms antiguo de la


cola.

FCFS

FCFS
Un proceso corto puede esperar mucho antes de que

pueda ejecutarse
Tiende a favorecer los procesos con alto uso de CPU

Cuando un proceso con alto uso de CPU se est ejecutando,


todos los que tienen alto uso de E/S tienen que esperar

FCFS
Tiempo de espera promedio suele ser grande
Problemtico en sistemas de tiempo compartido.

Primero el ms corto
Se selecciona el proceso con menor tiempo esperado

de ejecucin, siguiente rfaga de CPU.


Un proceso corto saltar a la cabeza de la cola,
sobrepasando a trabajos largos.

Primero el ms corto
El algoritmo puede ser expropiativo y no

expropiativo, la decisin se toma cuando un nuevo


proceso llega a la cola de procesos listos, mientras
se est ejecutando un proceso anterior.

La rfaga de CPU del proceso nuevo puede ser ms corta


que lo que queda al proceso que se est ejecutando.

Primero el ms corto
Algoritmo expropiativo:

Se desaloja de la CPU el proceso anterior, para que se ejecute el


nuevo proceso.

Algoritmo no expropiativo:

Permitir que termine la rfaga del proceso que se est


ejecutando.

Primero el ms corto, no exprop

Primero el ms corto. Exprop.

Planificacin por prioridades


El planificador seleccionar siempre a un proceso

de mayor prioridad antes que a los de menor


prioridad.
Tiene mltiples colas de procesos listos para
representar cada nivel de prioridad.
La planificacin por prioridad puede ser tambin
expropiativa o no expropiativa.

Planificacin por prioridades


Los procesos de prioridad ms baja podran

quedar esperando indefinidamente la CPU,


sufriendo el problema de bloqueo indefinido o
inanicin:
Una solucin es la tcnica del envejecimiento
(aging):

tcnica que permite aumentar la prioridad de procesos


que esperan durante un tiempo considerable en el
sistema.

Planificacin por prioridades


Procesos que tengan la misma

prioridad se planifican en orden FCFS.

Turno rotatorio o Round Robin


Utilizan la nocin de Quantum de Tiempo.

Interrupciones peridicas de reloj.

FCFS
Calcular el tiempo de espera, tiempo de retorno y

tiempo medio de espera si aplicamos el algoritmo


FCFS suponiendo que llegan en el mismo instante en
el siguiente orden: P1, P2, P3
Realizar los mismos clculos suponiendo que llegan
en el siguiente orden: P2, P3 y P1

Proceso Duracin
P1
9
P2
4
P3
2

FCFS

SJF

Calcular el tiempo medio de espera que resulta de

aplicar un algoritmo SJF no expulsivo


Calcular el tiempo medio de espera que resulta de
aplicar un algoritmo SJF expulsivo (SRTF)

SJF

Ejercicio 1
En un sistema tenemos cuatro

procesos con las siguientes


caractersticas:

Ejercicio 1
Los procesos no hacen E/S. Se pide planificar

dichos procesos usando:


Algoritmo FCFS
Algoritmo SJF expropiativo
Algoritmo SJF no expropiativo
Algoritmo por prioridad expropiativo
Algoritmo por prioridad no expropiativo
Algoritmo RR con Q = 0.3 s
Algoritmo RR con Q = 0.4 s

Ejercicio 1
En todos los casos calcular el tiempo de retorno

medio, el tiempo de retorno de cada proceso, el


tiempo de espera medio y el tiempo de espera de
cada proceso.
En RR asumimos que si un proceso llega a la vez
que se cumple un quantum, el proceso que estaba
en la CPU se encontrara antes en la cola de listos.

Ejercicio 2
Qu tcnicas de envejecimiento conoce usted en la

planificacin de procesos? Plantee una frmula que


considere envejecimiento.
Demuestre informalmente que el SJF es el algoritmo
ptimo para reducir el tiempo de respuesta promedio.
Discuta las ventajas que tiene tener diferentes tamaos
para el cuantum de tiempo en un sistema de planificacin
con mltiples niveles.

Cmo se distribuyen los tamaos y las prioridades a las colas de los


diferentes niveles?

Ejercicio 3
Se tienen cuatro procesos en un sistema, P1, P2, P3,

P4, de forma que cada uno de ellos llega al sistema


en los instantes 0, 1, 2 y 10, respectivamente.
Adems, cada uno necesita una rfaga de CPU de
duracin 6, 6, 5 y 8 respectivamente. Indique cual
ser el tiempo promedio de espera si utilizamos los
siguientes algoritmos de planificacin de la CPU
a) SRTF

Solucin:

b) Prioridades expropiativa, siendo

ms prioritario cuanto ms tarde se


llegue.