0 évaluation0% ont trouvé ce document utile (0 vote)
67 vues6 pages
Este documento describe la diferencia entre procesos y hilos. Los procesos son la unidad mínima de ejecución y asignación de recursos, mientras que los hilos son flujos de ejecución dentro de un proceso. También discute cómo los hilos se pueden usar para mejorar el rendimiento en sistemas distribuidos al permitir que múltiples tareas se ejecuten de forma concurrente y esconder la latencia de comunicaciones de red.
Este documento describe la diferencia entre procesos y hilos. Los procesos son la unidad mínima de ejecución y asignación de recursos, mientras que los hilos son flujos de ejecución dentro de un proceso. También discute cómo los hilos se pueden usar para mejorar el rendimiento en sistemas distribuidos al permitir que múltiples tareas se ejecuten de forma concurrente y esconder la latencia de comunicaciones de red.
Este documento describe la diferencia entre procesos y hilos. Los procesos son la unidad mínima de ejecución y asignación de recursos, mientras que los hilos son flujos de ejecución dentro de un proceso. También discute cómo los hilos se pueden usar para mejorar el rendimiento en sistemas distribuidos al permitir que múltiples tareas se ejecuten de forma concurrente y esconder la latencia de comunicaciones de red.
Ing. No Ramos Rosales Morales Sistemas operativos Distribuidos
2 de septiembre de 2014
Contenido
Procesos e Hilos. ............................................................................................ 3
Procesos. ..................................................................................................... 3 Estados de un Procesos. .............................................................................. 4 Hilos. ........................................................................................................... 4 Implementaciones de Hilos en sistemas distribuidos. ................................. 5 Conclusin. .................................................................................................. 6 Bibliografa. ................................................................................................. 6
Procesos e Hilos.
Procesos.
Es una ejecucin concreta de un programa, con un camino determinado y un valor de sus variables determinados. La unidad mnima de expedicin y de asignacin de recursos es el proceso. Un proceso es un concepto manejado por el sistema operativo que consiste en el conjunto formado por: Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador. Su estado de ejecucin en un momento dado, esto es, los valores de los registros de la CPU para dicho programa. Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos. Otra informacin que permite al sistema operativo su planificacin. Esta definicin vara ligeramente en el caso de sistemas operativos multihilo, donde un proceso consta de uno o ms hilos, la memoria de trabajo (compartida por todos los hilos) y la informacin de planificacin. Cada hilo consta de instrucciones y estado de ejecucin. Los procesos son creados y destruidos por el sistema operativo, as como tambin este se debe hacer cargo de la comunicacin entre procesos, pero lo hace a peticin de otros procesos. El mecanismo por el cual un proceso crea otro proceso se denomina bifurcacin (fork). Los nuevos procesos son independientes y no comparten memoria (es decir, informacin) con el proceso que los ha creado. Un proceso posee 2 caractersticas importantes: Bsicamente: un espacio de direcciones (programas, datos y pila y un PCB), archivos, memoria, etc. El SOP realiza la funcin de proteccin para evitar interferencias no deseadas entre procesos en relacin con los recursos. Planificacin/Ejecucin: El proceso sigue una ruta de ejecucin. Tiene un PC, un Estado de ejecucin (Listo, bloqueado, ejecutndose, etc.) y una prioridad.
Estados de un Procesos.
El principal trabajo del procesador es ejecutar las instrucciones de mquina 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 del mismo. En un entorno de multiprogramacin, el procesador intercalar la ejecucin de instrucciones de varios programas que se encuentran en memoria. El sistema operativo es el responsable de determinar las pautas de intercalado y asignacin de recursos a cada proceso. Los estados en los que puede encontrarse un proceso son: Listo. Tiene todo lo necesario para ejecutarse excepto el procesador. Suspendido. No est en memoria principal. Bloqueado. Est esperando un evento. Bloqueado y suspendido. Listo y suspendido.
Hilos.
En algunos sistemas de operacin se le denomina a la unidad activa hilo (thread) y a la unidad propietaria de recursos se le suele denominar proceso o tarea. En un entorno multihilo se le asocia a los procesos: Un espacio de direcciones virtuales que soporta la imagen del proceso. Acceso protegido a procesadores, otros procesos, archivos y recursos de E/S En un entorno multihilo se asocian a cada hilo: Un estado de ejecucin. Un PC, un contexto (conjunto de registros) que se almacena cuando no est en ejecucin. Una pila. Un espacio de almacenamiento para variables locales. Acceso a la memoria y recursos del proceso. Los threads comparten el mismo espacio de direcciones. Por lo tanto el cambio de contexto entre un thread y otro que pertenecen al mismo proceso pudiera hacerse de forma totalmente independiente del sistema de operacin.
Implementaciones de Hilos en sistemas distribuidos.
Threads a nivel de usuario. Threads a nivel de Kernel. Enfoque combinado, procesos Livianos. Usando hilos, se puede permitir el uso de llamadas al sistema bloqueantes sin necesidad de bloquear todo el proceso. Esta propiedad vuelve a los hilos particularmente atractivos para su uso dentro de sistemas distribuidos. Clientes Multihilo. Sirven para esconder la latencia de comunicacin a travs de la red. En muchos casos una pgina WEB consiste de un texto plano con mltiples figuras. Con frecuencia el navegador, establece la conexin con el servidor, recupera y comienza a desplegar la pgina HTML (incluso se permite al usuario el desplazamiento dentro de la pgina) mientras el navegador continua recuperando otros archivos que conforman la pgina. Desarrollar navegadores multihilo simplifica este hecho de forma considerable. Tan pronto como llega la pgina principal se pueden activar hilos que se encarguen de recuperar las dems partes. Cada hilo establece su propia conexin con el servidor. Mientras tanto el usuario advierte el retardo en las imgenes pero puede ir explorando el documento Si el servidor est saturado o es lento no se observarn mejoras notables en el rendimiento.
Servidores Multihilo El principal uso de la tecnologa multihilo est del lado del servidor. Bsicamente buscan mejorar el desempeo (an en servidores monoprocesador) y la forma cmo se estructura el servidor. Por lo general un servidor de archivos espera una peticin de entrada para una operacin de archivo, posteriormente ejecuta la peticin (operacin bloqueante al disco) y luego enva la respuesta de regreso. Alternativas: Modelo Servidor/Trabajador: Las peticiones son enviadas por los clientes hasta el servidor. Despus de examinar la peticin el hilo servidor elige un hilo trabajador sin utilizar y le encarga la peticin. El hilo trabajador realiza la lectura, lo cual puede provocar que se suspenda hasta que los datos sean recuperados. Si el hilo se suspende, el procesador, selecciona otro para su ejecucin. Conclusin.
Como estudiantes de la asignatura, es importante conocer acerca de los procesos e hilos, debido a que su estructura y su arquitectura, nos facilita el entendimiento de grandes sistemas operativos, es ms fcil analizar la informacin fragmentada, que ir de lleno a los procesos de grandes sistemas, me gusto esta investigacin, debido a que conoca los procesos y los hilos, pero fue muy bueno darle una orientacin hacia los sistemas distribuidos a esta investigacin.