Tipos de algoritmos de planificacion de CPU
- FIFO (First In Fist Out): es un algoritmo no apropiativo:
- Funcion de seleccion: se selecciona el proceso que lleve mas tiempo
en la cola de listos.
- SJF (Shortest Job First): es un algoritmo no apropiativo:
- Funcion de seleccion: se selecciona el proceso que tenga la rafaga
de CPU mas corta de la cola de listo.
- SRT (Shortest Remainig Time): es apropiativo, tiene un parametro (umbral):
- Funcion de seleccion: se selecciona el proceso que le quede la rafaga
de CPU mas corta de la cola de listo (el menor tiempo estimado de
rafaga - tiempo servida de la rafaga)
- Apropiacion: cuando llega un nuevo proceso a la cola de listos con
un valor menor de tiempo rafaga restante, se apropia la CPU si el
tiempo restante para el proceso que esta en la CPU es mayor que el
umbral, sino (si es menor que el umbral) se le deja que termine.
- PriAp (Por prioridades apropiativo): es apropiativo:
- Funcion de seleccion: se selecciona el proceso de mayor prioridad
- Apropiacion: cuando llega a la cola de listos un procesos con
mayor prioridad que el que tiene la CPU.
- PriNAp (Por prioridades no apropiativo): no es apropiativo:
- Funcion de seleccion: se selecciona el proceso con mayor prioridad
- RR (Round Robin): es apropiativo, tiene un parametro (quantum):
- Funcion de seleccion: se selecciona el proceso que lleve mas
tiempo en la cola de listos, y se le asigna la CPU durante quantum
unidades de tiempo.
- Apropiacion: cuando el proceso de la CPU lleve quantum unidades de
tiempo con la CPU
- ML (Multi Level): puede ser apropiativo entre colas o no serlo (es un
parametro). El otro es el numero de colas (y los algoritmos de cada una
de ellas, que seran algoritmos simple, no multinivel):
- Funcion de seleccion: se selecciona el proceso que nos seleccione
el algoritmo de la cola mas baja que haya con procesos (con mas baja
me refiero a que la cola con numero mas baja tiene prioridad sobre la
de numero mas alto). Cada proceso tiene un numero de cola y a esa ira siempre.
- Apropiacion: si el algoritmo entre colas es apropiativo, se
apropia cuando hay una cola con mas prioridad con un algun proceso
esperando
- MLF (Multi Level Feedback): es apropiativo pro quantum entre
colas. Tiene como parametros el numero de colas y los quantums, vueltas de maximo y tiempo
de espera maximo de cada cola.
- Funcion de seleccion: se selecciona el proceso que nos seleccion
la cola que tenga en ese momento la CPU. Cada cola tiene la CPU
durante el tiempo que indique su quantum, y se la asigna al proceso
que lleve mas tiempo en la cola. Si un proceso se le asigna la CPU
maximo de vueltas veces y no pasa a Bloqueado, ese proceso baja a una
cola inferior. Si un proceso lleva mas tiempo en la cola que su tempo
espera maximo, subira a una cola superior.
- Apropiacion: cuando una cola lleve mas de su quantum con la CPU
Notas:
Como tiempo estimado de ejecucion de los procesos se tomara su tiempo real de ejecucion
La prioridad, a mayor numero mas prioridad
Como regla de arbitraje se seleccionará, en caso de empate en el
algoritmo de selección entre varios procesos, el que haya sido
introducido en la cola primero (de los que están empatados).
Recordar que los pasos en la simulación son: primero se pasan los
procesos de nuevos a listos, despues paso de bloqueados a listos, y
por ultimo se pasa a CPU a listos.
En caso de que tambien haya empate (haya dos procesos que hayan pasado
de la misma cola a la de listos) se tomará el proceso que tubiera la
posición más adelantada de la cola (más a la derecha).