Algoritmos de planificador

8
ALGORITMOS DE PLANIFICADOR Paola Jaime

Transcript of Algoritmos de planificador

Page 1: Algoritmos de planificador

ALGORITMOS DE PLANIFICADOR

Paola Jaime

Page 2: Algoritmos de planificador

POR PRIORIDADES

A cada proceso se le asigna un número de prioridad. Por lo que la esencia del algoritmo es planificar la entrada de procesos a la CPU de acuerdo a la prioridad asociada de cada uno de ellos.

Un caso particular del algoritmo por prioridad es el SJF (Shortest-Job-First) , donde el valor del próximo ciclo de CPU representa la prioridad. El algoritmo por prioridad corrige algunas deficiencias del SJF, particularmente el retraso excesivo de procesos largos y el favoritismo por procesos cortos.

Page 3: Algoritmos de planificador

COMO DETERMINAR LA PRIORIDAD DE CADA PROCESO Existe una disciplina de planificación no apropiativa en la

cual la prioridad de cada proceso no solo se calcula en función del tiempo de servicio (tiempo en la CPU) sino también del tiempo que ha esperado para ser atendido.

Con esta fórmula notamos que como el tiempo de servicio está en el denominador los procesos cortos tendrán preferencia, y como también el tiempo de espera aparece en el numerador los procesos largos que también han esperado, tendrán una prioridad favorable.

Page 4: Algoritmos de planificador

INANICIÓN Y ENVEJECIMIENTO

Uno de los problemas que puede presentar esta planificación es la de un bloqueo indefinido. Es decir, pudiera darse el caso que existan procesos de prioridad alta que harían que los procesos de prioridad baja queden bloqueados esperando por ellos, solo se desbloquearían cuando estos procesos de prioridad baja logren colocarse en la CPU y por ello puede darse una espera indefinida.

Es aquí donde se puede aplicar una técnica conocida como envejecimiento que irá incrementando la prioridad de los procesos en espera cada determinado tiempo hasta que estos se ejecuten.

Page 5: Algoritmos de planificador

EJEMPLO

La imagen muestra la cola de procesos. De acuerdo a este criterio los procesos entrarán a la CPU y no la cederán hasta no haber terminado, ya que es un algoritmo sin desalojo.

En el siguiente ejemplo se tienen 4 procesos (P1, P2, P3, P4). La tabla muestra los tiempos de ejecución de cada uno y su prioridad.

Page 6: Algoritmos de planificador

MÚLTIPLES COLAS REALIMENTADAS

Son una solución a la problemática que se presenta cuando en los sistemas operativos coexisten procesos con diferentes necesidades.

La política de planificación se basa en algún esquema predeterminado, que da un tratamiento especial a los trabajos de cada cola.

Para este algoritmo se requieren dos niveles de planificación:

* Planificación dentro de cada cola: Cada cola puede utilizar su propia política de planificación, de acuerdo a la clase de procesos que acoge, la cual puede ser usando diferentes algoritmos (FCFS, Round Robín, etc.).

* Planificación entre colas: Se le asigna una prioridad (P) a cada cola. Se le asigna un Quantum de CPU a cada cola, que se reparte

entre los procesos de cada cola.

Page 7: Algoritmos de planificador

EJEMPLO

Para la figura que se muestra, la primera cola en ser atendida es la cola de Procesos del Sistema, la cual tiene una prioridad (P) de 1, y solo después de haberse ejecutado todos los procesos de dicha cola, es que se atienden las próximas colas en dependencia de la prioridad, en caso de que lleguen nuevos procesos a la cola anteriormente atendida, esta vuelve a ser la de mayor prioridad y se deja de atender la cola presente para volver atender dicha cola.

El gráfico muestra las diferentes colas que pueden existir en "Colas Múltiples" (pueden haber menos colas o más colas), por ejemplo la cola para procesos del sistema tiene una prioridad (P) y un quantum de tiempo (Q) en la CPU diferente a las demás. Además las colas pueden estar implementadas con diferentes tipos de algoritmos ya sean con desalojo o sin desalojo. Es válido aclarar que las colas son atendidas en dependencia de su prioridad, por ejemplo:

Page 8: Algoritmos de planificador

INFOGRAFÍA http://www.udg.co.cu/cmap/

sistemas_operativos/planificacion_cpu/colas_multiples/Colas%20Multiples.html

http://www.udg.co.cu/cmap/sistemas_operativos/planificacion_cpu/prioridad/prioridad.html