Arquitectura multiproceso del navegador Google Chrome

Arquitectura de computadora de tres niveles

El hardware está en la parte inferior, el sistema operativo del sistema operativo está en el medio y las aplicaciones están en la parte superior.
Inserte la descripción de la imagen aquí
Cuando se inicia el programa de aplicación en la computadora o teléfono móvil, la CPU y la GPU brindan un fuerte soporte para el programa de aplicación, que utiliza el mecanismo proporcionado por el sistema operativo para ejecutarse en la CPU y GPU para implementar la función correspondiente en el hardware subyacente.

GPU (Unidad de procesamiento de gráficos), unidad de procesamiento de gráficos, es buena para procesar tareas simples y puede abarcar múltiples núcleos al mismo tiempo. En el procesamiento de gráficos, las palabras "usar GPU" o "compatibilidad con GPU" generalmente significan un procesamiento rápido y una interacción fluida.

Proceso independiente, evitando que todo el sistema falle

Proceso e hilo

Un proceso puede entenderse como un programa de ejecución de un programa de aplicación, y existe un hilo dentro del proceso, y puede entenderse como una función de función determinada, y ejecuta algunas funciones de su programa de proceso.
El proceso sirve como el límite del hilo, y el hilo es como un pez nadando en el proceso.
Inserte la descripción de la imagen aquí
Un proceso puede iniciar otro proceso para realizar diferentes tareas a través del sistema operativo. En este momento, el sistema asignará diferentes espacios de memoria para el nuevo proceso. Si dos procesos necesitan comunicarse, pueden usar el mecanismo de comunicación entre procesos IPC (Inter Process Communication) para la comunicación.
Inserte la descripción de la imagen aquí

Arquitectura multiproceso de Google Chrome / Chromium

Google Chrome es el primer navegador en adoptar el concepto de navegación multiproceso y tiene un sistema complejo para aislar cada componente del navegador.

En Chrome, Google utiliza la función de complementos fuera de proceso (OOPP) para aislar todos los procesos de complementos del proceso del navegador. Incluso si un complemento se bloquea y no se puede utilizar, no afectará el funcionamiento de otros complementos y el navegador completo, mejorando así Chrome Estabilidad del navegador.
Inserte la descripción de la imagen aquí

Cuatro tipos de procesos y funciones principales

  • Proceso del navegador (Browser), utilizado para manejar la interfaz de usuario y administrar todos los demás procesos, ejecutándose en el nivel superior del navegador;
  • Renderer (Renderer), utilizado para manejar el renderizado en etiquetas de navegador independientes, un proceso de renderizado puede manejar múltiples etiquetas;
  • Proceso de complemento (complemento), cada complemento de navegador se ejecuta en su propio proceso independiente, estos procesos de complemento pueden comunicarse con sus respectivos procesos de representación;
  • Proceso de extensión (extensión), la extensión en el navegador también tiene su propio proceso independiente para evitar interferencias mutuas.
    Inserte la descripción de la imagen aquí

Servicio y aislamiento del sitio

Servicio de Chrome, más ahorro de memoria

Probablemente significa ejecutar cada parte del programa del navegador como un servicio, y luego, según la situación, dividirlo en diferentes procesos o resumirlo en el mismo proceso, es una asignación dinámica de integración de recursos.
Si el rendimiento de la computadora es lo suficientemente potente, cuando el navegador se ejecuta en un hardware potente, cada servicio puede dividirse en diferentes procesos, proporcionando así una mayor estabilidad. Sin embargo, si no se cumple esta condición, los recursos del dispositivo están limitados y se pueden integrar múltiples servicios en un proceso, ahorrando así el uso de la memoria.Inserte la descripción de la imagen aquí

Aislamiento del sitio, proceso de renderizado independiente

Se puede ejecutar un proceso de representación separado para cada iframe entre sitios.
Cada pestaña tiene un proceso de representación independiente, que permite que los iframes entre sitios se ejecuten en un solo proceso de representación y compartan espacio de memoria entre diferentes sitios. Puede ejecutar a.com y b.com en el mismo proceso de representación. La política del mismo origen es el modelo de seguridad central de la red. Asegura que un sitio no pueda acceder a los datos de otros sitios sin su consentimiento. Eludir esta política es el objetivo principal de los ataques de seguridad. El aislamiento de procesos es la forma más efectiva de separar sitios. (Aún entiendo la imagen)
Inserte la descripción de la imagen aquí
Fuente de referencia: https://juejin.im/post/5bd7c761518825292d6b0217#heading-6

13 artículos originales publicados · Me gusta 3 · Visitas 4186

Supongo que te gusta

Origin blog.csdn.net/qq_39111085/article/details/103776844
Recomendado
Clasificación