sistema - ¿Qué algoritmos de programación utiliza el kernel de Linux?
versiones de gnu linux (7)
Como otros ya han mencionado, hay varios algoritmos de programación disponibles, de acuerdo con el uso previsto.
Consulte este artículo si desea obtener más información sobre la programación en Linux.
¿Qué algoritmos de programación utiliza el kernel de Linux?
¿Dónde puedo obtener más información sobre el kernel de linux? (OS primer curso ... nivel de estudiante)
Creo que el "planificador completamente justo" está en uso con los últimos kernels. Creo que puedes obtener una buena cantidad de información si la buscas en google.
enlace: http://en.wikipedia.org/wiki/Completely_Fair_Scheduler
Creo que el kernel de Linux en realidad tiene algunos programadores diferentes que puede elegir en tiempo de compilación. Para obtener más información sobre el kernel de Linux, puede descargar el código fuente del kernel (o examinarlo en línea) y buscar en el directorio de documentación. Por ejemplo, el subdirectorio del scheduler podría ser útil. También puede simplemente mirar el código en sí, obviamente.
El kernel de Linux tiene varios algoritmos de programación disponibles diferentes tanto para la programación del proceso como para la programación de E / S. Descárgalo de www.kernel.org y llama
make menuconfig
Obtendrá una lista completa de todas las opciones disponibles con una ayuda integrada. Un tipo que una vez tuvo su programador O (1) es Con Kolivas . Definitivamente hay que echar un vistazo a lo que hizo. Una vez fui un gran avance.
Linux Kernel permite tres algoritmos de programación diferentes principalmente
- el trabajo más corto primero
- Horario de Round Robin
- Prioridad basada en algoritmo de programación preferente.
El tercer método de programación, que difiere con las versiones inferiores de las versiones de Linux, como 2.4.
Si solo desea comprobar qué programador está utilizando su sistema Linux y cuáles están disponibles, puede ejecutar el siguiente comando:
cat /sys/block/sda/queue/scheduler
El que está entre [] es el que está usando en este momento. Los otros están disponibles. Para cambiarlo:
sudo bash -c ''echo deadline > /sys/block/sda/queue/scheduler''
Sin embargo, tenga cuidado de restablecerlo a su valor predeterminado, a menos que sepa lo que está haciendo y lo que quiere.
El valor predeterminado (al menos en las distribuciones de Ubuntu más recientes) es CFQ (programación completamente justa):
http://en.wikipedia.org/wiki/CFQ
Entrevista con el creador (Jens Axboe):
Una nueva adición a Linux Kernel es EDF (Primera fecha límite primero) para el soporte garantizado en tiempo real http://lkml.org/lkml/2009/9/22/186 http://www.evidence.eu.com/content/view/313/390/