LWP (Proceso de peso ligero):
- Un LWP es una unidad de ejecución virtual que se ejecuta dentro del contexto de un único proceso de sistema operativo tradicional.
- Los LWP son administrados completamente por la biblioteca de espacio de usuario, sin la participación del kernel del sistema operativo.
- Los LWP comparten el mismo espacio de memoria y recursos del sistema que el proceso principal.
- Los gastos generales de creación de un LWP son comparativamente más bajos que los de los subprocesos.
- Los LWP son menos portátiles entre diferentes sistemas operativos, ya que normalmente se implementan utilizando bibliotecas de espacio de usuario específicas.
- Los LWP se utilizaban habitualmente en sistemas como Sun Solaris, pero se han vuelto menos frecuentes en los sistemas operativos modernos.
Hilos:
- Un hilo es una unidad de ejecución liviana y autónoma dentro de un proceso.
- Los subprocesos son administrados y programados por el kernel del sistema operativo, lo que les brinda un acceso más directo a los recursos del sistema.
- Los subprocesos dentro del mismo proceso comparten memoria, pero tienen pilas separadas.
- Crear y destruir subprocesos implica una mayor sobrecarga en comparación con los LWP debido a la participación del núcleo.
- Los subprocesos son más portátiles entre diferentes sistemas operativos, ya que están estandarizados por POSIX y otras API.
- Los subprocesos se han convertido en el mecanismo predominante de concurrencia y paralelismo en los sistemas operativos modernos.
Resumen:
- Los LWP se gestionan desde el espacio del usuario, mientras que los subprocesos los gestiona el núcleo del sistema operativo.
- Los LWP comparten todos los recursos del proceso principal, mientras que los subprocesos comparten memoria pero tienen pilas separadas.
- Los LWP tienen una menor sobrecarga de creación y destrucción en comparación con los subprocesos.
- Los subprocesos son más portátiles y estandarizados en todos los sistemas operativos.
- Los subprocesos son el mecanismo más utilizado para la concurrencia y el paralelismo en los sistemas operativos modernos.