If you’ve ever peeked into Task Manager while running Google Chrome, you might have been surprised to see that the number of chrome.exe entries radically increased the number of actual Chrome windows you had open exceeded. What is it about all these processes?
Why multiple processes?
Modern websites are quite complex – they have countless “moving parts” that interact with each other and with the user. As complexity has increased, so have the demands on your computer.
You may have noticed that Google Chrome often has more than one process open, even if you only have one tab open. This is because Google Chrome deliberately separates the browser, rendering engine, and plugins by running them in separate processes. The browser part of Chrome is the part that actually handles traffic to and from the website. The rendering engine – officially called Blink – interprets the code running on the website and displays the user-friendly version. Plugins like Java add additional functionality to the browser. But why separate?
It turns out that their separation comes with many benefits, which can be roughly divided into three categories.
Websites are complicated, and the more complex a website is, the more ways that can go wrong. When something goes wrong, it often results in a crash. If everything runs within a single process, a crash on one page will crash your entire browser. At worst, you could lose hours of work on a project. At a minimum, you need to restart your browser and reopen all your tabs.
Isolating each tab in its own process, and even some parts of individual web pages, means that a website or plugin crash won’t bring your entire browser to a halt. You can just quit the broken tab instead of having to completely restart Google Chrome.
TIED TOGETHER: How to fix Google Chrome crashes
Originally, computers only had a central processing unit (CPU) and a core. This meant they could only run one operation at a time, they were just fast enough that they seemed to be doing multiple things at once.
The processors found in modern computers are very different from their single-core grandparents. Most modern CPUs have multiple cores, meaning they can run as many operations at the same time (often referred to as “parallel”) as they have cores. The CPUs of home computers and mobile phones regularly have between four and sixteen cores.
Dividing Google Chrome’s capabilities into multiple processes makes it easier to leverage a larger number of cores. Instead of taxing a CPU core with twenty Chrome tabs, you can split the processes across multiple cores.
Many hands make light work; Many cores ensure faster surfing.
TIED TOGETHER: CPU Basics: Multiple CPUs, Cores, and Hyper-Threading Explained
Running everything in separate processes also makes it easier to protect your computer from malicious code running on a website. Every instance of the rendering engine in Chrome is a sandbox, which means it is usually isolated from the rest of your system and even open other tabs in Chrome. All traffic from the rendering engine is closely monitored by the browser to ensure nothing suspicious or nefarious enters your system.
The setup isn’t perfect – zero-day exploits are notorious for it Waltz straight from sandboxes – but it does a lot to protect you.
TIED TOGETHER: What is a zero-day exploit and how can you protect yourself?
View running processes
You can view the details of the processes by opening Google Chrome’s Task Manager. In Chrome 99, you can access this by clicking the three dots in the top right corner and navigating to More Tools > Task Manager.
If you want to read a little more about how Google Chrome works under the hood, you can check out Google’s Chrome comic. Here is the segment relevant to Chrome’s various processes.
The entire Chrome comic is worth reading for Chrome fans as it explains many other design decisions that go into making the browser.
This article was previously published on Source link