Edge no es el único navegador con arquitectura multiproceso, ni tampoco es el único basado en Chromium, pero en Microsoft han decidido publicar una muy buena y sencilla explicación de por qué el abrir una sola pestaña en Edge resulta en tantos procesos en ejecución.
Al igual que Google Chrome, otros navegadores basados en Chromium, y el mismo Firefox, los navegadores modernos en su mayoría son multiproceso y consumen muchos recursos. Pero esto no es en vano, ejecutar tantos procesos a la vez hace que el navegador sea más estable y seguro, y si te preguntas qué son todos esos procesos que ves en la lista en el Administrador de tareas si solo tienes dos pestañas abiertas, esta es la explicación:
Cuando una sola pestaña puede ejecutar una docena de procesos
En el ejemplo de arriba, se muestra una ventana del navegador con una sola pestaña abierta y dos extensiones activas. Cada flecha apunta a un elemento diferente que necesita ejecutar un proceso diferente.
Cada extensión que tengamos activa ejecutará su propio proceso, por ejemplo. Mientras que si hay algún plugin necesario para ver el contenido, como en el caso de Flash, ese complementos ejecutará otro más.
Pero además de eso, tenemos un proceso para el marco del navegador, un proceso de la GPU para ayudar a mostrar los gráficos, un proceso de renderizado que ejecuta el código de la web, un proceso para ayudar con las peticiones de red, un proceso para la reproducción del audio, y un proceso para monitorizar la salud de Microsoft Edge.
Todo eso es necesario para mostrar una sola web en el navegador y es fácil hacer cuentas y ver como todos esos subprocesos se pueden multiplicar fácilmente cuando empezamos a abrir más pestañas.
Cada anuncio que ves en una web puede ejecutar su propio proceso
Por diseño la arquitectura multiproceso divide el navegador en diferentes procesos. Tienes los procesos del navegador como tal que se encargan de gestionar las ventanas y pestañas, y los controles como el botón de ir atrás o la barra de direcciones.
Tienes los procesos de renderizado, es decir, los que controlan como se renderiza o muestra el código del sitio web en la página. Estos son los que gestionan el HTML, CSS, JavaScript, imágenes, etc. La cantidad de recursos que estos usan dependen del contenido, es decir, de la web que visitamos.
Los procesos de la GPU son los que conectan el navegador con tu tarjeta gráfica para ayudar al renderizado rápido de las páginas. Los procesos utilitarios son aquellos que ayudan a cosas como la reproducción de audio, los servicios de red, la captura de vídeo, la decodificación de datos, etc.
Junto a estos están los procesos de los plugins y las extensiones que estén activos y depende del código de cada uno de ellos. Y, finalmente, están los procesos del controlador de crashpad, es decir, los que monitorizan la salud de cada proceso dentro de Microsoft Edge. Esos procesos ayudan al navegador a capturar y transmitir informes de fallos a los servidores de Microsoft.
Cuando abrimos una web que tiene anuncios, cada uno de esos anuncios ejecuta sus propios proceso de renderizado. Los anuncios que vienen del mismo dominio comparten un proceso, pero si vienen de otro dominio, entonces tienen uno proceso individual.
Los anuncios se suelen insertar en las webs usando algo llamado un "subframe" o submarco, esto complica un poco más las cosas, puesto que a veces hay subframes que no son visibles para el usuario y pueden generar proceso adicionales.
¿La ventaja de este montón de procesos es...?
Las dos principales razones por las que un navegador usa esta arquitectura son: seguridad y fiabilidad. La primera es muy importante puesto que cada uno de esos procesos que se ejecutan está aislado.
Esto quiere decir que si un malware intenta explotar un proceso, le resultará muy difícil escapar de ese proceso para afectar a los demás y poder tomar control de la máquina, puesto que cada proceso tiene un acceso muy restringido al sistema operativo.
La otra ventaja es la fiabilidad, puesto que al cada proceso funcionar por separado, si uno falla, solo ese falla. El resto del navegador, y sus demás pestañas y procesos seguirán funcionando de forma estable aunque se cuelgue un proceso en otra pestaña.
La otra ventaja es que al aislar cada proceso podemos ver nosotros mismos desde el administrador de tareas, cuáles procesos consumen más recursos. Si presionamos las teclas SHIFT + ESC desde Microsoft Edge, podemos abrir el administrador de tareas interno del navegador y desde ahí explorar el consumo que hace cada web, cada extensión y cada subproceso que ejecutan.
Ver todos los comentarios en https://www.genbeta.com
VER 4 Comentarios