El concepto de hilos y modelo multi-roscado

¿Cuál es el hilo, ¿por qué el paso del hilo?

Antes de la introducción del hilo no tiene 1 , el sistema de cada programa sólo puede ejecutarse en serie
exp: no puede escuchar música durante el chat QQ
.
Después de la introducción del proceso, se puede escuchar música durante el chat QQ, QQ pero se puede chat de vídeo y chat de texto lata transferencia de archivos. En el proceso de definición tradicional, un proceso se está ejecutando un programa. Sin embargo, estas características no son, evidentemente, capaz de lograr manejado por una secuencia de programa.

Algunos procesos pueden necesitar "al mismo tiempo" para hacer muchas cosas, pero el proceso tradicional sólo se puede realizar en serie una serie de procedimientos. Por esta razón, la introducción del "hilo", para aumentar el grado de concurrencia.

El proceso tradicionalEs la unidad más pequeña de flujo de la ejecución del programa. Después de la introducción del hilo,hiloSe convirtió en elLa unidad más pequeña de flujo de la ejecución del programa.

El hilo puede ser entendido como "procesos ligeros".
hiloSe trata de unaLa CPU unidad de ejecución básicatambiénLa unidad más pequeña de flujo de la ejecución del programa. Después de la introducción del hilo, no sólo entre los procesos pueden ser complicados, en el proceso deEntre los hiloslatacomplicado porpara másMejorar el grado de sistema de concurrenciaDentro de un proceso de este tipo puede ser complicado por una variedad de procesamiento de tareas (como el vídeo QQ, chat de texto, transferencia de archivos).
Después de la introducción del hilo,procesoSolamente unaSistema de unidad de asignación de recursos que no sea el de la CPU(Tal como una impresora, el espacio de dirección de memoria se asigna al proceso).

Después de la introducción del mecanismo de rosca, lo que ha cambiado?

  • La asignación de recursos, programación
    • mecanismos tradicionales del proceso, proceso de asignación de recursos es la unidad básica de programación
    • Después de la introducción de la rosca ,procesoesLa unidad básica de la asignación de recursos,hiloesLa unidad básica de programación.
  • concurrencia
    • mecanismo de proceso tradicional, la única concurrencia entre procesos
    • Después de la introducción de la rosca entre cada hilo al mismo tiempo puede mejorar el grado de concurrencia.
  • gastos generales
    • Tradicional, proceso complicado, la necesidad de proceso para cambiar el entorno operativo, una gran sobrecarga.
    • Concurrencia entre los hilos, si un hilo de conmutación dentro del mismo proceso, que no es necesario entorno del proceso de conmutación, pequeña sobrecarga del sistema.
    • Después de la introducción de la rosca ,Concurrente trae reducida sobrecarga del sistema

Analogía:
a la biblioteca.
El proceso de cambiar el entorno operativo: Un hombre no sabe utilizar esta tabla, tendrá que tener su libro quitado, puso su libro sobre la mesa.
conmutación de rosca dentro del mismo proceso: Su compañero de piso para utilizar esta mesa de trabajo, no se puede poner el libro sobre la mesa quitado.

¿Cuáles son los atributos importantes hilo

  • Los hilos son procesadores (CPU) unidad de programación
  • computadoras multi-CPU, cada hilo de la CPU pueden ocupar diferentes
  • Cada hilo tiene un ID de hilo, el bloque de control del hilo (TCB)
  • También hay hilo listo, bloqueo, correr tres estados básicos
  • Hilo casi no tiene los recursos del sistema
  • Entre diferentes hilos del mismo proceso de proceso de distribución de los recursos
  • Debido a que el espacio de direcciones de memoria compartida entre los hilos en el mismo proceso de la comunicación incluso sin la intervención del sistema de
  • El mismo proceso de conmutación hilo, no hace que el proceso de conmutación
  • Hilo de conmutación de procesos diferentes pueden causar el proceso de conmutación
  • Cambio de hilos dentro del mismo proceso, el sistema de sobrecarga es pequeño
  • proceso de conmutación, más grande overhead

implementación de hilos

