Firefox en desarrollo de "navegación multiproceso"

Firefox en desarrollo de "navegación multiproceso"

por

"Ayudará en la estabilidad" dice Mozilla

Mozilla, creador del conocido y premiado navegador Firefox, cuyo logo es un zorro panda en llamas, se encuentra en vías de desarrollo de un proyecto llamado "Electrolysis" (Electrólisis, para aquellos que recuerden sus clases de química) que busca dividir en varios procesos el rendereo de una página web, de modo de hacer el proceso más eficiente, rápido y seguro, y de paso garantizar mayor estabilidad del navegador en general. Llevando esto a un nivel burdo, podemos decir que dos (o más) cabezas piensan mejor que una, y, en un hablar más propio de un sitio de tecnología, es lógico que al renderear una página en varios procesos haremos que sea más difícil que fallen todos al mismo tiempo o que al fallar uno se lleve consigo al proceso más grande, el navegador, y los otros procesos de carga de otras páginas.

firefox-500

Este concepto había sido sólo considerado por Mozilla, pero Microsoft hizo lo suyo al implementar algo similar en Internet Explorer y Google se les adelantó con Chrome, en el cual cada página se carga como un proceso individual y separada del proceso "general" del navegador, por lo que si llegase a pasar que un plug-in haga "caer" a su proceso, no arrastrará consigo al navegador, que es un proceso aparte, ni a otras páginas, que también son procesos aparte. Además, cada una de las páginas corre bajo un proceso de sandbox propio, que permite aislar el espacio de memoria que usa cada proceso para que ciertas vulnerabilidades no comprometan el sistema por completo, algo que también comparte Safari en su versión para OS X Snow Leopard.

Mozilla advierte que implementar el proyecto "Electrolysis" en Firefox no será trivial, ya que muchos componentes que conforman la estructura misma del sistema tendrán que ser modificados para funcionar bajo este nuevo sistema. Por ejemplo, uno de los puntos más críticos será hacer que ciertos componentes compartidos puedan ser vistos por los procesos individuales sin que esto suponga problemas de estabilidad, rendimiento o seguridad. Este sistema se denominará Comunicación Interproceso (IPC). Documentación sobre la posible implementación de todo esto se puede encontrar aquí.

Parte del código para hacer todo esto posible se basará en el código de Chromium, la versión Open Source de Chrome, y no se descarta que componentes más importantes -como el Network Stack- puedan ser reemplazados a favor de tener nuevas versiones más similares a las del código de Chromium. Se está trabajando arduamente para tener nightly-builds listos para ser probados por los desarrolladores antes de que esto llegue al público en general, aunque se advierte que las versiones de Mac OS X van a tardar algo más, por lo que se pide ayuda a desarrolladores que conozcan la plataforma Mac.

En el Blog de Mozilla tienen una demo sobre cómo verá el usuario final todas estas nuevas características, y en donde podemos observar que cuando ocurre un error durante el procesamiento de una página, esta simplemente se va a blanco y se ofrece volverla a cargar en vez de producir una caída general del navegador.

Sin duda buenas noticias para todos aquellos que alguna vez hemos visto como se pierden textos completos que iba a postear en el blog y que me había demorado una hora en escribir trabajos y páginas por la culpa de algún plug-in inestable, una página con errores, o cualquier cosa de esas que sólo ocurren por los misterios de la computación y que hacen morir a nuestro navegador y nuestros sueños.

Fuente: Ars Technica