P. 1
ALGORITMO DE PLANIFICACIÓN DE PROCESOS

ALGORITMO DE PLANIFICACIÓN DE PROCESOS

|Views: 11.186|Likes:
Publicado porjavierjh01

More info:

Categories:Types, Resumes & CVs
Published by: javierjh01 on Nov 23, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

08/14/2013

pdf

text

original

ALGORITMO DE PLANIFICACIÓN DE PROCESOS Cuando más de un proceso es ejecutable desde el punto de vista lógico, el sistema operativo debe decidir

cuál de ellos debe ejecutarse e3n primer término. La planificación es la porción del sistema operativo que decide y el algoritmo de planificación es el utilizado. Los principales criterios respecto de un algoritmo de planificación son: la equidad, la eficacia, el tiempo de respuesta, el tiempo de regreso, y el rendimiento.

DESCRIPCIÓN Equidad Eficacia Tiempo de respuesta Tiempo de regreso Rendimiento

CRITERIO Garantiza que cada proceso obtenido su proporción justa de la CPU Mantener ocupada la CPU por cierto tiempo Minimizar el tiempo de respuesta para los usuarios interactivos Minimizar el tiempo que deben esperar los usuarios por lotes (Bath) Para obtener sus resultados Maximizar el número de tareas por hora

CRITERIOS ORIENTADOS AL USUARIO:
y

y

Tiempo de retorno Es el intervalo de tiempo desde que el proceso se ofrece hasta el momento que termina, es decir, la suma de los periodos de tiempo transcurridos esperando entrar en la memoria, esperando en la cola de procesos listos, ejecutando en el procesador y efectuando alguna solicitud de E/S. en resumen, es el tiempo que tarda en ejecutarse el proceso. Tiempo de respuesta Es el tiempo transcurrido desde la presentación de una solicitud hasta que se produce la primera respuesta. Este criterio es la cantidad de tiempo para comenzar a responder, pero no el tiempo necesario para mostrar la respuesta. Este tiempo es independiente del dispositivo de salida, mientras que el tiempo de retorno depende del dispositivo de salida.

CRITERIOS ORIENTADOS AL SISTEMA:
y y

y y

Tiempo de espera Es la cantidad de tiempo que un proceso espera en la cola de procesos listos. Tiempo de retorno normalizado Es la razón el entre el tiempo de retorno y el tiempo de servicio. Este valor indica el retardo relativo que ha experimentado un proceso. Este valor es más interesante que el tiempo de retardo, ya que es valor indispensable a la duración del proceso. Utilización del procesador Es el porcentaje de tiempo que el procesador está ocupado. Productividad Es una medida del número de procesos que se completan por unidad de tiempo.

FISTR-COME, FIRST SERVED (FCFS) Este algoritmo también llamado FCFS (First-Come, First-served), es el algoritmo más sencillo de implementar. Con este esquema, el proceso que primero solicita el procesador es el primero al que se le asigna. Esta política se implementa muy fácilmente con una cola FIFO. Cuando un proceso entra en la cola de procesos listos su PCB se enlaza con el proceso que esta al final de la cola. Cuando el procesador esta libre se le asigna el proceso, se lo coloca al inicio de la cola de procesos listos, seleccionando el proceso más antiguo de la cola. Este algoritmo de planificación es no apreciativa, una vez que se ha asignado el procesador a un proceso, este lo conserva hasta que se desee liberarlo, ya sea por terminación o bien porque solicita un recurso de E/S. Este algoritmo no es especialmente problemático en los sistemas de tiempo compartido, donde es importante que cada usuario reciba una porción del procesador a intervalos regulares. El tiempo promedio de espera es bastante largo en este algoritmo. FCFS tiene un mejor rendimiento en cómputo global con procesos largos que con proseos cortos, ya que si por ejemplo de retorno normalizado para dicho proceso corto será considerablemente mayor que el del proceso largo. Otro problema que representa este algoritmo, es que tiene a favorecer a los proceso con carga de procesador frente a los procesos con carga de E/S, ya que cuando un procesos con carga de procesador se están ejecutando, todo los procesos con carga de E/S debe esperar (se han finalizado la correspondiente ráfaga de E/S) la siguiente ráfaga de procesador, mientras que los dispositivos de E/S estarán ociosos. Así pues, FCFS puede dar como un resultado un uso eficiente tanto del procesador como de los dispositivos de E/S. Ejemplo:
y

