Algoritmos de Planificacion

12
UNIVERSIDAD POLITÉCNICA DE PUEBLA INGENIERÍA EN INFORMÁTICA SISTEMAS OPERATIVOS Profesora: Nora Castillo Tepox Iyair Armando Díaz Sánchez 091100020

Transcript of Algoritmos de Planificacion

Page 1: 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

Page 2: Algoritmos de Planificacion

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.

Page 3: Algoritmos de Planificacion

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.

Page 4: Algoritmos de Planificacion

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)

Page 5: Algoritmos de Planificacion

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

Page 6: Algoritmos de Planificacion

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.

Page 7: Algoritmos de Planificacion

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.

Page 8: Algoritmos de Planificacion

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.

Page 9: Algoritmos de Planificacion

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.

Page 10: Algoritmos de Planificacion

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.

Page 11: Algoritmos de Planificacion

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

Page 12: Algoritmos de Planificacion

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