¿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
Publicar un comentario