En un cierto instante se tiene los siguientes, procesos, cuyo orden de llegada es el indicado: Trabajo Ráfaga CPU A 1 B 100 C 1 D 100 INDICAR LOS VALORES DE: Tiempo de espera Tiempo de retorno de cada trabajo Tiempo de medio de espera y retorno Cuando la planificación se realiza mediante al algoritmo de FCFS.

y y y y

Solución 1: Algoritmo FCFS Proceso Tiempo de llegada 0 1 2 3 Tiempo de servicio 1 100 1 100 Tiempo de Comienzo 0 1 101 102 Tiempo de Turnaroad Finalización 1 101 102 202 1 100 100 199 100 Tiempo de Espera 0 0 101-2=99 102-3=99 49.50

A B C D PORMEDIO

Solución 2: Algoritmo FCFS con procesos ordenados por tiempo de servicio Proceso Tiempo Tiempo Tiempo Tiempo de Turnaroad de de de Finalización llegada servicio Comienzo B 0 100 0 100 100 D 1 100 100 200 199 A 2 1 200 201 201-2=199 C 3 1 201 202 20-3=198 PORMEDIO 174.25

Tiempo Espera

de

0 100-1=99 200-2=198 201-3=198 123.50

El tiempo promedio de espera bajo una política FCFS generalmente no es mínimo y puede variar sustancialmente si hay mucha diferencia entre las duraciones de ciclo de los procesos. En el segundo ejemplo, se presenta un efecto convoy donde los procesos esperan a que un proceso grande cortó. Un proceso corto saltará a la cabeza de la cola. La ejecución de un proceso consiste en ciclos de ejecución de la CPU y ciclos de espera por E/S. El algoritmo selecciona aquel proceso cuyo próximo ciclo de ejecución de CPU sea menor. El problema esta en conocer dichos valores, pero podemos predecirlos usando la información de los ciclos anteriores ejecutadnos. Se puede comprobar que el algoritmo SJF es óptimo, ya que ofrece el mínimo tiempo de promedio de espera para un conjunto de procesos dado. La comprobación muestra que poniendo un proceso breve antes de un largo reduce el tiempo de espera del proceso corto más de lo que aumenta el tiempo de espera del proceso largo, por lo tanto se reduce el tiempo de espera promedio.

Ejemplo:

y

En un cierto instante se tiene los siguientes procesos, cuyo orden de llegada es el indicado:

Trabajo Ráfaga CPU A 8 B 4 C 9 D 5 INDICAR LOS VALORES DE: Tiempo de espera Tiempo de retorno de cada trabajo Tiempo de medio de espera y retorno Cuando la planificación se realiza mediante al algoritmo de FCFS y SJF. Solución 1: Algoritmo SJF Proceso Tiempo de llegada 0 1 2 3 Tiempo de servicio 8 4 9 5 Tiempo de Comienzo 0 8 17 12 Tiempo de Turnaroad Finalización 8 12 26 17 8 12-1=11 26-2=24 17-3=14 14.25 Tiempo de Espera 0 8-1=7 17-2=15 12-3=9 7.75

y y y y

A B C D PORMEDIO

Solución 2: Algoritmo FCFS Proceso Tiempo de llegada A 0 B 1 C 2 D 3 PORMEDIO

Tiempo de servicio 8 4 9 5

Tiempo de Comienzo 0 8 12 21

Tiempo de Turnaroad Finalización 8 12 21 26 8 12-1=11 21-2=19 26-3=23 15.25

Tiempo de Espera 0 8-1=7 12-2=10 21-3=18 8.75

