Mozilla è finalmente tornata a parlare della possibilità che Firefox abbracci un’architettura multiprocesso ed un solido meccanismo di sandboxing. Il browser, infatti, si limita per adesso ad isolare il plugin di Flash Player in un processo separato: nel caso in cui si verificasse un crash nel componente di Adobe, questo non va ad impattare negativamente sulla stabilità di Firefox. Sebbene sia possibile applicare dei particolari “trucchi” per eseguire in un processo separato anche le altre tipologie di plugin, Firefox non esegue in modalità isolata, ad esempio, le varie schede come invece fa – sin dalla sua nascita – Google Chrome.
Mozilla iniziò a parlare dell’approccio a processi multipli già nel 2009 con la presentazione del progetto Electrolysis: la vastità e la complessità del codice alla base del funzionamento di Firefox ha però rallentato il processo che avrebbe dovuto portare all’integrazione della nuova architettura.
Dopo mesi e mesi di silenzio, Electrolysis sembrava ormai essere stato messo in un cassetto. Invece, con un intervento su Reddit, uno sviluppatore di Mozilla ha rivelato che si starebbe valutando, di nuovo, l’adozione del sistema di sandboxing alla base di Electrolysis.
Una delle problematiche più importanti che ha portato all’accantonamento del progetto Electrolysis è stato, senza dubbio, il supporto dei plugin da parte di Firefox. Sebbene tali componenti aggiuntivi rappresentino un’importante risorsa per il browser opensource di Mozilla, grazie alla capacità di estenderne ampiamente le funzionalità, i plugin hanno rappresentato fonte di gravi incompatibilità allorquando si è provato ad introdurre un’architettura a più processi.
Eppure, e su questo sono d’accordo molti esperti, non appena la gestione di ogni scheda del browser sarà demandata ad un singolo processo, Firefox potrà diventare ulteriormente più snello rispondendo più velocemente alle richieste degli utenti. Tra le migliorie anche un più parsimonioso utilizzo delle risorse hardware sulle macchine dotate di processori multicore, una drastica riduzione dei crash che impattano sull’intero browser ed, ovviamente, l’introduzione di un meccanismo di sandboxing in grado di proteggere l’utente dalle minacce che tentassero di oltrepassare il contesto di esecuzione del browser web.
Sebbene si tratti di un tema delicatissimo, l’adozione di Electrolysis potrebbe consentire di ridurre i problemi legati alla frammentazione della memoria e permettere una più efficiente liberazione della memoria non appena vengono chiuse le varie schede.
In merito al tema sandboxing, suggeriamo la lettura dell’articolo Sandboxing: a confronto Chrome, IE, Firefox ed Opera.