Con un articolo pubblicato sul sito web dell’azienda, i tecnici di Microsoft hanno voluto spiegare perché con Edge vengono mantenuti contemporaneamente in memoria diversi processi (è possibile verificarlo premendo la combinazione di tasti CTRL+MAIUSC+ESC
per aprire il Task Manager) anche con una sola scheda di navigazione in corso di visualizzazione.
Gli attuali browser web sono oggetti sempre più complessi che non hanno più nulla a che fare con l’epoca in cui erano considerati strumenti basilari per la visualizzazione di file, documenti e altri contenuti.
Il nuovo Edge basato su Chromium si basa su un’architettura multiprocesso che è utilizzata anche da altri browser moderni e che è stata scelta per offrire migliori prestazioni, maggiore sicurezza e per ottenere, anche se può sembrare il contrario, una migliore gestione delle risorse.
I browser attuali, incluso Edge Chromium, dividono l’intero carico di lavoro che si verifica quando si apre anche soltanto un’unica scheda in vari livelli per gestirli in maniera ottimale.
Come si spiega in questa nota, il nuovo Edge apre un processo principale per gestire finestre e schede oltre ai vari elementi dell’interfaccia; un altro processo per il rendering delle pagine web e degli elementi che le compongono (HTML, CSS, JavaScript, immagini e così via); un altro ancora per la comunicazione con la GPU, sempre più utilizzata per la visualizzazione delle pagine web; un altro per la riproduzione dell’audio, i servizi di rete, la cattura video, la decodifica dei dati; completano il quadro due ulteriori processi per interfacciare il browser con plug-in ed estensioni oltre che per monitorare lo stato di salute del programma e tracciare eventuali comportamenti anomali (ad esempio crash improvvisi).
Un approccio che ha evidenti benefici anche in termini di sicurezza, non soltanto dal punto di vista prestazionale. Dividendo il carico di lavoro in diversi processi separati e con un basso livello di privilegi, un’eventuale minaccia sarebbe confinata sul singolo processo e avrebbe un impatto ridotto.
Le schede di navigazione dei vari siti web sono mantenute sempre separate e non può esserci quindi alcuna commistione tra i dati gestiti dall’una o dall’altra. Solo le informazioni elaborate nell’ambito dello stesso dominio (si pensi a più schede aperte riferite allo stesso sito) fanno capo a un unico processo. Si pensi anche agli elementi pubblicitari contenuti in una pagina web: per il rendering viene utilizzato un processo del browser a sé.
L’isolamento dei processi impedisce anche al codice in esecuzione di accedere al contenuto della memoria facente capo a un altro processo.
Si supponga di effettuare un acquisto online e di inserire i dati della propria carta di credito nel modulo di pagamento: domini diversi da quello del sito di ecommerce che si sta utilizzando non possono e non devono accedere ai dati sul metodo di pagamento adoperato. L’utilizzo di processi separati mira a evitare la sottrazione da parte di terzi di qualunque informazione personale.
Allo stesso tempo i tecnici di Microsoft si sono attivati per ridurre l’occupazione di memoria RAM e della CPU mantenendo più schede aperte: Edge: come risparmiare memoria tenendo più schede aperte.
Nell’articolo Edge Chromium in versione stabile: le principali novità abbiamo presentato le principali caratteristiche del browser Microsoft.