miércoles, 12 de mayo de 2021

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

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

La planificación de procesos permite mediante diferentes métodos que se ejecuten en orden ciertas tareas dentro del sistema operativo, es así como se efectúan las ejecuciones con equidad, maximizando la utilización de la CPU y la productividad, minimizando el tiempo de espera, el tiempo de retorno y el tiempo de respuesta, para esto se utilizan diferentes algoritmos que permiten el cumplimiento de los objetivos anteriormente descritos, para determinar el algoritmo más eficiente que se debe utilizar, se tiene en cuenta el tiempo de espera y el tiempo de retorno. Los algoritmos que se utilizan son: FIFO, SJF, por prioridad, round robin.



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

La creación de un nuevo hilo de ejecución o subproceso, es una característica que permite a una aplicación realizar varias tareas a la vez (al mismo tiempo), estos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos o situaciones de autenticación. Esta técnica permite simplificar el diseño de una aplicación que debe llevar a cabo distintas funciones simultáneamente, teniendo en cuenta esto, un hilo puede ejecutar dos tareas paralelamente, asignándosele porciones de tiempo por el núcleo, en sistemas con un solo procesador, el núcleo divide el tiempo asignado a cada hilo para simular la ejecución simultánea de hilos, en sistemas de más de un procesador, los hilos pueden ejecutarse simultáneamente, del mismo modo que varios procesos.

Sin embargo los hilos comparten la misma ubicación en memoria y los independientes pueden acceder a las mismas variables en memoria, de este modo todos los hilos del programa pueden leer o escribir a los enteros declarados globalmente, estando sincronizados, todos los hilos pueden leer o modificar las estructuras de datos de los programas, lo que no se puede lograr fácilmente y sin costo adicional con la utilización de procesos separados, lo que evita problemas de comunicación y aumenta el rendimiento, sin costo adicional. Así mismo los hilos no requieren que el núcleo deba realizar una copia independiente del espacio de memoria del procesos y los descriptores, los que también optimiza el rendimiento de la CPU y memoria, disminuyendo también el impacto en estos.




No hay comentarios:

Publicar un comentario

Transformaciones lineales

  Transformaciones lineales 1. Qué es una transformación lineal Una transformación lineal es una función o aplicación lineal cuyo dominio y ...