Академический Документы
Профессиональный Документы
Культура Документы
Justificacin y generalidades. Cuando son ejecutables varios procesos, tomando en cuenta la existencia de
multiprogramacin y de tiempo compartido el sistema operativo debe decidir
cal conviene ejecutar primero . La parte del SO a la que concierne esta decisin
se llama planificador de procesos y los algoritmos que utiliza se denominan
algoritmos de planificacin de procesos.
A la hora de planificar procesos es importante estimar la carga de CPU versus
demanda de E/S de los mismos, pues interesa que haya un equilibrio entre las
dos.
ELABORACION DEL ALGORITMO DE PLANIFICACION:
1.
Ejecutando
Listo
Bloqueado
Corto Plazo
Bloqueado
suspendido
Listo
suspendido
Medio Plazo
Nuevo
Salida
Largo Plazo
TIPOS DE PLANIFICACION
LA PLANIFICACION A LARGO PLAZO:
La planificacin a largo plazo determina cuales son los programas
admitidos en el sistema. De esta forma, controla el grado de
multiprogramacin. Unas ves admitidas, un trabajo o un programa de
usuario se convierten en un proceso y se aade a la cola del
planificador a corto plazo. En algunos sistemas, un proceso recin
creado comienza en situacin de suspendido, en cuyo caso se aade
a
la
cola
del
planificador
a
medio
plazo.
ALGORITMOS DE PLANIFICACIN
CRITERIOS DE PLANIFICACIN A CORTO PLAZO
Un solo procesador puede ser compartido entre varios procesos con
cierto "algoritmo de planificacin", este determina cundo detener el
trabajo en un proceso para dar servicio a otro distinto que tambin
requiere ser atendido; cabe aclarar que cuando ms de un proceso es
ejecutable desde el punto de vista lgico, es el Sistema Operativo el
encargado de decidir cul de ellos se debe ejecutar en primer
trmino, y lo realiza a travs del "Planificador", utilizando dichos
algoritmos de planificacin.
Para evaluar las diversas estrategias de planificacin a adoptar fijan
un conjunto de pautas, mecanismos o criterios a seguir,
pertenecientes a la "planificacin a corto plazo o de bajo
nivel"(descripta en el tem anterior); su "principal objetivo" es dividir
el tiempo del procesador a fin de "optimizar" uno o ms elementos
del comportamiento del sistema.
Como primera medida podemos diferenciar determinados aspectos
entre dos clasificaciones de criterios:
1- Criterios orientados al usuario.
2- Criterios orientados al sistema.
Ambos son caracterizados en el siguiente cuadro comparativo:
Enfoque
Orientados al Sistema
Comportamientos del sistema tal
y como lo perciben los usuarios y
los procesos individuales.
Orientados al Usuario
Centralizados en la
eficiencia y eficacia en el
uso del procesador
- Ofrecer un buen servicio
a varios usuarios a travs
de una poltica de
planificacin.
-Definir mecanismos para
agilizar y efectivizar los
procesos a nivel usuario.
- Mantener permanentes
las caractersticas de los
servicios a pesar de la
cantidad de trabajos a
ejecutarse
Es importante sealar que estos criterios son dependientes entre s y
es imposible optimizarse simultneamente, ya que obtener un buen
servicio para los usuarios puede generar a su vez una sobrecarga en
el sistema y reducir la productividad, pues cada proceso es nico e
impredecible debido a que sus requerimientos pueden resultar
distintos
con
respecto
a
otro
proceso.
En el siguiente esquema de llaves se considera otra clasificacin,
adems de las citadas anteriormente, como ser la relativa al
rendimiento de los sistemas y usuarios y aquellos que no lo son:
: Respecto del rendimiento: son criterios cuantitativos y por ello
evaluados fcilmente. Por ejemplo, el tiempo de respuesta y la
productividad.
: Otros criterios no relativos al rendimiento: son criterios cuantitativos
y no pueden ser medibles con facilidad. Por ejemplo la previsibilidad.
Esquema de llaves de los criterios de planificacin:
REALIMENTACIN
Si no se dispone de ninguna informacin sobre la longitud relativa de los diversos
procesos , no se puede emplear ninguno de los algoritmos anteriores
Si no es posible utilizar como base el tiempo de ejecucin restante, se emplea el tiempo
de ejecucin consumido hasta el momento.
Para ello : la planificacin es destacada ( con un cuanto de tiempo) y se emplea un
mecanismo dinmico de prioridades. Cuando un proceso entra por primera vez en el
sistema , se sita en RQ0. Cuando vuelve al estado de Listo , despus de su primera
ejecucin, se incorpora a RQ1.Despus de cada ejecucin siguiente, se le degradar al
nivel inmediatamente inferior de prioridad . Un proceso corto terminar rpidamente,
sin descender demasiado en la jerarqua de colas de Listos. Un proceso largo ser
gradualmente llevado hacia abajo. .De esta manera se favorece a los procesos cortos
frente a los ms viejos y largos. Se usar un simple mecanismo de FCFS dentro de
cada cola, excepto en la menor prioridad. Una vez en la cola de menor prioridad, un
proceso no puede descender , sino que vuelve a la misma cola repetidamente hasta
completar su ejecucin. Por lo tanto esta cola se trata como un turno rotatorio.
A continuacin se muestra el mecanismo de planificacin con realimentacin
mostrando el camino que sigue un proceso a travs de varias colas. Este enfoque se
denomina realimentacin multinivel (FB. Feedback), lo que quiere decir que el sistema
operativo asigna al procesador un proceso y cuando el proceso se bloquea o es
expulsado , lo devuelve a una determinada cola de prioridad.
Existe un gran nmero de variantes de este esquema. Una versin simple consiste en
realizar la apropiacin de la misma forma que el turno rotatorio: a intervalos
peridicos.
Un problema es que el tiempo de retorno de los procesos mayores puede alargarse de
forma alarmante . En realidad puede ocurrir inanicin si llegan regularmente nuevos
trabajos al sistema. Para compensar , se puede variar el tiempo de apropiacin en
funcin de la cola: un proceso par RQ0 dispone de una unidad de tiempo de ejecucin
hasta ser expulsado: a un proceso planificado para RQ1 se le permite ejecutar durante 2
unidades de tiempo y as sucesivamente . En general un proceso planificado para RQi
puede ejecutar 2i unidades de tiempo antes de ser expulsado.
Incluso permitiendo una mayor asignacin de tiempo a las prioridades menores , un
proceso largo an puede sufrir inanicin . Un posible remedio consiste en promocionar
un proceso a una cola de mayor prioridad despus de que este esperando servicio en su
cola actual durante un cierto de tiempo.
COMPARACIN DE RENDIMIENTOS
El rendimiento de las distintas polticas de planificacin es un factor crtico en la
eleccin de una poltica . Sin embargo , es imposible hacer una comparacin definitiva
porque el rendimiento relativo depende de una gran variedad de factores, incluyendo
la distribucin de probabilidad de los tiempos de servicios de los procesos, la
eficiencia de la planificacin y de los mecanismos de cambio de contexto , la
naturaleza de las peticiones de E/S y el rendimiento del subsistema de E/S. No
obstante, a continuacin se intentarn esbozar algunas conclusiones generales.
Anlisis de Colas
Para ello se hace uso de frmulas de colas , haciendo la suposicin habitual de que las
llegadas siguen una Poisson y los tiempos de servicio una funcin exponencial
En primer lugar , hay que observar que cualquier disciplina de planificacin que elija
el siguiente elemento a servir independientemente del tiempo de servicio cmplela
siguiente relacin:
donde:
Tr = tiempo de retorno o tiempo de estancia; tiempo total en el sistema, espera ms
ejecucin.
Ts = Tiempo medio de servicio; tiempo medio consumido en el estado de Ejecucin.
p = utilizacin del procesador.
Un planificador basado en prioridades , en el que la prioridad de cada proceso se
asigna independientemente del tiempo esperado de servicio, proporciona el mismo
tiempo medio de retorno y tiempo medio de retorno normalizado que un simple
FCFS. Es ms, la presencia o ausencia de apropiacin no marca diferencias entre las
medias.
Con la excepcin del turno rotatorio y del FCFS , las diversas disciplinas la
planificacin vistas hasta ahora hacen elecciones en funcin del tiempo esperado de
servicio. Por desgracia resulta bastante difcil construir modelos analticos fiables para
estas disciplinas. Sin embargo es posible hacerse una idea del rendimiento relativo de
dichos algoritmos de planificacin en comparacin con el FCFS, considerando una
planificacin por prioridades donde la prioridad esta en funcin del tiempo de
servicio.
Si la planificacin se hace en funcin de prioridades y si los procesos se asignan a una
clase de prioridad segn su tiempo de servicio , entonces aparecen diferencias.
A continuacin se muestran las formulas resultantes con dos clases de prioridad , con
tiempos de servicio diferentes para cada clase .
Para comparar, la lnea superior del grfico indica que no se emplean las prioridades si
no que simplemente se observa el rendimiento relativo de la mitad de los procesos que
presentan menor tiempo de procesamiento . Las otras dos lneas indican que a estos
procesos se les asigna una prioridad mayor. Cuando el sistema ejecuta con planificacin
no preferente por prioridades, las mejoras son significativas. Son incluso mayores
cuando se emplea apropiacin.
A continuacin se muestra el mismo anlisis para los procesos largos y de prioridad
inferior.
En el grfico anterior los procesos sufren una degradacin del rendimiento cuando se
utiliza la planificacin por prioridades.
Sistemas de Colas
Colas de un solo servidor:
El sistema de colas ms simple es el siguiente:
El elemento central del sistema es un servidor , que proporciona cierto servicio a los
individuos. Al sistema llegan individuos de una poblacin para ser servidos. Si el
servidor esta libre , se sirve inmediatamente al individuo en otro caso el individuo se
aade a una fila de espera. Cuando el servidor a terminado de servir a un individuo ,
ste sale del servicio. Si hay individuos esperando en la cola , se expide uno
inmediatamente hacia el servidor. El servidor en este modelo puede representar
cualquier cosa que realice una funcin o servicio sobre una coleccin de individuos
( por ejemplo un procesador ofrece servicio a los procesos; una lnea de transmisin
ofrece un servicio de transmisin para paquetes o marcos de datos; un dispositivo de
E/S ofrece servicio de lectura escritura a las peticiones de E/S.
En el grfico existen los siguientes parmetros asociados con un modelo de colas .
Los individuos llegan al servicio con una tasa media de llegada (individuos que
llegan por segundo)
En un instante dado , en la cola habr cierto nmero de individuos ( 0 o ms), el nmero
medio de individuos esperando es w y el tiempo medio que un individuo debe esperar es
Tw .El valor de Tw es la media de todos los individuos que llegan incluyendo aquellos
que no tienen que esperar nada . El servidor gestiona los individuos entrantes con
tiempo medio de servicio Ts, este es el intervalo de tiempo entre que se expide un
individuo hacia el servidor y la salida de dicho individuo . La utilizacin p es la
fraccin de tiempo que el servidor esta ocupado , medida a lo largo de un cierto
intervalo de tiempo El parmetro r es el nmero medio de individuos en el sistema
incluyendo al individuo que esta en el servicio ( si no lo hay) y a los individuos que
estn esperando ( si no los hay) ; Tr es el tiempo medio que un individuo pasa en el
sistema , tanto esperando como en servicio este tiempo se llama tiempo de estancia.
La capacidad de la fila de espera es infinita , los individuos no se rechazan nunca del
sistema, nicamente son retrasados hasta que se les pueda servir, entonces la tasa de
salida es igual a la tasa de llegadas. A medida que s e incrementan la tasa de llegadas
que es el porcentaje del trfico que pasa por el sistema , se incrementa la utilizacin y
con ella , la congestin . La fila de espera se hace ms larga aumentando el tiempo de
espera . Con p =1 el servidor se satura funcionando el 100% del tiempo Entonces la tasa
mxima terica de entrada que puede manejar el sistema es :
max = 1/Ts
Pero las filas en espera se hacen muy largas cuando se est prximo a la saturacin del
sistema y crece sin lmites cuando p =1
Colas Multiservidor:
A continuacin una generalizacin del modelo simple que se ha tratado para mltiples
servidores todos los cuales comparten una fila de espera .
Modelos de Simulacin
Ciertas dificultades de los modelos analticos se superan mediante simulacin discreta
de sucesos , lo cual admite modelar un amplio nmero de polticas. La desventaja de la
simulacin radica en que los resultados de una determinada ejecucin son aplicables
solo a un conjunto de procesos en particular de supuestos , pero se pueden obtener
revelaciones tiles.
FINK88 tiene los resultados de un estudio. La simulacin comprenda 50000 procesos
con una tasa de llegada de =0.8 y un tiempo de servicio medio de Ts =1. La utilizacin
del procesador es de p = Ts = 0.8. Slo se mide la utilizacin en un momento dado.
Para presentar los resultados, los procesos se agruparon en percentiles del tiempo de
servicio cada uno de los cuales tena 500 procesos. Los 500 procesos con menor tiempo
de servicio estaban en el primer percentil; sin cortar estos, los 500 procesos restantes
con menor tiempo de servicio estaban en el segundo percentil y as sucesivamente. Este
agrupamiento permiti contemplar los efectos sobre los procesos de varias polticas en
funcin de la longitud de los procesos.
A continuacin se muestra el tiempo de retorno normalizado
Siguiente proceso
A
Proceso activo
A
2.18.- CONCLUSIONES:
Comunicar procesos entre s mediante primitivas de comunicacin (que se utilizan
para garantizar que dos procesos no se encuentren jams al mismo tiempo dentro de sus
regiones crticas ).
Calcular las prioridades de los procesos y organizarlos en niveles de prioridad en
funcin de dichos valores.