2009-10-21 15 views
18

¿Qué algoritmos de programación utiliza el kernel de 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)

+0

Qué quiere decir el "algoritmo de programación que usa el kernel de Linux"? –

+0

mm quizás, mi inglés no es bueno. Quiero decir, FCFS, round robin o qué usa el kernel de Linux para manejar los procesos. – Nick

+0

Es un poco viejo, pero intente leer [esta página] (http://web.archive.org/web/20141016155917/http://oreilly.com/catalog/linuxkernel/chapter/ch10.html). (Esto se publicó anteriormente como una respuesta separada, que recibió 4 votos favorables. Desafortunadamente, parece que la política de este sitio hacia respuestas tan útiles, incluso aquellas que han ayudado a las personas durante _7 años, es que deberían eliminarse ...) – user200783

Respuesta

7

El kernel de Linux tiene varios diferentes algoritmos de programación disponibles tanto para la planificación de procesos y para la programación de E/S. Puedes descargarlo desde www.kernel.org y llamar

make menuconfig 

obtendrá una lista completa de todas las opciones disponibles con una ayuda integrada. Un tipo que una vez se le ocurrió su planificador O (1) es Con Kolivas. Definitivamente hay que echar un vistazo a lo que hizo. Una vez fui un gran avance.

+1

Sería Sé agradable si puedes mencionar la categoría en menuconfig que los planificadores se pueden encontrar. – recluze

0

Creo que el kernel de Linux en realidad tiene unos pocos planificadores 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 explorarlo en línea) y buscar en el directorio Documentation. Por ejemplo, el subdirectorio scheduler puede ser útil. También puedes simplemente mirar el código en sí, obviamente.

+0

El programador IO tiene diferentes algoritmos. El planificador de procesos no. –

2

Como ya se ha mencionado, existen varios algoritmos de programación disponibles, de acuerdo con el uso previsto.

Compruebe this article si desea obtener más información sobre la programación en Linux.

0

Linux Kernel permite tres diferentes algoritmos de planificación, principalmente

  1. trabajo más corto primero Ronda
  2. Robin Programar
  3. Algoritmo de planificación preventiva basada en la prioridad.

El tercer método de programación, que se diferencia de la versión inferior de las versiones de Linux, tales como 2,4

+2

¿cómo puede hacer SJF sin conocer la duración de los trabajos antes de la mano? – pinkpanther

+0

@pinkpanther. Observa sus comportamientos pasados ​​y los mueve hacia arriba y hacia abajo en las colas de prioridad en consecuencia. –

5

Si lo que desea es comprobar lo Programador de su sistema Linux está utilizando y que están disponibles puede ejecutar el siguiente comando:

cat /sys/block/sda/queue/scheduler 

la que existe entre el [] es la que está usando en ese momento. Los otros están disponibles. para cambiarlo:

sudo bash -c 'echo deadline > /sys/block/sda/queue/scheduler' 

tener cuidado para configurarlo de nuevo a por defecto, sin embargo, a menos que sepa lo que está haciendo y desea.

por defecto (en las nuevas distribuciones de Ubuntu por lo menos) es CFQ (Programación Completamente Feria):

http://en.wikipedia.org/wiki/CFQ

Entrevista con el creador (Jens Axboe):

http://kerneltrap.org/node/7637

Cuestiones relacionadas