Algoritmo Round Final

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 11

ESCUELA SUPERIOR POLITCNICA DE CHIMBORAZO

FACULTAD DE INFORMTICA Y ELECTRNICA ESCUELA DE INGENIERA ELECTRNICA EN CONTROL Y REDES INDUSTRIALES Tercer Semestre A

Algoritmo de planificacin Round Rovin


FUNDAMENTOS DE SISTEMAS OPERATIVOS
Wilmer guao ngel Ocaa Jofre Saqui
31/10/2012

422
405

424

La finalidad de este trabajo es ayudar al usuario a entender el algoritmo de planificacin de procesos por Turno Rotatorio o Round Robin.

INTRODUCCIN La planificacin (scheduling) es la base para lograr la multiprogramacin. Un sistema multiprogramado tendr varios procesos que requerirn el recurso procesador a la vez. Esto sucede cuando los procesos estn en estado ready (pronto). Si existe un procesador disponible y existen procesos en estado ready, se debe elegir el que ser asignado al recurso para ejecutar. El componente del sistema operativo que realiza la eleccin del proceso es llamado planificador (scheduler).

Clases de procesos Existen distintas polticas de planificacin que sern exitosas segn la clase de procesos que ejecuten. En general, los procesos tienden a ser o ms intensivos en el uso de procesador, o ms intensos en el uso de operaciones de E/S. Los procesos tendern a tener ciclos de rfagas de ejecucin (CPU-burst) y ciclos de rfagas de espera de operaciones de E/S (I/O burst): Procesos CPU-bound: Los procesos que contienen un alto uso de procesador son llamados CPU-bound o compute-bound. Procesos I/O-bound: Los procesos que realizan muchos accesos a operaciones de E/S son llamados I/O-bound. La prioridad que tenga un proceso frente a los dems para acceder al recurso ser inversamente proporcional al uso que haga del recurso.

Esquema de planificacin Los momentos en que el planificador es invocado son: Cuando un proceso se bloquea en una operacin de E/S, o un semforo, etc.. Cuando un proceso cambia del estado ejecutando al estado pronto. Por ejemplo al ocurrir una interrupcin o se crea un nuevo proceso. Cuando ocurre una interrupcin de E/S y un proceso pasa del estado bloqueado a pronto. Cuando un proceso finaliza su ejecucin. Cuando ocurre 1 4, el planificador es invocado debido a que el proceso en ejecucin libera el procesador. Si el planificador es invocado cuando ocurre 2 3, se dice que este es expropiativo (preemptive), ya que puede quitar el procesador al proceso que estaba en ejecucin. Sistemas operativos con planificadores no expropiadores (non-preemptive) son los que asignan el recurso procesador a un proceso y hasta que este no lo libere, ya sea porque finaliza su ejecucin o se bloquea, no se vuelve a ejecutar el planificador. Sistemas operativos con planificadores expropiativos (preemptive) son que los que pueden expropiar el recurso procesador a un proceso cuando otro proceso entra en estado pronto (ya sea porque es nuevo o porque se desbloqueo) o porque se le impone una limitante de tiempo para ejecutar.

Los esquemas de planificacin son tiles segn el ambiente donde sean aplicados: Sistemas por lotes: Como no existe interaccin con usuarios, los planificadores no expropiadores son ideales. Sistemas interactivos: Debido a que existen procesos de usuarios ejecutando a la vez, los planificadores expropiadores son ideales para mantener un buen tiempo de respuesta para los usuarios. Sistemas de tiempo real: No es necesario planificadores expropiadores ya que los procesos pueden que no ejecuten por un buen tiempo, pero cuando lo hacen es por un perodo muy corto.

Criterios de planificacin Los algoritmos de planificacin tendrn distintas propiedades y favorecern cierta clase de procesos. Es necesario definir criterios para poder evaluar los algoritmos de planificacin: Utilizacin de CPU (CPU utilization): Es el porcentaje de uso (en cuanto a ejecucin de tareas de usuario o del sistema que son consideradas tiles) que tiene un procesador. Rendimiento (Throughput): Es el nmero de procesos que ejecutaron completamente por unidad de tiempo (una hora p.ej.). Tiempo de retorno (Turnaround time): Es el intervalo de tiempo desde que un proceso es cargado hasta que este finaliza su ejecucin. Tiempo de espera (Waiting time): Es la suma de los intervalos de tiempo que un proceso estuvo en la cola de procesos listos (ready queue). Tiempo de respuesta (Response time): Es el intervalo de tiempo desde que un proceso es cargado hasta que brinda su primer respuesta. Es til en sistemas interactivos.

