浏览器之家


详解Chrome、IE、Firefox等浏览器的多进程架构

随着时代的进步,互联网已经成为人们生活的重要组成部分,而Web浏览器也理所应当地成为计算机等设备中最为重要的软件。 

  不过,随着Web浏览器重要性的日益突出,恶意软件、木马、间谍软件等网络攻击也呈现逐渐的上升。而面对如此众多的潜在威胁,为了确保用户的安全性和稳定性,浏览器不得不改进浏览器的性能,其中之一就是向用户提供多进程浏览。
 
  在浏览器中添加多进程浏览功能之后,即使是浏览器其中的一个进程出现了崩溃现象,其他的进程也不会受到影响。例如,如果一个网站中有漏洞或包含恶意代码,它就有可能摧毁当前运行在这个网站上的标签,但是它却不会影响其他的进程或整个浏览器。
 
  目前,有很多的浏览器厂商采用了多进程标签浏览的概念,其中包括谷歌Chrome、微软IE8和Mozilla Firefox,而众多基于WebKit的浏览器也将在不久之后采用多进程标签浏览这个功能,例如苹果的Safari浏览器。
 
  不过,虽然上述浏览器都采用多进程标签浏览概念,但是他们在浏览器中执行多进程标签浏览的方法却是不同的。
 
  #1、谷歌Chrome/Chromium的多进程架构
 
  谷歌Chrome是首款采用多进程浏览概念的浏览器,它还具备最为复杂的用于隔离浏览器各个组成部分的系统。
 
  在Chrome中,谷歌通过out of process plugins(OOPP)功能将所有的插件进程(如Flash、Java、PDF阅读器等)与的浏览器进程隔离,进而提升Chrome浏览器的安全性。也就是说,即使是Chrome中有插件出现崩溃现象,也并不会影响整个浏览器的运行
 
  总得来讲,谷歌Chrome和Chromium中包含以下4中主要的进程类型:
 
  *浏览器进程——用于处理用户界面和管理所有其他的进程,其运行在浏览器的最顶级;
 
  *渲染进程——用于处理独立浏览器标签中的渲染,值得注意的是,一个渲染进程能够处理多个标签;
 
  *插件进程——每个浏览器插件如Adobe Flash或Java都运行在它们自己的独立进程中,这些插件进程能够与各自的渲染进程互通;
 
  *扩展进程——浏览器中的扩展也拥有各自的独立进程,以避免互相干扰。
 
谷歌Chrome多进程架构
图1:谷歌Chrome多进程架构
 
  #2、微软IE8 Loosely-Coupled IE(LCIE)
 
  在最新一代浏览器IE8中,微软添加了被称为“Loosely-Coupled IE(LCIE)”的架构。

评论

没安装畅言模块