Importancia de la planificación de hilos y procesos del procesador

Teniendo en cuenta que cada día encontramos procesadores más rápidos, ¿Por qué sigue siendo necesario planificar los procesos que pasan por el procesador?


Cada día se observan procesadores mucho más rápidos, a los que se les va a poder asignar muchos más procesos al mismo tiempo, y para que haya un buen aprovechamiento de la velocidad y una óptima respuesta, el sistema operativo es el encargado de decidir qué procesos entran en la CPU cuando ésta queda libre, y en qué momento sale de la CPU el proceso que está en ejecución, todo ello se lleva a cabo a través de una política de planificación de procesos, lo que se debe conseguir es que los procesos obtengan adecuadamente sus turnos de ejecución por lo que son tratados de la misma forma, que no se produzca sobrecarga, es decir, el planificador debe responder rápidamente ante cargas de trabajo ligera y responder de la misma forma ante cargas de trabajo similares. Y obtener un buen rendimiento, por lo que se debe lograr finalizar el mayor número de procesos y maximizar el tiempo de respuesta. 




¿Qué implicaciones presenta en la eficiencia del procesador trabajar con hilos en vez de trabajar sólo con procesos?

Si bien los hilos son generados a partir de la creación de un proceso, podemos decir que un proceso es un hilo de ejecución, conocido como Monohilo. Pero las ventajas de los hilos se dan cuando hablamos de Multihilos, que es cuando un proceso tiene múltiples hilos de ejecución los cuales realizan actividades distintas, que pueden o no ser cooperativas entre sí. Los beneficios de los hilos se derivan de las implicaciones de rendimiento.

Se tarda mucho menos tiempo en crear un hilo nuevo en un proceso existente que en crear un proceso. 

Se tarda mucho menos en terminar un hilo que un proceso, ya que cuando se elimina un proceso se debe eliminar el BCP1​ del mismo, mientras que un hilo se elimina su contexto y pila.

Se tarda mucho menos tiempo en cambiar entre dos hilos de un mismo proceso.

Los hilos aumentan la eficiencia de la comunicación entre programas en ejecución. En la mayoría de los sistemas en la comunicación entre procesos debe intervenir el núcleo para ofrecer protección de los recursos y realizar la comunicación misma. En cambio, entre hilos pueden comunicarse entre sí sin la invocación al núcleo. Por lo tanto, si hay una aplicación que debe implementarse como un conjunto de unidades de ejecución relacionadas, es más eficiente hacerlo con una colección de hilos que con una colección de procesos separados.

Comentarios