Http://www.cnbeta.com/articles/109595.htm
With the increasing importance of web browsers, malicious software, Trojan horses, spyware and other cyber attacks also appear to rise gradually. In the face of so many potential threats, in order to ensure the security and stability of users, the browser has to improve the performance of the browser, one of which is to provide users with multi-process browsing. After adding the multi-process browsing feature in the browser, the other processes will not be affected even if one of the browsers crashes. For example, if a Web site has a vulnerability or contains malicious code, it may destroy the label currently running on the site, but it will not affect other processes or the entire browser.
According to foreign media reports, with the progress of the Times, the Internet has become an important part of people's lives, and web browsers have rightfully become the computer and other devices in the most important software. However, as the importance of web browsers increasingly prominent, malicious software, Trojan Horse, spyware and other cyber attacks are also showing a gradual rise. In the face of so many potential threats, in order to ensure the security and stability of users, the browser has to improve the performance of the browser, one of which is to provide users with multi-process browsing. After adding the multi-process browsing feature in the browser, the other processes will not be affected even if one of the browsers crashes. For example, if a Web site has a vulnerability or contains malicious code, it may destroy the label currently running on the site, but it will not affect other processes or the entire browser. Currently, many browser vendors use the concept of multi-process label browsing, including Google Chrome, Microsoft IE8 and Mozilla Firefox, and many WebKit-based browsers will soon be using multi-process tags to browse this feature, such as Apple's Safari browser. However, although these browsers use multi-process label browsing concepts, they do not have a different way of doing multi-process tabbed browsing in a browser. #1, Google Chrome/chromium's multi-process architecture Google Chrome is the first browser to use multi-process browsing concepts, and it also has the most complex systems for isolating the various components of the browser. In Chrome, Google improves Chrome's security by isolating all plug-in processes (such as Flash, Java, PDF readers, etc.) from the browser process through the out of process plugins (OOPP) feature. In other words, even if there is a crash in chrome, it does not affect the overall browser operation in general, Google Chrome and chromium contain the following 4 of the main process types:
*Browser process--for handling the user interface and managing all other processes, which run at the top of the browser;
*Rendering process-used to handle rendering in standalone browser tags, it is worth noting that a rendering process can handle multiple tags;
*Plug-in processes-each browser plug-in, such as Adobe Flash or Java, runs in their own separate processes, which can interoperate with their respective rendering processes;
*Extension process--the extensions in the browser also have separate processes to avoid interfering with each other.
Figure 1: Google Chrome multi-process architecture
#2, Microsoft IE8 loosely-coupled ie (lcie) in the latest generation of browser IE8, Microsoft added a schema called "loosely-coupled IE (Lcie)". Through the loosely-coupled IE (lcie) architecture, IE8 separates the main browsing process from the rendering process. The main process handles browsers, user interfaces, and frames (Windows) for storing tabs. In IE8, multiple tabs are running in the same process, but tabs at different security levels are separated from each other. The ActiveX space is handled through the tab process.
Figure 2: Microsoft IE8 Multi-process architecture
Figure (3)
#3, Mozilla electrolysis and out-of-process plug-ins compared to Google Chrome and Microsoft Ie8,mozilla Firefox is a late step into the multi-process browser, The multi-process architecture included is not as complex as chrome or IE. The Mozilla Foundation adds a multi-process architecture in Firefox to isolate the main process of browser plugins and browsers, with the project codenamed "Electrolysis", which is in the early stages of testing. Currently, the Firefox 3.6.4 Beta builds already includes multi-process processing capabilities.
The multi-process architecture in Figure 4:firefox
#4, WebKit 2, the WebKit team announced that a multi-process browsing capability would be included in the upcoming WebKit2. In other words, a large number of browsers using the WebKit Web rendering engine will introduce multi-process browsing capabilities.
While Google Chrome/chromium is using the WebKit engine, their multi-process architecture is different. In Chrome, Google has a WebKit rendering engine in each rendering process, while the WebKit team plans to split the WebKit2 rendering engine itself into multiple processes. After WebKit2 uses a multi-process browse model, the content of the Web page (javascript,html, and layout, etc.) will each have its own independent process, which is supported by two major subsystems (COREIPC and Drawingarea). The biggest difference between a multi-process browsing model in WEBKIT2 and Google Chrome is that WebKit directly puts the standalone process model into one frame, so it can be used by other clients as well. In fact, historically, in addition to browsers, Apple's mail client and Microsoft's personal information management software have used the WebKit kernel. WebKit is also the foundation of several other mobile browsers, including the iphone operating system, Google's Android, the S60 Web browser used by Symbian phones, and the palm Pre.
The multi-process architecture in Figure 1:webkit
[Reprint] Detailed main browser multi-process architecture: Chrome, IE