Diferencia entre revisiones de «Hilo (informática)»

Contenido eliminado Contenido añadido
Diegusjaimes (discusión · contribs.)
m Revertidos los cambios de 190.224.60.175 a la última edición de CEM-bot
Línea 15:
 
== Diferencias entre hilos y procesos ==
Los hilos se distinguen de los tradicionales procesos en que los procesos son –generalmente– independientessindependientes, llevan bastante información de estados, e interactúan sólo a través de [[comunicación entre procesos|mecanismos de comunicación]] dados por el sistema. Por otra parte, muchos hilos generalmente comparten otros recursos de forma directa. En muchos de los [[sistema operativo|sistemas operativos]] que dan facilxfacilidades a 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. Al cambiar de un proceso a otro el sistema operativo (mediante el ''dispatcher'') genera lo que se conoce como ''overhead'', que es tiempo desperdiciado por el procesador para realizar un cambio de contexto (''context switch''), en este caso pasar del estado de ejecución (''running'') al estado de espera (''waiting'') y colocar el nuevo proceso en ejecución. En los hilos, como pertenecen a un mismo proceso, al realizar un cambio de hilo el tiempo perdido es casi despreciable.
 
Sistemas operativos como [[Windows NT]], [[OS/2]] y [[Linux]] (2.5 o superiores) dicen tener hilos "baratos", y procesos "costosos" mientras que en otros sistemas no hay una gran diferencia.