浏览器知识点1:进程

93 阅读1分钟

线程:由进程启动和管理,不能单独存在

进程:程序的运行环境

原来浏览器的每一个 页面/插件/扩展程序 都是一个进程

单进程浏览器时代:

  • 不稳定
  • 不流畅

        页面内存泄漏:关闭页面->关闭线程:内存不完全回收

  • 不安全

早期多进程浏览器时代

  • 主进程:下载资源、管理IPC、吸纳事渲染进程生成的图片
  • 进程相互隔离
  • 关闭页面-> 关闭进程 -> 回收内存
  • 安全沙箱:恶意程序无法突破沙箱去获取系统权限

目前多进程浏览器

打开一个页面至少打开4个进程:网络、浏览器、GPU、渲染

  • 浏览器主进程:界面显示、用户交互、子进程管理、存储等
  • GPU进程:实现3D css
  • 网络进程: 网络资源加载
  • 多个渲染进程(沙箱模式):排版引擎Blink、js引擎V8
  • 多个插件进程:插件运行

问题:

  • 更高的资源占用
  • 更复杂的体系架构:耦合性高、扩展性差

未来面向服务架构

各模块重构成独立的服务