Vous êtes sur la page 1sur 6

1.

Planificador de procesos a corto plazo, mediano plazo y largo plazo.

El planificador (o scheduler en ingls) es un componente funcional muy importante de los sistemas operativos multitarea y multiproceso, y es esencial en los sistemas operativos de tiempo real. Su funcin consiste en repartir el tiempo disponible de un microprocesador entre todos los procesos que estn disponibles para su ejecucin.

Planificador a Corto Plazo:

Cuando el CPU est ocioso, el sistema de operacin debe escoger un proceso de la cola de procesos listos. La seleccin es llevada a cabo por el Planificador a Corto Plazo. El planificador escoge entre los procesos que se encuentran en memoria listos para ejecutar y le asigna el CPU a uno de ellos. Este planificador es invocado cada vez que ocurra un evento que conlleve la interrupcin del proceso actual o cuando se quiera dar la oportunidad a algn otro proceso. El planificador a corto plazo debe escoger procesos constantemente. Por lo tanto debe ser bastante rpido para evitar desperdicio de tiempo.

Planificador a Mediano Plazo:

Algunos sistemas de operacin incluye un planificador a mediano plazo. La idea principal de este planificador es que en algunas ocasiones es necesario remover algunos procesos de memoria y de esta forma reducir el grado de multiprogramacin. Ms tarde el proceso podr ser reintroducido en memoria y su ejecucin continuar. Este esquema se conoce como swapping. Un proceso puede ser swapped out de memoria y despus swapped in por el planificador a mediano plazo.

Planificador a Largo Plazo:

Determina que programas son admitidos al sistema para su ejecucin. Por lo tanto, controla el grado de multiprogramacin. Una vez que el trabajo es admitido, el programa se convierte en proceso y es adicionado a la cola de procesos listos. Este planificador debe decidir si el sistema de operacin puede tomar uno o ms trabajos adicionales y qu trabajos van a ser aceptados. La decisin de cuando se crea un nuevo proceso va a depender del grado de multiprogramacin. Mientras ms procesos se tengan menos ser el porcentaje de tiempo que cada proceso podr ejecutar. Cada vez que termina un trabajo, el planificador puede decidir agregar uno o ms nuevos procesos. Algoritmos de planificacin Estos algoritmos deciden el proceso de la cola de procesos listos al que se le asigna CPU.
2.

Criterios para comparar algoritmos de planificacin: Equidad: procesos usan la CPU de forma equitativa. Eficiencia (utilizacin de la CPU): 100% uso. Tiempo de retorno (o de trabajo global): tiempo que tarda en ejecutarse un proceso concreto. Tiempo de respuesta: minimizar el tiempo de respuesta para Usuarios interactivos. Tiempo de espera: tiempo que un proceso espera en la cola de procesos listos. Rendimiento (productividad): nmero de trabajos procesados por unidad de tiempo. En los algoritmos que veremos calculamos el tiempo promedio en espera:

Algoritmo primero en llegar primero en ser servido

En este algoritmo, la carga de trabajo se procesa simplemente en un orden de llegada, es decir, todos los procesos hacen la cola de listos. Cuando el proceso actual deja de correr, el siguiente proceso en la cola de listos es seleccionado, esto quiere decir que un grupo de procesos puede esperar largos periodos de tiempo antes de ser ejecutados. Este algoritmo favorece los procesos con carga del procesador en lugar los que tienen carga de E/S.

Algoritmo por turno rotatorio (Algoritmo Round Robin)

En entornos interactivos tales como sistemas de tiempo compartido, el requisito principal es proporcionar tiempos de espera razonablemente buenos y compartir los recursos del sistema equitativamente entre los usuarios. Este algoritmo previene el uso del sistema basado en un reloj, adems, cada quantum de tiempo un proceso usa la CPU por lo que las interrupciones de reloj se generan en intervalos fijos. Cuando ocurre una interrupcin, el proceso en ejecucin es colocado en la cola de listos y el siguiente proceso es seleccionado.

Algoritmo siguiente proceso ms corto

Este algoritmo selecciona al proceso con el prximo tiempo de ejecucin ms corto. Un proceso corto saltar a la cabeza de la cola. La ejecucin de un proceso consiste en ciclos de ejecucin de CPU y ciclos de espera por E/S. El algoritmo selecciona aquel proceso cuyo prximo ciclo de ejecucin de CPU sea menor. El problema est en conocer dichos valores, pero podemos predecirlos usando la informacin de los ciclos anteriores ejecutados.

Algoritmo basado en prioridades

