Soy nuevo en el kernel de Linux y en la programación de bajo nivel. Quería saber cómo se supone que el programador de Linux es O (1) en complejidad de tiempo.Comprensión del programador de Linux
me encontré con el siguiente artículo que es muy informativo, pero tengo un problema en la comprensión de la pargraph He reproducido a continuación http://www.ibm.com/developerworks/linux/library/l-scheduler/
La tarea del programador es simple: seleccione la tarea en la más alta prioridad lista para ejecutar Para que este proceso sea más eficiente, se usa un mapa de bits para definir cuándo las tareas están en una lista de prioridades dada. Por lo tanto, en la mayoría de las arquitecturas, una instrucción find-first-bit-set es utilizada para encontrar el bit de prioridad más alta establecido en una de cinco palabras de 32 bits (para las 140 prioridades). El tiempo que lleva encontrar una tarea para ejecutar no depende del número de tareas activas, sino del número de prioridades . Esto hace que el programador 2.6 sea un proceso O (1) porque el tiempo de programación es fijo y determinista independientemente del número de tareas activas .
¿Por qué 5 palabras de 32 bits para 140 colas? ¿Quién la instrucción find-first-bit-set ayuda a seleccionar una de las 140 colas?
Gracias. Mi pregunta es muy antigua y obtuve bien mi respuesta. –