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

 

¿Por qué sigue siendo necesario planificar los procesos que pasan por el procesador?

Los hilos son un mecanismo que permite mejorar el rendimiento de los sistemas operativos tratando de reducir la sobrecarga producida por el cambio de contexto entre procesos.

En sistemas operativos, un hilo de ejecución o subproceso es una característica que permite a una aplicación realizar varias tareas a la vez (concurrentemente). Un hilo es básicamente una tarea que puede ser ejecutada en paralelo con otra tarea.

Los hilos permiten la combinación del paralelismo con la ejecución secuencial y el bloqueo de las llamadas al sistema. Consideramos el ejemplo del servidor de archivos con sus posibles organizaciones para muchos hilos de ejecución. 

Necesitan poca memoria.  
Tienen un bajo coste de creación.
Tienen un bajo coste de sincronización.
Comparten el mismo espacio de direcciones.
Pueden progresar independientemente unos de otros.




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

El principal trabajo del procesador es ejecutar las instrucciones de máquina que se encuentran en memoria principal. Estas instrucciones se encuentran en forma de programas. Para que un programa pueda ser ejecutado, el sistema operativo crea un nuevo proceso, y el procesador ejecuta una tras otra las instrucciones de este. En un entorno de multiprogramación, el procesador intercalará la ejecución de instrucciones de varios programas que se encuentran en memoria. 

El sistema operativo es el encargado de decidir qué procesos entran en la CPU cuando esta 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. 



Los objetivos de la planificación del procesador son los siguientes e involucran a los conceptos detallados seguidamente.

Ser justa: Todos los procesos son tratados de igual manera. Ningún proceso es postergado indefinidamente.

Maximizar la capacidad de ejecución: Maximizar el número de procesos servidos por unidad de tiempo.

Maximizar el número de usuarios: interactivos que reciban unos tiempos de respuesta aceptables: En un máximo de unos segundos.

Ser predecible: Un trabajo dado debe ejecutarse aproximadamente en la misma cantidad de tiempo independientemente de la carga del sistema.

Minimizar la sobrecarga: No suele considerarse un objetivo muy importante.

Equilibrar el uso de recursos: Favorecer a los procesos que utilizarán recursos infrautilizados.

Evitar la postergación indefinida: Se utiliza la estrategia del envejecimiento Mientras un proceso espera por un recurso su prioridad debe aumentar, así la prioridad llegará a ser tan alta que el proceso recibirá el recurso esperado.

Asegurar la prioridad: Los mecanismos de planificación deben favorecer a los procesos con prioridades más altas.


Planificación de Procesos





Comentarios