Browsers are the focal point of our PC usage these days, and if you have ever opened up your Windows 10 Task Manager you would be forgiven for thinking they have taken over your PC, as the task manager would be dominated by scores of web browser processes.

In a recent blog post Microsoft explained exactly why one web page can result in some many Windows processes.

They note that modern browsers are built using a multi-process architecture, which means the browser is split into different processes.

  • Browser process: This is the main process, which helps manage windows and tabs, and controls the browser frame such as the address bar and forward and back buttons. It also routes privileged access to utility processes like network requests and file access.
  • Renderer processes: These control how websites are rendered in a tab by executing code provided by the website. They handle HTML (Hypertext Markup Language), CSS (Cascading Style Sheets), JavaScript, images, and more. The resource usage of each renderer process varies depending on the content being hosted.
  • GPU process: This process is responsible for communicating with the GPU (graphics processing unit) and handles all GPU tasks. The GPU is a piece of hardware that performs graphics-related calculations quickly and sends the output to a monitor for display. Modern browsers use the GPU to quickly render web pages.
  • Utility processes: Audio playback, network service, video capture, data decoding, and collections manager are all handled by these processes, so that Microsoft Edge can control and audit access to these resources and coordinate the use of global system resources.
  • Plug-in processes and extension processes: Plug-in processes contain active plug-ins such as Adobe Flash, and extension processes contain active extensions. Each process executes the code provided by the plug-in or extension. The resource usage of each process varies depending on the code provided. Each process also has code that allows the plug-in or extension to communicate with the browser and renderer processes.
  • Crashpad handler process: This tracks the health of the different processes in Microsoft Edge. If Microsoft Edge crashes, this process will help the browser capture and transmit crash reports to Microsoft servers. Microsoft use these crash reports to find and fix crashes.

Even different elements on the same web page may have their own processes, for reliability and security reasons. If malware takes advantage of a security weakness in one of the renderer processes, it is difficult for it to escape that process and affect another process.

Microsoft explains those advantages as below:

Enhanced security:

The renderer process is the process most likely to get attacked because it is the process interacting with the website. This process has low privileges, and extremely restricted access to the operating system, so if malware were to take control of that process, it would be unable to take control of the machine. The communication between the renderer process and the browser process are narrow in scope and protected. It is hard for malware to take advantage of this to exploit the browser process.

Additionally, process isolation prevents one process from accessing another process’s memory, which also improves a browser’s security. Let’s say, for example, that you’re purchasing a shirt online and there’s an ad on the site. The site that you’re on needs access to your credit card information to complete the transaction; however, the ad does not need access to this information. Ads are put in their own process so that even if the ad is compromised, it won’t have easy access to your sensitive information.

Reliability

If a crash occurs on a web page, web app, extension, or plug-in, only the process that experiences the crash will be affected, improving the browser’s reliability. The rest of the browser, including most other tabs, will remain stable.

Resource accountability

Isolating each process makes it easier to see in Task Manager which process is using the most resources, and provides information about what’s contributing to the resource usage. Is Microsoft Edge using the most resources, or is it a website, extension, or plug-in? You can also see this information in Microsoft Edge’s internal task manager, which you can open by pressing Shift+Esc while in Microsoft Edge or by going to the top corner of the browser and selecting Settings and more (…) More tools > Browser task manager.

Readers can learn more at Microsoft here.

Comments