En este algoritmo, cada proceso del sistema est asignado a un nivel de prioridad y el planificador siempre elige el proceso preparado con prioridad ms alta. Estas prioridades pueden ser estticas o dinmicas; la prioridad esttica no variar a lo largo del ciclo de vida del proceso mientras que la dinmica si puede hacerlo. Un problema que presenta un esquema de planificacin por prioridades puro es que los procesos con la prioridad ms baja pueden sufrir de inanicin o bloqueo indefinido. Un proceso que est listo para correr debe esperar porque siempre hay procesos con prioridad ms alta, para evitar este problema, se puede ir incrementando gradualmente la prioridad de los procesos (envejecimiento). Algoritmo Tasa de Respuesta ms alta Corrige algunas deficiencias del algoritmo siguiente proceso ms corto, particularmente el retraso excesivo de trabajos largos y el favoritismo excesivo para los trabajos cortos. Es un disciplina de planificacin no apropiativa en la cual la prioridad de cada proceso no slo se calcula en funcin del tiempo de servicio, sino tambin del tiempo que ha esperado para ser atendido. Cuando un trabajo obtiene el procesador, se ejecuta hasta terminar. Las prioridades dinmicas en este algoritmo se calculan de acuerdo con la siguiente expresin: Prioridad = (tiempo de espera + tiempo de servicio) / tiempo de servicio Como el tiempo de servicio aparece en el denominador, los procesos cortos tendrn preferencia. Pero como el tiempo de espera aparece en el numerador, los procesos largos que han esperado tambin tendrn un trato favorable. Obsrvese 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. Algoritmo por el Comportamiento Con este tipo de planificacin se pretende garantizar al usuario cierta prestacin del sistema y tratar de cumplirla. Si en un sistema tenemos n' usuarios lo normal ser garantizar a cada uno de ellos al menos 1/n de la potencia del procesador.
Para ello necesitamos del tiempo consumido por el procesador y el tiempo que lleva el proceso en el sistema. La cantidad de procesador que tiene derecho a consumir el proceso ser el cociente entre el tiempo que lleva en el sistema entre el nmero de procesos que hay en el sistema. A esa cantidad se le puede asociar una prioridad que vendr dada como el cociente entre tiempo de procesador que ha consumido y el tiempo que se le prometi (el tiempo que tiene derecho a consumir). De tal modo que si esa proporcin es de 0.5 significa que tan slo ha consumido la mitad del tiempo prometido pero si es de 2 quiere decir que ha consumido ms de lo debido, justamente el doble.

3.

Planificacin de servicio por orden de llegada

Se lo conoce por FCFS (first come, first served). El proceso que primero solicita la CPU, primero la recibe. Se implementa con una cola FIFO. El problema es que el tiempo de espera promedio suele ser muy largo. Si los procesos se atienden por orden de llegada:

4.

Planificacin de primero, el trabajo mas corto

Es una disciplina no apropiativa y por lo tanto no recomendable en ambientes de tiempo compartido. El proceso en espera con el menor tiempo estimado de ejecucin hasta su terminaciones el siguiente en ejecutarse. Los tiempos promedio de espera son menores que con FIFO. Siempre se elige el proceso que tiene la rfaga de CPU ms corta, eligiendo de forma similar a la anterior, a los procesos con rfagas de igual duracin (orden de llegada). Es conocido como shortest job first (SJF).Este algoritmo de planificacin es ptimo, ya que el tiempo de espera promedio es mnimo. Lo realmente difcil, es conocer la duracin de la siguiente solicitud del CPU. Se puede usar como duracin lmite, el tiempo que el usuario especfica, por lo tanto los usuarios deben

calcular los tiempos de forma precisa, para que su solicitud sea atendida lo ms rpido posible (si ponen un valor demasiado bajo, causaran error de tiempo excedido, teniendo que presentar el trabajo nuevamente).No hay forma de conocer la duracin de la siguiente rfaga. Una forma, es tratar de aproximar esta planificacin. No conocemos la duracin, pero quizs podamos predecir su valor.
5.

Planificacin por prioridad

Las ideas centrales son que cada proceso tiene asociada una prioridad y que el proceso ejecutable con mxima prioridad es el que tiene el permiso de ejecucin. Los procesos de alta prioridad podran ejecutar indefinidamente, ya que el planificador del sistema puede disminuir la prioridad del proceso en ejecucin en cada interrupcin del reloj. Las prioridades tambin pueden ser asignadas dinmicamente por el sistema para lograr ciertas metas relacionadas con el procesador o la Entrada / Salida. Los procesos limitados por la Entrada / Salida (requerimientos intensivos de Entrada/ Salida) ocupan mucho de su tiempo en espera de operaciones de Entrada / Salida, por lo tanto: Deben tener prioridad para usar la cpu y efectuar la siguiente peticin de Entrada/Salida, ya que se ejecutar (la operacin de Entrada / Salida) en paralelo con otro proceso que utilice la cpu. Si deben esperar mucho tiempo a la cpu estarn ocupando memoria por un tiempo innecesario.
6.

Planificacin por turno circular

Round Robin es un algoritmo de planificacin de procesos simple de implementar, dentro de un sistema operativo se asigna a cada proceso una porcin de tiempo equitativa y ordenada, tratando a todos los procesos con la misma prioridad. Este es uno de los algoritmos ms antiguos, sencillos y equitativos en el reparto de la CPU entre los procesos, muy vlido para entornos de tiempo compartido. Cada proceso tiene asignado un intervalo de tiempo de ejecucin, llamado cuantum o cuanto. Si el proceso agota su cuantum de tiempo, se elige a otro proceso para ocupar la CPU. Si el proceso se bloquea o termina antes de agotar su cuantum tambin se alterna el uso de la CPU. El round robin es muy fcil de implementar. Todo lo que necesita el planificador es mantener una lista de los procesos listos, como se muestra en la figura 6.2. En esta figura en a) el proceso P4 ocupa la CPU. En b) P4 se bloquea pasando P2 a ocupar la CPU. En c) P2 agota su cuantum con lo que pasa al final de la lista y P4 ocupa la CPU.

Vous aimerez peut-être aussi