1. Programación de colas de varios niveles (MLQ) :
Es bastante difícil tener una sola cola y programar todos los procesos. Aquí es donde se utiliza la programación de colas de varios niveles. En esto, los procesos se dividen en varias clases según la propiedad de los procesos, como el proceso del sistema, el proceso de E/S, etc. Por lo tanto, obtenemos ‘n’ número de colas para n clases de procesos. A cada cola se le asigna una prioridad y puede usar su propio algoritmo de programación, lo que facilita el uso de muchos algoritmos de programación al mismo tiempo. Generalmente, el nivel superior de la cola tiene la prioridad más alta, que disminuye a medida que avanzamos a los niveles inferiores. Si el nivel superior tiene una prioridad absoluta sobre los niveles inferiores, entonces no es preventivo; de lo contrario, si el intervalo de tiempo se divide entre varias colas, se vuelve de naturaleza preventiva.
- Ventajas:
La principal ventaja de este algoritmo es que podemos usar varios algoritmos como FCFS, SSJF, LJF, etc. al mismo tiempo en diferentes colas. - Desventajas:
Los procesos de nivel más bajo sufren problemas de inanición.
2. Algoritmo de programación por orden de llegada (FCFS) :
es el algoritmo de programación más simple y no preventivo . En First Come First Served (FCFS), el proceso se asigna a la CPU en el orden de llegada. Se utiliza una estructura de datos de cola para implementar el algoritmo de programación FCFS. El proceso que está a la cabeza de la cola de listos se asigna a la CPU, cuando la CPU está libre. Luego, el proceso que se está ejecutando se elimina de la cola. Cuando un nuevo proceso entra en la cola de procesos listos, se coloca al final de la cola de procesos listos.
Diferencia entre FCFS y la programación de colas de varios niveles:
Primero en llegar, primero en ser atendido (FCFS) | Programación de colas de varios niveles |
---|---|
First Come First Served (FCFS) es el algoritmo de programación no preventivo. | MLQ puede ser no preventivo o preventivo dependiendo de las condiciones. |
Ejecuta los procesos en orden ascendente de su hora de llegada. | Los procesos se ejecutan según la prioridad de ese nivel particular de cola al que pertenece el proceso. La selección adicional de procesos se basa en el tipo de algoritmo utilizado en esa cola en particular. |
FCFS tiene la sobrecarga mínima. | MLQ tiene cierta sobrecarga de CPU, ya que necesita cambiar entre las colas. |
El algoritmo de programación First Come First Served proporciona un alto tiempo de respuesta para los procesos. | El tiempo de respuesta puede ser alto o bajo según los algoritmos utilizados en varios niveles de la cola de varios niveles. |
FCFS es inconveniente de usar en el sistema de tiempo compartido. | Se puede implementar en cualquier sistema dependiendo de la necesidad. |
El tiempo de espera promedio generalmente no es mínimo en el algoritmo de programación por orden de llegada. | El tiempo de espera promedio depende de los algoritmos utilizados en varios niveles de colas. |
Es el tipo de algoritmo más simple. | Es un algoritmo complejo y es difícil de implementar. |
Conduce al efecto convoy. | Conduce a la inanición de los procesos en los niveles inferiores. |