浏览器架构-实践篇

1-浏览器架构-实践篇

那么我们来来看看Chrome是对应的浏览器架构是怎样的呢?当我们打开任务管理器的时候,会看到看到浏览器开启会有多个进程(可以通过Chrome的更多工具 -> 任务管理器自行查看。)。

那我们来来看看chrome有哪些主要进程吧。

  • Browser Process:浏览器的主进程(负责协调、主控),只有一个。
    1. 负责包括地址栏,书签栏,前进后退按钮等部分的工作;
    2. 负责各个页面的管理,创建和销毁其他进程;
    3. 将Renderer进程得到的内存中的Bitmap,绘制到用户界面上;
    4. 负责处理浏览器的一些不可见的底层操作,比如网络请求和文件访问;
  • Renderer Process:默认每个Tab页面一个进程,互不影响。
    1. 页面渲染,脚本执行,事件处理等
  • Plugin Process:每种类型的插件对应一个进程,仅当使用该插件时才创建
  • GPU Process:最多一个,用于3D绘制等

那多进程架构由那些优/劣势呢?

优势劣势
单一页面的 crash 并不会影响浏览器不同进程内存不能共享,导致不同进程内存中存有相同信息
插件的 crash 并不会影响浏览器
多进程充分利用多核优势
更为安全,在系统层面上限定了不同进程的权限

chrome 为了节省内存的使用,限制了最多的进程数,最大进程数量由设备的内存和 CPU 能力决定,当达到这一限制时,新打开的 Tab 会共用之前同一个站点的渲染进程。

Chrome 把浏览器不同程序的功能看做服务,这些服务可以方便的分割为不同的进程或者合并为一个进程。以 Broswer Process 为例,如果 Chrome 运行在强大的硬件上,它会分割不同的服务到不同的进程,这样 Chrome 整体的运行会更加稳定,但是如果 Chrome 运行在资源贫瘠的设备上,这些服务又会合并到同一个进程中运行,这样可以节省内存。

以上介绍完了浏览器的基本架构,但是我们最开始的问题还没开始解决呢!回顾一下问题:

「在浏览器地址栏中输入 url 到页面展现的短短几秒内浏览器究竟做了什么?」

下一篇文章

问题-概况篇

转载于:https://juejin.im/post/5c6d3bef6fb9a049d05e515b

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值