Se hai mai dato un’occhiata a Task Manager durante l’esecuzione di Google Chrome, potresti essere rimasto sorpreso nel vedere che il numero di voci di chrome.exe ha superato radicalmente il numero di finestre di Chrome effettivamente aperte. Qual è il problema con tutti quei processi?
Perché più processi?
I siti Web moderni sono piuttosto complessi: hanno tonnellate di “parti mobili” che interagiscono tra loro e con l’utente. Una maggiore complessità significa che anche la domanda posta sul tuo computer è aumentata.
Potresti aver notato che Google Chrome avrà spesso più di un processo aperto, anche se hai solo una scheda aperta. Ciò si verifica perché Google Chrome separa deliberatamente il browser, il motore di rendering e i plug-in l’uno dall’altro eseguendoli in processi separati. La parte del browser di Chrome è la parte che gestisce effettivamente il traffico da e verso il sito web. Il motore di rendering, formalmente chiamato Blink, interpreta il codice in esecuzione sul sito Web e visualizza la versione a misura d’uomo. I plugin, come Java, aggiungono funzionalità aggiuntive al browser. Ma perché separarli?
Si scopre che separarli conferisce molti vantaggi che possono essere sostanzialmente suddivisi in tre categorie.
Affidabilità
I siti Web sono complicati e più un sito Web è complesso, più le cose possono andare storte. Se qualcosa va storto, spesso si verifica un arresto anomalo . Se tutto è in esecuzione all’interno di un singolo processo, un arresto anomalo di una pagina comporterà l’arresto anomalo dell’intero browser. Nel peggiore dei casi, potresti perdere ore di lavoro su un progetto. Come minimo, dovrai riavviare il browser e riaprire tutte le tue schede.
L’isolamento di ciascuna scheda nel proprio processo e persino di alcune parti di singole pagine Web significa che un arresto anomalo di un sito o di un plug-in non interromperà l’intero browser. Puoi semplicemente uccidere la scheda rotta invece di dover riavviare completamente Google Chrome.
Velocità
In origine i computer avevano solo un’unità di elaborazione centrale (CPU) e un core. Ciò significava che erano in grado di eseguire solo un’operazione alla volta, erano abbastanza veloci da sembrare che stessero facendo più cose contemporaneamente.
I processori che si trovano nei computer moderni sono abbastanza diversi dai loro nonni single-core. La maggior parte delle moderne CPU ha più core , il che significa che sono in grado di eseguire tante operazioni contemporaneamente (spesso descritte come “in parallelo”) quanti sono i core. Le CPU hanno scoperto che i computer di casa e i cellulari hanno regolarmente tra i quattro ei sedici core.
La suddivisione delle funzioni di Google Chrome in più processi consente di sfruttare facilmente un numero maggiore di core. Invece di caricare un core della CPU con venti schede di Chrome, puoi dividere i processi tra più core.
Più mani rendono il lavoro più leggero; molti core rendono la navigazione più veloce.
Sicurezza
L’esecuzione di tutto in processi separati semplifica inoltre la protezione del computer da codici dannosi in esecuzione su un sito Web . Ogni istanza del motore di rendering in Chrome è in modalità sandbox , il che significa che è per lo più isolata dal resto del sistema e anche altre schede aperte in Chrome. Tutto il traffico proveniente dal motore di rendering è strettamente monitorato dal browser, contribuendo a garantire che nulla di sospetto o nefasto arrivi sul tuo sistema.
La configurazione non è perfetta – gli exploit zero-day sono noti per uscire dal valzer direttamente dai sandbox – ma fa molto per proteggerti.
Visualizza processi in esecuzione
Puoi vedere i dettagli dei processi aprendo il task manager di Google Chrome. In Chrome 99, puoi accedervi facendo clic sui tre punti nell’angolo in alto a destra e navigando su Altri strumenti> Task Manager.