¿Por qué sigue siendo necesario planificar los procesos que pasan por el procesador?
Es importante porque como en toda situación, debe haber un orden para realizar cada tarea, en los sistemas, el sistema operativo es quién aporta las decisiones sobre que proceso que es conveniente ejecutar por la CPU. Allí pueden existir ciertas condiciones de tiempo y los tipos de procesos, pero al final el objetivo principal del algoritmo planificador es el máximo aprovechamiento del sistema dando un buen servicio a cada uno de los procesos existentes. La equidad , eficacia, tiempo de respuesta y de regreso y por último rendimiento, son los principales objetivos que busca cumplir la planificación de procesos buscando que todos los procesos sean atendidos ocupado el procesador al 100%, de esta manera puede maximizarse el numero de tareas que se van a procesar y se dará respuesta a todas las solicitudes del usuario en el menor tiempo posible sin largos tiempos de espera. Esta es la importancia de contar con estos métodos de planificación.
¿Qué implicaciones presenta en la eficiencia del procesador trabajar con hilos en vez de trabajar sólo con procesos?
La programación basada en hilos puede hacerse completamente y de forma transparente en espacio de usuario (sin involucrar al sistema operativo). Estos hilos se llaman hilos de usuario. Los procesos que implementan hilos ganan un poco en el rendimiento gracias a no tener que reemplazar al PCB (bloque de control del proceso) activo cuando intercalan la ejecución de sus diferentes hilos; pero además de esto, ganan mucho más por la ventaja de compartir espacio de memoria sin tener que establecerlo explícitamente a través de mecanismos de comunicación entre procesos. Dependiendo de la plataforma, a veces los hilos de usuario inclusive utilizan multitarea cooperativa para pasar el control dentro de un mismo proceso. Cualquier llamada al sistema bloqueante (como obtener datos de un archivo para utilizarlos inmediatamente) interrumpirá la ejecución de todos los hilos de ese proceso, dado que el control de ejecución es entregado al sistema operativo quien en este caso no conoce nada sobre los hilos.
los hilos de usuario o hilos verdes, que son completamente gestionados dentro del proceso y sin ayuda del sistema operativo, y los hilos de núcleo o hilos de kernel, que sí son gestionados por el sistema operativo como si fueran procesos. Partiendo de esto, hay tres modelos principales de mapeo:
Los hilos se distinguen de los tradicionales procesos en que los procesos son generalmente independientes, llevan bastante información de estados, e interactúan sólo a través de mecanismos de comunicación dados por el sistema. Por otra parte, muchos hilos generalmente comparten otros recursos directamente. En los sistemas operativos que proveen facilidades para los hilos, es más rápido cambiar de un hilo a otro dentro del mismo proceso, que cambiar de un proceso a otro. Este fenómeno se debe a que los hilos comparten datos y espacios de direcciones, mientras que los procesos al ser independientes no lo hacen.
Referencias:
https://sistop.org/pdf/sistemas_operativos.pdf
http://bibing.us.es/proyectos/abreproy/11320/fichero/Capitulos%252F13.pdf
Comentarios
Publicar un comentario