据国外媒体报道,随着时代的进步,互联网已经成为人们生活的重要组成部分,而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都运行在它们自己的独立进程中,这些插件进程能够与各自的渲染进程互通;
  *扩展进程——浏览器中的扩展也拥有各自的独立进程,以避免互相干扰。

图1:谷歌Chrome多进程架构

#2、微软IE8 Loosely-Coupled IE(LCIE)
在最新一代浏览器IE8中,微软添加了被称为“Loosely-Coupled IE(LCIE)”的架构。
通过Loosely-Coupled IE(LCIE)架构,IE8将主要的浏览进程与渲染进程相隔离。
主要的进程处理浏览器、用户界面和框架(窗口),用于存储选项卡。在IE8中,多个选项卡是运行在相同的进程中的,不过不同安全级别的选项卡是相互分开的。ActiveX空间是通过选项卡进程进行处理的。

图2:微软IE8多进程架构

图(3)

#3、Mozilla Electrolysis和Out-of-process插件
相较于谷歌Chrome和微软IE8,Mozilla Firefox是步入多进程行列中较晚的一款浏览器,其中所包含的多进程架构也不如Chrome或IE复杂。
Mozilla基金会在Firefox中添加多进程架构的目的就是隔离浏览器插件和浏览器的主要进程,项目代号为“Electrolysis”,正处于早期的测试阶段。
目前,Firefox 3.6.4 beta builds中已经包含了多进程处理能力。

图4:Firefox中的多进程架构

#4、WebKit 2中的多进程
前段时间,WebKit团队宣布,在即将发布的WebKit2中将会包含多进程浏览能力。换句话也就是说,采用WebKit Web渲染引擎的大量浏览器中都将会引进多进程浏览功能。
虽然谷歌Chrome/Chromium使用的是WebKit引擎,不过他们的多进程架构是不同的。在Chrome中,谷歌在每个渲染进程中都包含一个WebKit渲染引擎,而WebKit 小组则计划将WebKit2渲染引擎自身分裂到多个进程中。
在WebKit2采用多进程浏览模型之后,网页的内容(JavaScript,HTML,以及布局等)将各自拥有独立的进程,这一机制是通过两个主要的子系统(CoreIPC和DrawingArea)来支持的。
WebKit2中的多进程浏览模型和Google Chrome的最大不同在于,WebKit直接把独立进程模型放进了一个框架中,因此也能被其他客户端使用。事实上,历史上除了浏览器之外,苹果的邮件客户端和微软的个人信息管理软件都使用过WebKit内核。
WebKit还是其它几个移动浏览器的基础,包括iPhone操作系统、谷歌的 Android、Symbian手机使用的S60 Web浏览器和Palm Pre。

图1:WebKit中的多进程架构

详解主流浏览器多进程架构:Chrome、IE相关推荐

  1. VIP 时代,详解会员营销系统架构技术实践!

    作者| 阿里文娱高级开发工程师  臻龙 责编 | 屠敏 头图 | CSDN 下载自视觉中国 背景介绍 随着在线视频行业数十年的发展,各家的会员业务,尤其是会员规模都已进入成熟期,呈现饱和状态.会员营销 ...

  2. java实现的微服务架构_详解Java 微服务架构

    一.传统的整体式架构 传统的整体式架构都是模块化的设计逻辑,如展示(Views).应用程序逻辑(Controller).业务逻辑(Service)和数据访问对象(Dao),程序在编写完成后被打包部署为 ...

  3. IE6,7,8开发人员工具使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)

    在上一篇文章IE8"开发人员工具"使用详解上(各级菜单详解) 中,我们详细地讲解了IE8开发人员工具中各个菜单中命令的使用方法,相信很多朋友应该已经使用上了.而IE8开发人员工具更 ...

  4. showModalDialog模态对话框的使用详解以及浏览器兼容

    showModalDialog是jswindow对象的一个方法,和window.open一样都是打开一个新的页面.区别是:showModalDialog打开子窗口后,父窗口就不能获取焦点了(也就是无法 ...

  5. 5G时代不可或缺的关键技术:详解边缘计算参考架构3.0

    导读:边缘计算产业联盟(ECC)与工业互联网产业联盟(AII)在2018年11月联合发布了边缘计算参考架构3.0.本文将以这个参考模型为基础,来介绍边缘计算的目标架构. 作者:任旭东 等 来源:大数据 ...

  6. Java中modal dialog,showModalDialog模态对话框的使用详解以及浏览器兼容

    1.ModalDialog是什么?showModalDialog是jswindow对象的一个方法,和window.open一样都是打开一个新的页面. 区别是:showModalDialog打开子窗口后 ...

  7. creo配置文件config选项详解_5年资深架构师重点聚焦:SpringBoot的配置详解+内嵌Servlet容器

    Spring Boot的配置详解 在本节中,我们将重点聚焦在Spring Boot的配置方面. 理解Spring Boot的自动配置 按照"约定大于配置"的原则,Spring Bo ...

  8. 7000字,详解仓湖一体架构!

    全文共7110个字,建议阅读15分钟 在了解湖仓一体化之前,我们先来看一则有关数据仓库的有趣故事吧~ 沃尔玛拥有世界上最大的数据仓库系统,它利用数据挖掘方法对交易数据进行分析后发现"跟尿布一 ...

  9. 详解可微神经网络架构搜索框架(DNAS)

    [论文]FBNet: Hardware-Aware Efficient ConvNet Design via Differentiable Neural Architecture Search [地址 ...

最新文章

  1. 转:如何进行软件架构设计?
  2. modelsim的库仿真流程--1
  3. Faster RCNN原理分析(二):Region Proposal Networks详解
  4. html引用webpack插件,使用html-webpack-plugin,运行webpack,老是报错?
  5. 从无头单链表中删除节点
  6. Mac下安装caffe(cpu-only)
  7. python中的for语句可以在任意序列_python在循环内任意增加迭代器
  8. 编译android源码的make命令解析
  9. macOS IKPictureTaker 图片选择器
  10. Go语言实战--学习笔记--runner
  11. XML解析—开源XOM类库
  12. 数据库服务器如何备份详细教程!
  13. 秀动app抢票脚本_程序员硬核quot;Python抢票教程”,帮你抢回家车票
  14. 如何使用Flashfxp上传下载文件
  15. python日本 老龄化分析_即将读研,求问前辈有什么研究生安利的软件 APP 或者阅读文献用的等一系列提高效率的东西吗!?...
  16. 电源开关电源200W 12V 24V,电源架构PFC+LLC+同步整流,高效率高功率因数
  17. 九城卷入仙境传说2网游私服风波
  18. 程序员是什么又代表这多少角色?你想过吗?
  19. gpt2_gpt 3,一开始是单词2 2
  20. win10 右键卡顿问题

热门文章

  1. konga 连接postgresql 12+启动异常:error: column r.consrc does not exist
  2. Linux FTDI
  3. AGV调度:路径规划
  4. ros::nodehandle常规操作
  5. kali wifi破解(多种方式)
  6. java 借助modbus协议实现与硬件之间的通讯
  7. twitter_如何找回旧的Twitter网站
  8. Banner无限轮播
  9. 机械革命黑苹果改造计划第四番-外接显示器、win时间不正确问题解决
  10. 免费PDF转JPG的开源软件