¿Qué algoritmos de programación utiliza cada sistema operativo común?

No conozco ninguna buena documentación para el planificador en Windows 7, pero es un esquema de ida y vuelta con pesos para la prioridad y un mecanismo de retroalimentación de ajuste de prioridad. Admite prioridades de proceso y clases de programación que afectan al planificador.

Linux tiene varios algoritmos de programación de CPU configurables: el programador completamente justo, el programador O (1), el programador Brain Fuck, el antiguo programador O (n), y hay un parche que implementa la primera programación de la fecha límite más temprana. Al igual que con Windows 7, los procesos individuales pueden recibir diferentes prioridades y clases de programación (llamadas políticas de programación en Linux).

El significado y el efecto de la clase / políticas de programación es bastante diferente entre los sistemas operativos. En Windows, la clase parece comportarse más como un modificador inmutable de la prioridad del proceso, mientras que en Linux, en lugar de ponderar la prioridad de programación, llama a una lógica diferente para programar el proceso.

Tanto Linux como Windows también tienen la noción de prioridad de subproceso y la clase / prioridad de programación también. En Windows, la clase de programación de subprocesos está subordinada a la programación del proceso, mientras que en Linux, más o menos sigue la misma semántica.

Por lo general, el sistema operativo del día a día utilizaba una programación justa. Significa que todas sus aplicaciones pueden ejecutarse en la CPU durante una cantidad de tiempo en un tiempo cuántico. Estos pueden ser cambiados al menos para Linux por el usuario compilando el núcleo apropiadamente. Otros sistemas operativos que pueden usarse para fines específicos (como en ciertos sistemas integrados) usan su propio programador. Varía según el dispositivo y la aplicación.