OBJETIVOS GENERALES La finalidad de este trabajo es ayudar al usuario a entender el algoritmo de planificacin de procesos por Turno Rotatorio o Round Robin. Mediante este trabajo, se busca dar a conocer toda la informacin acerca del algoritmo de planificacin de procesos Round Robin; y con esto permitir a los usuarios conocer cmo esta herramienta es de gran importancia en los Sistemas Operativos. OBJETIVOS ESPECFICOS Conocer el concepto y definicin del algoritmo de planificacin de procesos por Turno Rotatorio o Round Robin. Conocer, identificar y entender su funcionamiento.

Diferenciarlo, conocer las ventajas y desventajas con respecto a otros algoritmos de planificacin de procesos. MARCO TERICO Planificacin Round Robin1 Round-Robin es un mtodo 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 fcil de implementar, y est libre de inanicin. El nombre del algoritmo viene del principio de Round-Roubin conocido de otros campos, donde cada persona toma una parte de un algo compartido en cantidades parejas. Una forma sencilla de entender el Round-Robin es imaginar una secuencia para "tomar turnos". En operaciones computacionales, un mtodo para ejecutar diferentes procesos de manera concurrente, para la utilizacin equitativa de los recursos del equipo, es limitando cada proceso a un pequeo perodo (quantum), y luego suspendiendo ste proceso para dar oportunidad a otro proceso y as sucesivamente. A esto se le denomina comnmente como Planificacin RoundRobin. Aplicacin en sistemas operativos Round-Robin es uno de los algoritmos de planificacin de procesos ms complejos y difciles, dentro de un sistema operativo que asigna a cada proceso una porcin de tiempo equitativa y ordenada, tratando a todos los procesos con la misma prioridad. En Sistemas operativos, la planificacin Round-Robin da un tiempo mximo de uso de CPU a cada proceso, pasado el cual es desalojado y retornado al estado de listo, la lista de procesos se planifica por FCFS (First-Come, First Served), primero llegado, primero atendido. Pasos de ciclos Para averiguar los pasos de ciclos de procesos totales se toman todos los nmeros de procesos y se calculan con los procesos necesarios para la realizacin de estos... Suponga que hay tres procesos y se desea averiguar cunto tarda.

http://www.buenastareas.com/ensayos/Algoritmo-Round-Robin/1249469.html

Proceso A: 3 veces Proceso B: 4 veces Proceso C: 5 veces

Planicacin circular Este algoritmo de planicacin, conocido por Round Robin, est diseado especialmente para sistemas de tiempo compartido. Se define un intervalo de tiempo denominado cuanto, cuya duracin vara segn el sistema. La cola de procesos se estructura como una cola circular. El planicador la recorre asignando un cuanto de tiempo a cada proceso. La organizacin de la cola es FIFO. El cuanto se suele implantar mediante un temporizador que genera una interrupcin cuando se agota el cuanto de tiempo. Si el proceso agota su rfaga de CPU antes de nalizar el cuanto, el planicador asigna la CPU inmediatamente a otro proceso. Este algoritmo tiene un tiempo de espera relativamente grande. Sin embargo, garantiza un reparto de la CPU entre todos los usuarios y arroja tiempos de respuesta buenos. Como ejemplo, supongamos los siguientes tres procesos en un instante en el sistema: Proceso Duracin de la rfaga tw P1 24 6 P2 3 4 P3 3 7 tw = 5,66: Tiempos de proceso y de espera segn la planicacin RR. Vemos que el tiempo de espera podra ser inferior, por ejemplo 3 unidades para el algoritmo SJF (Primero el trabajo ms corto). Si tenemos n procesos, y un cuanto de tiempo de q, el resultado es que cada trabajo recibe 1/n de tiempo de CPU en cuantos de q unidades. Ningn proceso debe esperar ms de (n 1)q unidades de tiempo antes de recibir servicio. El rendimiento del algoritmo depende mucho del tamao del cuanto. Si se utiliza un valor muy grande el algoritmo tiende a degenerar hacia el FCFS. Si el tamao del cuanto es muy pequeo, el costo de los constantes cambios de contexto degrada mucho el rendimiento del procesador. Hay que tener en cuenta que el porcentaje relativo de cambio de contexto respecto al cuanto, es el porcentaje relativo de prdida de la CPU. Una regla emprica dice que el cuanto de tiempo debe ser inferior al 80 % de las rfagas de CPU.

