First come first served (FCFS)
El primer proceso que entra es el primero en salir, el proceso que se ejecuta no parará hasta que finalice. Cuando un proceso llega a la cola se liga al final y queda esperando.Desventajas:
- Si se asigna un proceso largo a la CPU todos los demás permanecerán a la espera, produciendo el efecto convoy.
- Un proceso listo para ejecutarse pero con una prioridad muy baja puede no ejecutarse nunca, produciendo el efecto de inanición o bloqueo definitivo.
Shortest job first (SJF)
Se basa en ejecutar primero los procesos de menor tamaño y, si hay dos iguales, dar prioridad al que llegó antes. Este algoritmo reduce el tiempo medio de espera.Desventajas:
- Deberiamos predecir el tiempo que un proceso tarda en ejecutarse en función de ejecuciones anteriores.
Shortest remaining time first (SRT)
Tiene en cuenta el tiempo restante de ejecución y no el tiempo inicial. Si mientras se ejecuta un proceso llega otro con menor tiempo, este último echará al que se está ejecutando. Este algoritmo tiene un buen tiempo medio de servicio.Desventajas:
- Si se ejecuta un proceso largo, todos los procesos cortos que se ejecuten lo echarían y no podría acabar.
Round robin (RR)
Cada proceso tiene un tiempo para ejecutarse llamado quantum. Cuando un proceso llega se coloca al final de la cola. Se selecciona el primer proceso, se fija el tiempo y se ejecuta. Si el proceso requiere más tiempo que el quantum establecido volverá al final de la cola, y si requiere menos tiempo que el quantum se ejecutará el siguiente proceso de la cola.Desventajas:
- Caza vez que finaliza un quantum y haya que desplazar el proceso al final de la cola, hay que guardar los registros de ese proceso y restaurar los del nuevo, lo que provoca un coste extra. Esto se conoce como cambio de contexto.