Algoritmos de Planificacion
-
Upload
heber-sanchez-sanchez -
Category
Documents
-
view
88 -
download
1
Transcript of Algoritmos de Planificacion
7/15/2019 Algoritmos de Planificacion
http://slidepdf.com/reader/full/algoritmos-de-planificacion-56327f7b73e7b 1/12
UNIVERSIDAD POLITÉCNICA DE PUEBLA
INGENIERÍA EN INFORMÁTICA
SISTEMAS OPERATIVOS
Profesora: Nora Castillo Tepox
Iyair Armando Díaz Sánchez
091100020
7/15/2019 Algoritmos de Planificacion
http://slidepdf.com/reader/full/algoritmos-de-planificacion-56327f7b73e7b 2/12
Ingeniería en informáticaSistemas Operativos.
Iyair Armando Díaz Sánchez 091100020
Planificación de procesosPlanificación de procesos en Sistemas Operativos. Conjunto de políticas y mecanismos
incorporados al sistema operativo, a través de un módulo denominado planificador, que debe
decidir cuál de los procesos en condiciones de ser ejecutado conviene ser despachado primero y
qué orden de ejecución debe seguirse. Esto debe realizarse sin perder de vista su principal objetivo
que consiste en el máximo aprovechamiento del sistema, lo que implica proveer un buen servicioa los procesos existentes en un momento dado.
ProcesosUn proceso es un programa en ejecución. Existen 3 estados en los que puede encontrarse un
proceso, estos son: "Listo", "Bloqueado" y "En ejecución". Para el control de los mismos
internamente son almacenados en una lista, cada uno de los nodos guarda información de un
proceso. En esa información se almacena, entre otros aspectos, el estado en que se encuentra el
proceso, el tiempo que el proceso ha usado el CPU, e información de E/S (entrada/salida). Los
sistemas operativos cuentan con un componente llamado planificador, que se encarga de decidir
cuál de los procesos hará uso del procesador. La toma de esta decisión, así como el tiempo deejecución del proceso, estará dada por un algoritmo, denominado Algoritmo de Planificación.
Objetivos de la Planificación de procesosLa Planificación de procesos tiene como principales objetivos la equidad, la eficacia, el tiempo de
respuesta, el tiempo de regreso y el rendimiento.
Equidad: Todos los procesos deben ser atendidos.
Eficacia: El procesador debe estar ocupado el 100% del tiempo.
Tiempo de respuesta: El tiempo empleado en dar respuesta a las solicitudes del usuario debe ser
el menor posible.
Tiempo de regreso: Reducir al mínimo el tiempo de espera de los resultados esperados por los
usuarios por lotes.
Rendimiento: Maximizar el número de tareas que se procesan por cada hora.
Algoritmos de Planificación
Primero en llegar primero en ser servidoConocido como FCFS (First Come First Served). Este algoritmo emplea una cola de procesos,
asignando un lugar a cada proceso por el orden de llegada. Cuando el proceso llega es puesto en
su lugar en la cola después del que llegó antes que él y se pone en estado de listo. Cuando un
proceso comienza a ejecutarse no se interrumpe su ejecución hasta que termina de hacerlo.
Prioridad al más cortóSu nombre es SJF (Shortest Job First). El proceso que se encuentra en ejecución cambiará de
estado voluntariamente, o sea, no tendrá un tiempo de ejecución determinado para el proceso. A
cada proceso se le asigna el tiempo que usará cuando vuelva a estar en ejecución, y se irá
ejecutando el que tenga un menor tiempo asignado. Si se da el caso de que dos procesos tengan
igual valor en ese aspecto emplea el algoritmo FCFS.
7/15/2019 Algoritmos de Planificacion
http://slidepdf.com/reader/full/algoritmos-de-planificacion-56327f7b73e7b 3/12
Ingeniería en informáticaSistemas Operativos.
Iyair Armando Díaz Sánchez 091100020
Round RobinA cada proceso se le asigna un tiempo determinado para su ejecución, el mismo tiempo para
todos. En caso de que un proceso no pueda ser ejecutado completamente en ese tiempo se
continuará su ejecución después de que todos los procesos restantes sean ejecutados durante el
tiempo establecido. Este es un algoritmo basado en FCFS que trata la cola de procesos que se
encuentran en estado de listos como una cola circular.
Planificación por prioridadEn este tipo de planificación a cada proceso se le asigna una prioridad siguiendo un criterio
determinado, y de acuerdo con esa prioridad será el orden en que se atienda cada proceso.
Planificación garantizadaPara realizar esta planificación el sistema tiene en cuenta el número de usuarios que deben ser
atendidos. Para un número "n" de usuarios se asignará a cada uno un tiempo de ejecución igual a
1/n.
Planificación de Colas MúltiplesEl nombre se deriva de MQS (Multilevel Queue Schedulling). En este algoritmo la cola de procesos
que se encuentran en estado de listos es dividida en un número determinado de colas más
pequeñas. Los procesos son clasificados mediante un criterio para determinar en qué cola será
colocado cada uno cuando quede en estado de listo. Cada cola puede manejar un algoritmo de
planificación diferente a las demás.
Tiempos
En la Planificación de procesos se tiene en cuenta diferentes tiempos que pueden ser calculados,
como son el "Tiempo de espera medio", el "Tiempo de retorno del proceso" y el "Tiempo deretorno medio".
Tiempo de espera medioEs el promedio de tiempos en que los procesos están en estado de listos. En algoritmos FCFS este
tiempo suele ser bastante largo. En algoritmos SJF para los procesos largos este tiempo suele ser
muy grande, pues se estarán ejecutando constantemente los procesos más cortos y los más largos
se encontrarán constantemente en espera, por lo que pueden entrar en inanición. En Planificación
por prioridad los procesos de prioridad baja podrían no ejecutarse nunca. Para dar solución a este
problema el envejecimiento de un programa eleva su prioridad.
Tiempo de retorno del procesoEs el tiempo que transcurre desde la creación de un proceso hasta que termina la ejecución del
programa que le dio lugar.
Tiempo de retorno medioEs la suma de los tiempos de retorno de cada uno de los procesos dividida entre la cantidad de
procesos.
7/15/2019 Algoritmos de Planificacion
http://slidepdf.com/reader/full/algoritmos-de-planificacion-56327f7b73e7b 4/12
Ingeniería en informáticaSistemas Operativos.
Iyair Armando Díaz Sánchez 091100020
Primero en llegar, primero en servirse (FCFS)La politica de Primero en llegar, primero en servise determina que el proceso que primero llega a
la cola de Listo es el primero en ser servido y el que utilizara el procesador, esta politica deja
ejecutir el proceso activo hasta q el termine por completo su ejecución.
Como se puede Observar en la grafica el proceso A llego de primeras y no dejo el procesador hasta
que haya culminado su ejecución.
El proceso B llego en el tiempo 2 pero debio esperar a que el proceso A terminara su ejecucion
para asi tener acceso al procesador y ejercutarce.
El proceso C al igual que el proceso B debe esperar aque el proceso B termine su ejecucion paque
se pueda ejecutar y asi consecutivamente siempre dandole prioridad al proceso que llego antes a
la lista de Listo.
Para determinar el taza de respuesta se utiliza la formula(taza de respuesta=(tiempo de
servicio+tiempo espera)/tiempo de servicio)
7/15/2019 Algoritmos de Planificacion
http://slidepdf.com/reader/full/algoritmos-de-planificacion-56327f7b73e7b 5/12
Ingeniería en informáticaSistemas Operativos.
Iyair Armando Díaz Sánchez 091100020
Algoritmo de planificación por prioridadEn muchos sistemas, los procesos tienen prioridades asignadas, y el planificador escogerá aquel
proceso con mayor prioridad. Cuando un proceso debe ser seleccionado, el planificador por
prioridades seleccionará aquel proceso que tenga mayor prioridad. Si hay más de un proceso
entonces se deberá seguir alguna política de selección. Un problema que presenta un esquema de
planificación por prioridades puro es que los procesos con la prioridad más baja pueden sufrir deInanición o bloqueo indefinido. Un proceso que está listo para correr pero espera porque siempre
hay procesos con prioridad más alta. Para evitar este problema, se puede ir incrementando
gradualmente la prioridad de los procesos (envejecimiento).SJF es un caso especial de
planificación por prioridad, donde la prioridad es el inverso del valor estimado del próximo ciclo de
CPU (a menor ciclo, mayor prioridad).
Ejemplo:
Sea la siguiente descripción de carga:
Trabajo Rafaga CPU Prioridad
A 8 2
B 4 1
C 9 4
d 5 2
Calcular tiempo de espera y tiempo de retorno de cada trabajo, tiempo medio de espera y
retorno, cuando la planificación se realiza mediante el algoritmo de prioridades y del tipo no
apropiativo.
Solución:
Proceso Tiempode Lleg.
Prioridad
Tiempo
de
servicio
Tiempo decomienzo
Tiempo deFinalización
Turnaround Tiempode espera
A 0 2 8 0 8 8 0
B 1 1 4 22 26 26-1=25 22-1=21
C 2 4 9 8 17 17-2=15 8-2=6
D 3 2 5 17 22 22-3=19 17-3=14
Promedio 16.75 10.25
PromedioEste algoritmo puede ser apropiativo y no apropiativo. En el caso de apropiativo, cuando un
proceso llega a la cola de procesos listos, su prioridad es comparada con la prioridad del proceso
que está corriendo. Si la prioridad del nuevo proceso es mayor, entonces se atiende al nuevo
proceso. Planificación de colas múltiples con prioridades Mediante este algoritmo de planificación
(ver figura) se le asigna a cada proceso una prioridad que deberá coincidir con alguna de las
prioridades asignadas a las colas de procesos listos. Cuando un proceso entre en el sistema se
dirigirá a la cola que le corresponda, no pudiendo cambiar de cola de procesos listos mientras esté
en el sistema, al contrario que la planificación con realimentación
7/15/2019 Algoritmos de Planificacion
http://slidepdf.com/reader/full/algoritmos-de-planificacion-56327f7b73e7b 6/12
Ingeniería en informáticaSistemas Operativos.
Iyair Armando Díaz Sánchez 091100020
Proceso mas cortoEsta política es de modo NO PREFERENTE , cada vez que el procesador se apodera de un proceso
no lo suelta hasta que termine.
Se selecciona el proceso con menor tiempo esperado de ejecución.
Un proceso corto saltará a la cabeza de la cola, sobrepasando a trabajos largos. Reduciendo así la
previsibilidad de los proceso largos.Posibilidad de inanición para los procesos largos.
En esta política se elige el proceso mas corto entre los que ya han sido admitidos.
NOTA: Si dos procesos tienen el mismo tiempo de servicio se le da prioridad al que llego primero.
Tienen un beneficio en el tiempo de respuesta, es muy utilizado en S.O. enfocados al sistema.
7/15/2019 Algoritmos de Planificacion
http://slidepdf.com/reader/full/algoritmos-de-planificacion-56327f7b73e7b 7/12
Ingeniería en informáticaSistemas Operativos.
Iyair Armando Díaz Sánchez 091100020
Round RobinEs un método para seleccionar todos los elementos en un grupo de manera equitativa y en un
orden racional, normalmente comenzando por el primer elemento de la lista hasta llegar al último
y empezando de nuevo desde el primer elemento. El planeamiento Round Robin es tan simple
como fácil de implementar, y está libre de inanición.
Una forma sencilla de entender el round robin es imaginar una secuencia para "tomar turnos". En
operaciones computacionales, un método para ejecutar diferentes procesos de manera
concurrente, para la utilización equitativa de los recursos del equipo, es limitando cada proceso a
un pequeño periodo de tiempo (quantum), y luego suspendiendo éste proceso para dar
oportunidad a otro proceso y así sucesivamente. A esto se le denomina comúnmente como
Planificación Round-Robin.
7/15/2019 Algoritmos de Planificacion
http://slidepdf.com/reader/full/algoritmos-de-planificacion-56327f7b73e7b 8/12
Ingeniería en informáticaSistemas Operativos.
Iyair Armando Díaz Sánchez 091100020
Menor Tiempo restanteLa política del menor tiempo restante (SRT, Shortest Remaining Time) es una versión
esperado de ejecución. Cuando se añade un nuevo proceso a la cola de Listos, puede quedarle un
tiempo esperado de ejecución menor que al proceso que está ejecutándose en ese momento. Por
consiguiente, el planificador puede apropiarse del procesador siempre que un proceso nuevo esté
listo. Como en el SPN, el planificador debe disponer de una estimación del tiempo de proceso para
poder llevar a cabo la función de selección, existiendo el riesgo de inanición para procesos largos.
El SRT no presenta el sesgo favorable a los procesos largos del PCFS. Al contrario que el turno
rotatorio, no se generan interrupciones adicionales y, así, el coste se ve reducido. Por contra, se
deben los tiempos de servicio transcurridos, lo que contribuye a la sobrecarga. El SRT también
debe producir unos tiempos de retorno mejores que los del SPN, puesto que los trabajos cortos
reciben una atención inmediata y preferente a los trabajos largos.
7/15/2019 Algoritmos de Planificacion
http://slidepdf.com/reader/full/algoritmos-de-planificacion-56327f7b73e7b 9/12
Ingeniería en informáticaSistemas Operativos.
Iyair Armando Díaz Sánchez 091100020
Planificación a la Tasa de Respuesta más AltaBrinch Hansen desarrolló la estrategia de prioridad a la tasa de respueta más alta (HRN, highest-
response-ratio-next) que corrige algunas deficiencias de SJF, particularmente el retraso excesivo
de trabajos largos y el favoritismo excesivo para los trabajos cortos. HRN es un disciplina de
planificación no apropiativa en la cual la prioridad de cada proceso no sólo se calcula en función
del tiempo de servicio, sino también del tiempo que ha esperado para ser atendido. Cuando un
trabajo obtiene el procesador, se ejecuta hasta terminar. Las prioridades dinámicas en HRN se
calculan de acuerdo con la siguiente expresión:
prioridad = (tiempo de espera + tiempo de servicio) / tiempo de servicio
Como el tiempo de servicio aparece en el denominador, los procesos cortos tendrán preferencia.
Pero como el tiempo de espera aparece en el numerador, los procesos largos que han esperado
también tendrán un trato favorable. Obsérvese que la suma tiempo de espera + tiempo de servicio
es el tiempo de respuesta del sistema para el proceso si éste se inicia de inmediato.
7/15/2019 Algoritmos de Planificacion
http://slidepdf.com/reader/full/algoritmos-de-planificacion-56327f7b73e7b 10/12
Ingeniería en informáticaSistemas Operativos.
Iyair Armando Díaz Sánchez 091100020
Algoritmo de retroalimentaciónEste algoritmo de planificación clasifica los procesos en diferentes grupos, de forma que podemos
asignarlos a diferentes colas con distinta planificación para gestionarlos de la manera que
realmente necesitan.
Los procesos se asignan permanentemente a una cola del sistema, generalmente en función de
alguna propiedad del proceso, por ejemplo el tamaño de memoria, la prioridad del proceso o eltipo de proceso.
Por ejemplo, tenemos el grupo de procesos foreground (interactivos) y background (batch), que
necesitan diferentes tiempos de respuesta.2 Cada uno de ellos estará gestionado en una cola
distinta con un algoritmo de planificación distinto, por ejemplo la cola de procesos foreground con
Round Robin, y la de procesos background con FCFS.
Además debe existir un criterio de planificación entre las colas. Puede ser de prioridad fija con
requisa o sin requisa, o de prioridad variable con requisa o sin requisa.
En los algoritmos FCFS, SJF y aquellos que utilizan prioridades, un proceso puede permanecer en el
procesador hasta que realice una entrada/salida o hasta que termine. Si no termina o no realiza
ninguna entrada/salida, el proceso podría llegar a monopolizar la CPU. Para evitar este monopolio,
el mecanismo de requisa permite que un proceso pueda ser expulsado del procesador.1
El criterio de planificación suele implementarse como prioridad fija con expropiación2 4 que
consiste en que no se puede ejecutar un proceso si hay algún otro en una cola más prioritaria. Y si
un proceso se está ejecutando y llega otro proceso más prioritario que él, abandonará el
procesador y se lo cederá al proceso con mayor prioridad.
Las características de esta política de planificación son:2
Es apropiativa, es decir si llega un proceso con mayor prioridad que el que se está ejecutando
podrá expulsarle y apropiarse del procesador.
Cada cola tendrá una prioridad interna, de acuerdo a su algoritmo de planificación. Y cuando un
proceso entre en la cola, automáticamente se calculará su prioridad interna. Esto no afectará al
funcionamiento global de las colas múltiples.
El proceso que se ejecutará será el de mayor prioridad. Y si hubiera varios, se elegirá el mayorsegún las normas de las políticas de gestión correspondientes.
Si aplicamos la planificación apropiativa de prioridad fija al ejemplo anterior, la cola de procesos
foreground será más prioritaria que la de procesos background.2 Mientras haya procesos en la
cola de foreground, los de la cola de background no se podrán ejecutar.
Otra posibilidad sería realizar la expulsión con intervalos periódicos o quantum, repartiendo el
tiempo entre las colas.
En resumen, este algoritmo se puede definir por los siguientes parámetros:
El número de colas.El algoritmo de planificación de cada cola.
El algoritmo de planificación entre las distintas colas.El método usado para determinar en qué cola se introducirá un proceso cuando haya que darleservicio.
7/15/2019 Algoritmos de Planificacion
http://slidepdf.com/reader/full/algoritmos-de-planificacion-56327f7b73e7b 11/12
Ingeniería en informáticaSistemas Operativos.
Iyair Armando Díaz Sánchez 091100020
7/15/2019 Algoritmos de Planificacion
http://slidepdf.com/reader/full/algoritmos-de-planificacion-56327f7b73e7b 12/12
Ingeniería en informáticaSistemas Operativos.
Iyair Armando Díaz Sánchez 091100020