La diferencia entre el proceso ligero de Linux y el proceso ordinario

  

La diferencia entre un proceso ligero y un proceso normal es que el primero no tiene espacio de usuario independiente (el subproceso de estado del kernel no tiene espacio de usuario, el hilo de estado del usuario comparte el espacio de usuario) y el proceso ordinario Hay espacio de memoria independiente; está representado en la estructura de datos: mm = nulo del hilo o compartido con otros hilos, y el proceso tiene un mm_struct separado.


El hilo del núcleo kernel solo se ejecuta en modo kernel y no está afectado por el contexto del usuario.


Ø Competencia de procesadores: Competir por los recursos del procesador en todo el sistema;

Ø Utilizar recursos: los únicos recursos utilizados son las pilas de kernel y los cambios de contexto Mantenga el espacio de registro en

Ø Programación: la sobrecarga de programación puede ser casi tan costosa como el proceso en sí mismo.

Ø Eficiencia de sincronización: la sincronización de recursos y el intercambio de datos son más sincrónicos y compartidos que todo el proceso. Más bajo Proceso liviano El Proceso liviano (LWP, por sus siglas en inglés) es un subproceso de usuario creado en la parte superior del kernel y soportado por el kernel. Es una abstracción de los hilos del kernel, cada uno de los cuales está asociado con un hilo específico del kernel. Los hilos del kernel solo pueden ser gestionados por el kernel y distribuidos como los procesos normales.

El proceso ligero se crea mediante la llamada al sistema clone (). El parámetro es CLONE_VM, que es el espacio de direcciones del proceso compartido y los recursos del sistema con el proceso principal.

Diferente de los procesos normales: LWP tiene solo un contexto de ejecución mínimo y las estadísticas requeridas por el programador.


Ø Competencia de procesadores: debido a que está asociada con un subproceso de núcleo específico, puede competir por los recursos del procesador en todo el sistema.

Ø Utilizar recursos: con el proceso principal Espacio de direcciones de proceso compartido

Ø Programación: Programación de subprocesos de usuario como procesos normales Los subprocesos de usuario están completamente integrados en la biblioteca de subprocesos del espacio de usuario. La creación, programación, sincronización y destrucción de subprocesos de usuario están en el espacio de usuario. Terminado, no se necesita ayuda del núcleo. Así que este hilo es extremadamente bajo costo y eficiente.

Ø competencia del procesador: un hilo de usuario simple está integrado en el espacio del usuario, que es transparente para el núcleo, por lo que su propio proceso participa solo en la competencia del procesador, y todos los hilos del proceso participan en la competencia. Recursos

Ø Use recursos: comparta el espacio de direcciones del proceso y los recursos del sistema con el proceso de propiedad.

Ø Scheduling: Programación en el proceso de propiedad por la biblioteca de hilos implementada en el espacio de usuario

Copyright © Conocimiento de Windows All Rights Reserved