Tamao del Cuanto2 La determinacin del tamao del cuanto es vital para la operacin efectiva de un sistema de cmputo. Si el cuanto de tiempo es muy grande, cada proceso tendr el tiempo necesario para terminar, de manera que el esquema de planificacin por turno degenera en uno de primero-en-entrar-primero-en-salir. Si el cuanto es muy pequeo, el gasto extra por cambio de proceso se convierte en el factor dominante y el rendimiento del sistema se degradar hasta el punto en que la mayor parte del tiempo se invierte en la conmutacin del procesador, con muy poco o ningn tiempo para ejecutar los programas de los usuarios. El tamao del cuanto debe fijarse en el tamao lo bastante grande como para que la mayora de las peticiones interactivas requieran menos tiempo que la duracin del cuanto. Por ejemplo, supongamos que el cambio de proceso tarda 5 mseg., y la duracin del cuantum es de 20 mseg. Con estos parmetros, se utiliza un mnimo del 20% del tiempo de la CPU en la ejecucin del sistema operativo. Para incrementar la utilizacin de la CPU por parte de los procesos de usuario podramos establecer un cuantum de 500 mseg., el tiempo desperdiciado con este parmetro sera del 1%. Pero consideremos lo que ocurrira si diez usuarios interactivos oprimieran la tecla enter casi al mismo tiempo. Diez procesos se colocaran en la lista de procesos listos. Si la CPU est inactiva, el primero de los procesos comenzara de inmediato, el segundo comenzara medio segundo despus, etc. Partiendo de la hiptesis de que todos los procesos agoten su cuantum, el ltimo proceso deber de esperar 45 seg. para poder ejecutarse. Esperar 45 seg. para la ejecucin de una orden sencilla parece excesivo. En conclusin, un cuantum corto disminuye el rendimiento de la CPU, mientras que un cuantum muy largo empobrece los tiempos de respuesta y degenera en el algoritmo FIFO. La solucin es adoptar un trmino medio como 100 mseg. Aplicacin en redes La planificacin Round Robin puede ser aplicada tambin a otros problemas de planificacin, como la planificacin de redes. En las redes inalmbricas, donde varios servidores comparten un mismo canal, este algoritmo provee a cada servidor un intervalo regular de tiempo para transmitir o recibir informacin mediante el canal compartido. Esto hace parecer a Round Robin como un algoritmo justo, pero, de todos modos, por ser mucho menos eficiente que el "algoritmo de proporcionalidad justa", es muy difcil proveer un buen servicio a los suscriptores. El operador de la red tambin sufrir capacidad reducida en la red. La causa principal es que este algoritmo no tiene en cuenta el cambio de condiciones de recepcin en los diferentes receptores, por lo que planear transmisiones desde/hacia los suscriptores de la mitad de tiempo cuando sus condiciones de recepcin sean peores
2

http://www.juntadeandalucia.es/empleo/recursos/material_didactico/especialidades/materialdidactico_administrad or_servidores/Content/1-so/1-AnexoAlgoritmosPlanificacion.pdf

que las habituales. En contraste, el planeamiento de proporcionalidad justa tendr en cuenta el cambio de condiciones de recepcin en los diferentes receptores y agendar las transmisiones desde/hacia los suscriptores cada vez que las condiciones de recepcin estn peores que lo normal. Ventajas de Round Rovin En realidad todo los aspectos a favor y en contra del empleo del algoritmo Round Robin estn en funcin del tipo de proceso que sean, ya que s el proceso tiene muchos I/O's estar siendo interrumpido constantemente y no aprovechar todo su quantum, en cambio si los procesos utilizan slo CPU se utilizar todo el quantum. ste es uno de los parmetros fundamentales de este aspecto. Entre las ventajas de utilizar el algoritmo Round Robin, como administrador de procesos estn: su facilidad en el manejo; las prioridades no cambian; algunas garantas son asignadas a procesos que tienen una alta prioridad; adems, es un algoritmo muy predecible. Desventajas de Round Rovin Un problema del algoritmo es que el rendimiento depende mucho del quantum tiempo. Se puede presentar un problema, sobre todo si el quantum de tiempo parecido a la conmutacin de contexto (el tiempo que se invierte en sacar proceso del procesador y restaurar los registros de otro), por la gran cantidad veces que se cambia de contexto. Ejemplos A un sistema que emplea el algoritmo Round-Robin con un quantum de tiempo de tres milisegundos llegan los siguientes procesos: de es un de

Proceso Tiempo de llegada R1 0 R2 1 R3 2 PROMEDIO

Tiempo Tiempo de de comienzo servicio 16 0,8,11,14, 17, 20 3 3 2 6

Tiempo de Turnaround Tiempo finalizacin de espera 3,11,14,17, 21 5 20, 21 6 6-1=5 2 8 8-2=6 4 10.67 3.67

