ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Circular simple algoritmo de planificación para la ejecución de los procesos dentro del sistema operativo


Enviado por   •  8 de Noviembre de 2011  •  Tesinas  •  2.746 Palabras (11 Páginas)  •  767 Visitas

Página 1 de 11

Round-robin

Round robin es 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 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 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 período (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.

Round Robin es un algoritmo de planificación de procesos simple de implementar, dentro de un sistema operativo se asigna a cada proceso una porción de tiempo equitativa y ordenada, tratando a todos los procesos con la misma prioridad. En Sistemas operativos, la planificación Round Robin da un tiempo máximo 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, primero llegado, primero atendido.

[editar]Pasos de ciclos

Para averiguar los pasos de ciclos de procesos totales se toman todos los números de procesos y se calculan con los procesos necesarios para la realización de estos...

Suponga que hay tres procesos y se desea averiguar cuanto tarda.

proceso A: 3 veces

proceso B: 4 veces

proceso C: 5 veces

siguiendo

[editar]Planificación circular

Este algoritmo de planificación, conocido por Round robin, está diseñado especialmente para sistemas de tiempo compartido. Se define un intervalo de tiempo denominado cuanto, cuya duración varía según el sistema. La cola de procesos se estructura como una cola circular. El planificador la recorre asignando un cuanto de tiempo a cada proceso. La organización de la cola es FIFO. El cuanto se suele implantar mediante un temporizador que genera una interrupción cuando se agota el cuanto de tiempo. Si el proceso agota su ráfaga de CPU antes de finalizar el cuanto, el planificador 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 Duración de la ráfaga tw P1 24 6 P2 3 4 P3 3 7

¯tw = 5,66: Tiempos de proceso y de espera según la planificación RR.

Vemos que el tiempo de espera podría ser inferior, por ejemplo 3 unidades para el algoritmo SJF. 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. Ningún proceso debe esperar más de (n − 1)q unidades de tiempo antes de recibir servicio. El rendimiento del algoritmo depende mucho del tamaño del cuanto. Si se utiliza un valor muy grande el algoritmo tiende a degenerar hacia el FCFS. Si el tamaño del cuanto es muy pequeño, 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 pérdida de la CPU. Una regla empírica dice que el cuanto de tiempo debe ser inferior al 80 % de las ráfagas de CPU.

[editar]Aplicación en redes

La planificación Round Robin puede ser aplicada también a otros problemas de planificación, como la planificación de redes. En las redes inalámbricas, donde varios servidores comparten un mismo canal, este algoritmo provee a cada servidor un intervalo regular de tiempo para transmitir o recibir información 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 difícil proveer un buen servicio a los suscriptores. El operador de la red también sufrirá capacidad reducida en la red. La causa principal es que este algoritmo no tiene en cuenta el cambio de condiciones de recepción en los diferentes receptores, por lo que planeará transmisiones desde/hacia los suscriptores de la mitad de tiempo cuando sus condiciones de recepción sean peores que las habituales. En contraste, el planeamiento de proporcionalidad justa tendrá en cuenta el cambio de condiciones de recepción en los diferentes receptores y agendará las transmisiones desde/hacia los suscriptores cada vez que las condiciones de recepción estén peores que lo normal.

En ciencias de la computación, el problema del barbero durmiente es un problema de sincronización. El problema consiste en una barbería en la que trabaja un barbero que tiene un único sillón de barbero y varias sillas para esperar. Cuando no hay clientes, el barbero se sienta en una silla y se duerme. Cuando llega un nuevo cliente, éste o bien despierta al barbero o —si el barbero está afeitando a otro cliente— se sienta en una silla (o se va si todas las sillas están ocupadas por clientes esperando). El problema consiste en realizar la actividad del barbero sin que ocurran condiciones de carrera. La solución implica el uso de semáforos y objetos de exclusión mutua para proteger lasección crítica.

Un semáforo es una variable protegida (o tipo abstracto de datos) que constituye el método clásico para restringir o permitir el acceso a recursos compartidos (por ejemplo, un recurso de almacenamiento) en un entorno de multiprocesamiento. Fueron inventados por Edsger Dijkstra y se usaron por primera vez en el sistema operativo THEOS.

En electrónica y en programación concurrente, se conoce como condición de carrera al error que se produce en programas o circuitos lógicos que no se han construido adecuadamente para su ejecución simultánea con otros procesos.

Como se usa

 El próximo código garantiza la sincronización entre el barbero y el cliente, pero puede llevar a que el cliente se quede sin silla. P() y V() son funciones provistas por el semáforo.

 Se

...

Descargar como (para miembros actualizados)  txt (16.8 Kb)  
Leer 10 páginas más »
Disponible sólo en Clubensayos.com