Planificador Completamente Justo

Planificador Completamente Justo

Planificador Completamente Justo

Algoritmo planificador desarrollado con la meta de maximizar el uso de la CPU con las diferentes tareas que se lanzan en un sistema Linux basándose en el Fair Queuing. Este planificador, apareció en la versión del núcleo Linux 2.6.23[1] para sustituir al proceso planificardor O(1) incluido en los núcleos anteriores, siendo desarrollado inicialmente por Ingo Molnar. Este planificador fue desarrollado en 62 horas con 100 Kbytes de código añadido.[2]

Contenido

Meta

Este algoritmo tiene como objetivo el maximizar el uso de la CPU pero permitiendo el uso interactivo de la máquina. Es decir, tratará de que en ningún momento un usuario vea una bajada de rendimiento.

Algoritmo

Con el planificador CFS se realiza un cambio radical en los planteamientos actuales de los planificadores incluidos en Linux, cambiando la planificación de manera que se base en tiempo, en nanosegundos, en vez de colas de ejecución donde hay tareas en espera, sino que se creará un árbol binario de búsqueda, red-black tree, en el que se almacenará una línea de tiempo de las futuras tareas que usarán la CPU. Ya no usará los jiffies, basado en los tick de la CPU, para expulsar a un proceso.

También hay que remarcar que no usará rodajas de tiempo (quantum) estáticas, sino que irán modificando dinámicamente según necesidades del sistema, con una granularidad definida en el fichero /proc/sys/kernel/sched_granularity_ns definido en nanosegundos.

Complejidad

Este planificador tiene una complejidad de planificación de O(log N), donde N es el número de tareas encoladas. Tiene la mejor complejidad en la elección de la tarea siguiente a ejecutar ya que es constante, pero insertar una tarea a ejecutar detrás supone O(log N), que corresponde con la implementación de la cola de procesos en forma de árbol.

Referencias

  1. «Novedades en el núcleo Linux 2.6.23 en kernelnewbies.org». Consultado el 2007-12-05.
  2. «Análisis de CFS en KernelTrap». Consultado el 2007-12-05.

Wikimedia foundation. 2010.

Игры ⚽ Нужна курсовая?

Mira otros diccionarios:

  • Planificador — El planificador (o scheduler en inglés) es un componente funcional muy importante de los sistemas operativos multitarea y multiproceso, y es esencial en los sistemas operativos de tiempo real. Su función consiste en repartir el tiempo disponible… …   Wikipedia Español

  • Ámsterdam — Para otros usos de este término, véase Ámsterdam (desambiguación). Ámsterdam Bandera …   Wikipedia Español

  • Anexo:Volúmenes de Detective Conan — Este artículo o sección sobre anime y manga necesita ser wikificado con un formato acorde a las convenciones de estilo. Por favor, edítalo para que las cumpla. Mientras tanto, no elimines este aviso puesto el 15 de abril de 2009. También puedes… …   Wikipedia Español

  • Emilio Mola — Monumento al general Mola en Alcocero de Mola (Burgos), la localidad en la que falleció. General de Brigada Años de serv …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”