1、浏览器架构的发展

浏览器的架构主要分为两个阶段,单进程浏览器时代,多进程浏览器时代,其又分为:早期多进程架构,目前多进程架构。

  • 单进程浏览器架构图

单进程浏览器.png

  • 早期多进程架构图

早期多进程架构.png

  • 目前多进程架构图

目前多进程架构.png

2、进程和线程的介绍

在上一部分,我们看到了很多名词,我们先来搞清楚什么是进程,什么是线程。

  • 一个进程就是一个程序的运行实例,运行该程序的时候,操作系统会为操作系统会为该程序创建一块内存,用来存放代码、运行中的数据和一个执行程序的主线程。当一个进程关闭时,操作系统会回收为其分配的内存,显然,进程之间的内容是相互隔离的。
  • 线程是不能单独存在的,由进程启动和管理,线程之间共享同一进程的数据,进程中某一线程出错,会导致整个进程的崩溃。
  • 如下图:不同线程共享同一进程的数据。

进程B:多线程处理.png

3、不同浏览器架构的优缺点

由上面提到进程和线程的概念和其关系,我们可以得到下面结论:

单进程架构浏览器

  • 不稳定
  • 不流畅
  • 不安全:插件和脚本可以对电脑进行窃取信息,释放病毒,通过系统漏洞获得系统权限。

    多进程架构浏览器

  • 解决不稳定问题

  • 解决不流畅问题
  • 解决不安全问题:多进程可以利用安全沙箱。
  • 更高的资源占用
  • 更复杂的体系架构