En la figura podemos observar el resultado de la planificacin. Un problema del algoritmo es que el rendimiento depende mucho del quantum de tiempo; as, si este es pequeo, todos los procesos sern interrumpidos varias veces. Esta situacin sera equivalente a que todos los procesos tuvieran un procesador particular cuya velocidad sera menor a la del procesador general, concretamente en razn de 1/n, donde n es el nmero de procesos. En cambio, si el quantum es grande, la mayora de los procesos terminarn antes de tiempo. En este caso, el algoritmo Round-Robin ser equivalente al FCFS. En este algoritmo se puede presentar un problema, sobre todo si el quantum de tiempo es parecido a la conmutacin de contexto (el tiempo que se invierte en sacar un proceso del procesador y restaurar los registros de otro), por la gran cantidad de veces que se cambia de contexto. Este tiempo depende de varios factores tales como: velocidad de la memoria, nmero de los registros y tambin de que exista o no una instruccin capaz de realizar esta operacin. Lo normal es que este tiempo est comprendido entre 10 y 100 microsegundos. Conviene que el tiempo de conmutacin de contexto sea significativamente menor que el quantum, en concreto si es la dcima parte del quantum, se perder el 10 por 100 del tiempo de conmutacin de contexto. Otro ejemplo lo tenemos a continuacin:

Quantum = 20

Proceso Tiempo de llegada P1 0 P2 1 P3 2 P4 3 PROMEDIO

Tiempo de servicio 53 17 68 24

Tiempo de Tiempo de Turnaround Tiempo comienzo finalizacin de espera 0,77,121 20,97,134 134 81 20 37 37-1=36 19 37,97,134, 57,117,154, 162-2=160 92 154 162 57,117 77,121 121-3=118 94 112 71.5

Por lo general, tiene un mayor tiempo de retorno que el SJF, pero mejora el tiempo de respuesta. Es necesario asignar un ajustado tiempo de quantum: Si es muy chico generar muchos cambios de contexto. Si es muy grande, el sistema tender a un FCFS.

El promedio del tiempo de retorno vara segn el quantum.

CONCLUSIONES Es un algoritmo basado en FCFS. Trata la cola de ready como una lista circular. Introduce el concepto de "Quantum" o "Time slice": mayor tiempo de CPU que podr hacer uso un proceso en cada vuelta. La desventaja principal de este algoritmo de planificacin de procesos, es que cambia los procesos en ejecucin con demasiada frecuencia. Lo que supone una pequea prdida de tiempo. El tiempo perdido depende, del tiempo de ejecucin dado al proceso (Quantum). Para valores de Quantum pequeos, el resultado es malo. Para valores grandes el algoritmo equivale al FCFS. Es decir, si el valor del Quantum fuese muy grande,

el algoritmo funcionara como un FCFS. Si el Quantum fuera muy chico se produce un overhead por context switch (significa que el Quantum se setea en un tiempo menor al que demora el context switch). Una solucin al algoritmo de planificacin de procesos Round-Robin, es el algoritmo Virtual Round Robin (Turno Rotatorio Virtual) el cual intenta solucionar un problema que afecta al quantum. Estos procesos abandonan la CPU, para no consumir el quantum completo (rfagas pequeas). Por lo que deben esperar de nuevo en la cola de listos. Los procesos con rfagas grandes consumen un cuarto del quantum completo. Es un algoritmo utilizado sobre todo en sistemas interactivos de tiempo compartido. RECOMENDACIONES Siempre se debe utilizar valores de quantum no muy pequeos para obtener una buena y efectiva respuesta del algoritmo de planificacin. Siempre se debe tomar en cuenta el quantum, pues de este depende la prdida de tiempo en la ejecucin de procesos de este algoritmo, y al tener en cuenta este factor podramos llegar a obtener la eficiencia mxima de este algoritmo. Este algoritmo es fuertemente dependiente del Quantum o Time Slice. El Quantum debe ser mayor que el 80% de los tiempos de CPU que hagan uso los procesos, pero no el proceso entero sino por cada burst. BIBLIOGRAFA
http://books.google.com.ec/books?id=wXzwFPaVku0C&pg=PA64&lpg=PA64&dq=rou nd+robin+sistemas+operativos&source=bl&ots=yzjlwTsb2x&sig=p5l3s7RyjO0FKdxlIu bEhZIOLlc&hl=es&ei=qdfZTIOhMcWqlAejkfywCQ&sa=X&oi=book_result&ct=result&re snum=3&ved=0CCYQ6AEwAjgK#v=onepage&q&f=false http://www.fing.edu.uy/inco/cursos/sistoper/recursosTeoricos/SO-TeoPlanificacion.pdf http://so-wiki.wetpaint.com/page/Round+Robin http://www.buenastareas.com/ensayos/Algoritmo-Round-Robin/1249469.html http://wwwdi.ujaen.es/~lina/TemasSO/PLANIFICACIONDEPROCESOS/PlanificadorPro cesos/alg_planif_RR.html http://es.wikiversity.org/wiki/Sistemas_operativos http://roundrobin-grupo6.blogspot.com/ http://www.juntadeandalucia.es/empleo/recursos/material_didactico/especialidades/ materialdidactico_administrador_servidores/Content/1-so/1AnexoAlgoritmosPlanificacion.pdf http:// www.pspstation.org/pc-mac-92/algoritmo-planificacion-round-robin-13491/

También podría gustarte