El problema real de este algoritmo es conocer por lo menos estimular el tiempo de ejecución para cada proceso. Para procesos de lotes, el sistema puede solicitar al usuario que estime el valor de la ejecución de dicho proceso y de esta forma podérselo pasar al sistema operativo, sin embargo en la planificación a corto plazo esta política no se puede emplear ya que no se sabe a prioridad la duración de un proceso, ano ser que podamos predecir la duración de cada proceso mediante técnicas estadísticas. SRT (SHORTEST REMAINING TIME) "PRIMERO EL MENOR TIEMPO RESTANTE" La política de menor tiempo restante, también llamada SRT (Shortest Remaining Time) es una versión apropiativa del SJF, en la que el planificador siempre elige al proceso que le queda menos tiempo esperado de ejecución. La idea es la siguiente, cuando un proceso es añadido a la cola de

listos, puede quedarle un tiempo esperado de ejecución menor que al proceso que está ejecutándose en ese momento en el procesador, por consiguiente el planificador puede apropiarse del procesador para desalojar al proceso en ejecución y asignárselo al nuevo proceso, que tendrá un menor tiempo restante de ejecución. Al igual que el algoritmo SJF, el planificador debe disponer de una estimación de tiempo para cada proceso con el fin de poder llevar a cabo la función de seleccionar el siguiente proceso, existiendo igualmente que en el SJF peligro de inanición para los procesos largos. Ambos algoritmos, el SJF y el SRT, no presentan un sesgo favorable a los procesos largos como ocurre con el FCFS y tampoco se generan interrupciones adicionales como en el Round-Robín, por el contrario se deben llevar una cuenta de los tiempos de servicio transcurridos con el fin de que la función estadística estime de la forma más veraz los tiempos de ejecución para cada proceso. El algoritmo SRT produce unos tiempos de retorno mejores que el SJF, ya que los trabajos cortos reciben atención inmediata y preferente a los procesos largos. PRIORIDAD En muchos sistemas, los procesos tienen prioridades asignadas, y el planificador escogerá aquel proceso con mayor prioridad. Cuando un proceso debe ser seleccionado, el planificadorpor 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 de inanició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).

y

Ejemplo: Sea la siguiente descripción de carga: Trabajo A B C D Ráfaga 8 4 9 5 Prioridad 2 1 4 2

y y y y

INDICAR LOS VALORES DE: Tiempo de espera Tiempo de retorno de cada trabajo Tiempo de medio de espera y retorno Cuando la planificación se realiza mediante el algoritmo de prioridades y del tipo no apropiativa

Solución: Algoritmo por prioridades

Proceso

A B C D

Tiempo prioridad de llegada 0 2 1 1 2 4 3 2 PORMEDIO

Tiempo de servicio 8 4 9 5

Tiempo de Comienzo 0 22 8 17

Tiempo de Turnaroad Tiempo Finalización Espera 8 26 17 22 8 26-1=25 17-2=15 22-3=19 16.75 0 22-1=21 8-2=6 17-3=16 10.25

de

Este algoritmo puede ser apropiado y no apropiado. En el caso de apropiado, cuando un proceso llaga a la cola de procesos listos, su prioridad es compartida con la prioridad del proceso que está corriendo. Si la prioridad del nuevo proceso es mayor, entonces se atiende al nuevo proceso.

ALGORITMO SRTF

En el algoritmo SRT, Shortest Remaining Time o Primero el menor tiempo restante, es la versión expulsiva del algoritmo SJF conocido como trabajo mas corto primero que maneja los trabajos con base en duración de su ciclo del CPU.

Se diferencia del SJF en que si un nuevo proceso pasa a listo se activa el dispatcher para ver si es más corto que lo que queda por ejecutar del proceso en ejecución. Si es así el proceso en ejecución pasa a listo y su tiempo de estimación se decreta con el tiempo que ha estado ejecutándose. Este algoritmo tiene mayor ventaja del SJF ya que es óptimo para las ráfagas que llegan indistintamente ya que prefiere los procesos cortos y tiene la opción de suspende el que se está ejecutando para dar paso al nuevo. USO DEL QUANTUM En este caso se usa Quantum, que es un tiempo determinado en el que pasaun proceso por el CPU que no puede ser modificado por el usuario.

