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.
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.
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.
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.
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.
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.
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)
Fuente de referencia: https://juejin.im/post/5bd7c761518825292d6b0217#heading-6