Aquí Insertar imagen Descripción

  • hilos a nivel de usuario (rosca a nivel de usuario, ULT)
    implementación de hilos a nivel de usuario por la aplicación a través de la biblioteca de hilo. cualquiergestión de hilosporLa aplicación es responsable(Interruptor de la rosca, inclusive).
    threads a nivel de usuario,conmutación hiloSe puede hacer en el modo de usuario, sin la intervención del sistema operativo.
    Desde la perspectiva del usuario, hay varios subprocesos. Pero parece que el núcleo del sistema operativo, y consciente de la existencia de hilos. (Hilos a nivel de usuario transparente para el usuario, el sistema operativo transparente)

Se puede entender,"hilos a nivel de usuario"es"Desde la perspectiva del usuario para ver el hilo"


Aquí Insertar imagen Descripción

  • las discusiones a nivel del núcleo (kernel a nivel de hebra, KLT, también conocido como "el apoyo de los hilos del núcleo")
    a nivel de kernelgestión de hilospor laEl núcleo del sistema operativoCompleta. la programación de subprocesos, la conmutación y otros trabajos se realizan por el núcleo es responsable, por loCambio de hilos a nivel del núcleonecesariamente tienenestado centralA continuación se complete.

Se puede entender ".hilos Kernel de nivel"Es"hilo mirada puede ser visto desde la perspectiva del núcleo del sistema operativo


En los soportes del sistema de hilos a nivel de usuario e hilos de nivel de núcleo, la forma de realización puede ser una combinación de ambos: el mapeo de los hilos de n a nivel de usuario a los hilos de nivel de núcleo en el m (n> = m)
Aquí Insertar imagen Descripción

Corazón Corazón Corazón
Sistema operativo sólo las discusiones a nivel del núcleo "visibles", sólo sehilos Kernel-nivel se asignan unidad de procesador.

Por ejemplo: La figura en el modelo, el proceso consta de dos hilos de nivel de núcleo, que consiste en tres hilos a nivel de usuario, la perspectiva del usuario, este proceso tiene tres hilos. Pero incluso si el proceso se ejecuta en un equipo con procesador de 4 núcleos, sólo pueden ser asignados a dos núcleos, los usuarios sólo pueden tener dos hilos se ejecutan en paralelo.

Multi-threading modelo

En los soportes del sistema de hilos a nivel de usuario e hilos de nivel de núcleo, la asignación de varios hilos a nivel de usuario para la emisión de varias pistas de hilo de nivel de núcleo al problema "multi-threading modelo"


Aquí Insertar imagen Descripción

  • Muchos-aModelo : múltiples hilos a nivel de usuario asignado a una hilos a nivel del núcleo. Cada proceso de usuario sólo tiene una hilos a nivel del núcleo.
    Ventajas : conmutación de los hilos a nivel de usuario en el espacio de usuario a completa, sin cambiar a modo de núcleo, la gestión de hilos sistema de sobrecarga es pequeño, y alta eficiencia.
    Inconveniente : Cuando un hilo a nivel de usuario se bloquea, se bloquea todo el proceso, no alto grado de concurrencia. Una pluralidad de hilos se ejecutan en paralelo en el procesamiento no básicos.

Aquí Insertar imagen Descripción

  • Uno a unoModelo : un hilo a nivel de usuario se asigna a una hilos a nivel del núcleo. Cada proceso de usuario y a nivel de usuario hilos tienen el mismo número de hilos a nivel del núcleo.
    Ventaja : Cuando un hilo se bloquea, otros hilos pueden continuar para realizar fuerte concurrencia. Multi-hilo de ejecución en paralelo en el procesador multi-núcleo.
    Inconveniente : un proceso de usuario puede tomar muchas discusiones a nivel del núcleo de conmutación, hilo por el núcleo del sistema operativo, es necesario para cambiar al modo kernel, por lo que el alto costo de la gestión de hilos, gran sobrecarga.

Aquí Insertar imagen Descripción

Muchos a muchosModelo : n a nivel de usuario hilos se asignan a los hilos a nivel del núcleo de m (n> = m). Cada uno del proceso de usuario a los hilos a nivel del núcleo m.

Para superar el modelo de muchos de concurrencia no es alta deficiencias, sino también superar un modelo en un proceso de usuario realiza hilos a nivel del núcleo demasiado, desventaja demasiado costoso.


  1. Más de regia notas estaban terminando de PubMed ↩︎

Publicado 50 artículos originales · ganado elogios 5 · Vistas 1515

Supongo que te gusta

Origin blog.csdn.net/qq_42483691/article/details/104883741
Recomendado
Clasificación