Ejemplo:

y

En un cierto instante se tiene los siguientes procesos:

Proceso P1 P2 P3 P4

Tiempo de llegada 0 2 4 5

Tiempo de servicio 7 4 1 4

y y y y

INDICAR LOS VALORES DE: Tiempo de espera Tiempo de retorno de cada trabajo Tiempo de medio de espera y retorno Cuando la planificación se realiza mediante el algoritmo STRF con un quantum de 2. Solución: Algoritmo STFR (Quantum =2);

Proceso P1 P2 P3 P4

Tiempo llegada 0 1 2 3

prior idad 7

Tiempo de servicio 7 4 1 4 5 3 1 0 4c 2 0 0 2 0 2c 2c 2c

1 4 2 PORMEDIO

Tiempo de Com. 0,11,13, 15 2,5 4 7,9

Tiempo Fin. 2,13, 15,16 4,7 5 9,11

Turnaro ad 16-0=16 7-2=5 5-4=1 11-5=6 7

Tiempo Espera 16-7=9 5-4=1 1-1=0 6-4=2 3

de

NOTA: Cuando termina una corrida se vuelve a buscar desde arriba los más coros excepto los que ya terminaron. ROUND Robin Turno rotatorio Una manera rápida de reducir la penalización que los procesos cortos sufren con FCFS es usar exportación basada en un reloj. Una interacción, el proceso en ejecución es colocado en la cola de procesos listos y el próximo trabajo es seleccionado basados ene l esquema FCFS. A cada proceso se le da un trozo de tiempo. La principal decisión de diseño que surge con Round Robin es tamaño del trozo o Quantum., si es quantum es muy corto, entonces los procesos se moverán a través del sistema rápidamente. Por otro lado, hay un cierto overead o desperdicio de tiempo envuelto con manejo de la interrupción del reloj y las funciones de planificación y despacho. Por lo tanto quanta muy pequeños deberían evitarse. Una alternativa es usar un quantum de tiempo que sea un poco mas tarde que el tiempo promedio requerido para una interacción típica. Round Robin es particularmente efectivo para sistemas generales de tiempo compartido. Se implementa con una cola FIFO de procesos. Nuevos procesos son agregados al final de la cola, y toma el proceso que se encuentra en la cabeza de la cola. Actualiza el timer para que interrumpa después del quantum de tiempo. Si tenemos n procesos en la cola de listos y el quantum es de q unidades de tiempo, entonces cada proceso recibe 1/n tiempos de procesador en trozos de q unidades de tiempo como máximo, y además ningún proceso debe esperar más de (n-1) x q unidades de tiempo antes de recibir su siguiente quantum. El desempeño de este algoritmo dependerá del tamaño del quantum. Si el quantum es infinito entonces degenera en FCFS. Si el

quantum es muy pequeño entonces Round Robin es llamado compartición de CPU y en teoría pareciera que cada proceso tiene su propio procesador corriendo a 1/n la velocidad del procesador real. Bajo este esquema es importante considerar el efecto del cambio de contexto.

Ejemplo: En un cierto instante se tiene los siguientes procesos: Proceso A B C D Tiempo de llegada 0 1 2 3 Tiempo de servicio 8 4 9 5

y y y y

INDICAR LOS VALORES DE: Tiempo de espera Tiempo de retorno de cada trabajo Tiempo de medio de espera y retorno Cuando la planificación se realiza mediante el algoritmo Round Robin con un quantum de 3. Solución: Algoritmo Round Robin

Proceso

A B C D PORMEDIO

Tiempo de llegada 0 1 2 3

Tiempo de servicio 8 4 9 5

Tiempo de Comienzo 0,12,21, 3,15 6,16,23 9,19

Tiempo de Turnaroad Finalización 3,15,23 6,16 9,19,26 12,21 23 16-1=15 26-2=24 21-3=18 20

Tiempo de Espera 15 11 15 13 13

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->