versiones sistema qué operativo licencia informacion distribuye definicion bajo linux scheduling operating-system

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 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

  1. el trabajo más corto primero
  2. Horario de Round Robin
  3. 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):

http://kerneltrap.org/node/7637