En términos generales, podría clasificar la programación en:
* preventivo versus no preventivo: La programación preventiva permite interrumpir y reanudar un proceso más tarde, mientras que la programación no preventiva ejecuta un proceso para su finalización antes de cambiar.
* a largo plazo, mediano y corto plazo: Estas categorías se refieren a la escala de tiempo de la decisión de programación. Acuerdos a largo plazo con la admisión de trabajos en el sistema, acuerdos a mediano plazo con los procesos de intercambio dentro y fuera de la memoria principal, y acuerdos a corto plazo con la selección del siguiente proceso para ejecutar desde la cola lista.
Dentro de esas amplias categorías, entonces tiene muchos algoritmos y enfoques específicos, incluidos, entre otros::
* por primera vez, por orden (FCFS)
* El trabajo más corto primero (SJF) (existen versiones preventivas y no preventivas)
* Programación de prioridad (existen varios esquemas de asignación de prioridad)
* Round Robin
* Programación de colas multinivel
* Programación de la cola de retroalimentación multinivel
* Primero de tiempo restante más corto (SRTF)
* Relación de respuesta más alta Siguiente (HRRN)
Por lo tanto, no hay un número único. El número de "tipos" depende de qué tan granular desee que sea su clasificación. Existen docenas de algoritmos de programación específicos, y las variaciones en esos algoritmos agregan aún más posibilidades.