Paola Jaime
   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.
   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.
   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.
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.




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.
   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.
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:


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.
 http://www.udg.co.cu/cmap/sistemas_oper
 ativos/planificacion_cpu/colas_multiples/Col
 as%20Multiples.html

 http://www.udg.co.cu/cmap/sistemas_oper
 ativos/planificacion_cpu/prioridad/prioridad
 .html

Algoritmos de planificador

  • 1.
  • 2.
    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.
  • 3.
    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.
  • 4.
    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.
  • 5.
    En el siguienteejemplo se tienen 4 procesos (P1, P2, P3, P4). La tabla muestra los tiempos de ejecución de cada uno y su prioridad. 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.
  • 6.
    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.
  • 7.
    El gráfico muestralas 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: 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.
  • 8.
     http://www.udg.co.cu/cmap/sistemas_oper ativos/planificacion_cpu/colas_multiples/Col as%20Multiples.html  http://www.udg.co.cu/cmap/sistemas_oper ativos/planificacion_cpu/prioridad/prioridad .html