[译]官方图解:Chrome 快是有原因的,现代浏览器的多进程架构

这个系列,一共 4 篇文章,第一篇主要讲解的是 Chrome 的多进程架构,配图很有意思,也很好理解,算是科普的文章。有兴趣可以看下去,如果反响好的话,后面 3 篇我会持续翻译,觉得好就点个赞或者留言分享吧!


CPU、GPU、内存和多进程架构

我们将通过 4 篇博客,来介绍 Chrome 浏览器从高级架构到渲染管道的具体细节。如果你想知道,浏览器是如何将你的代码转换为功能性网站;或者你想确定,为什么可以使用特定技术能提高性能,那么本系列适合你。

作为本系列的第 1 部分,我们将介绍关键技术名词和 Chrome 的多进程架构。

1. CPU(中央处理器)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

CPU(Central Procession Unit) 可以被认为是你计算机的大脑。CPU 核心,就像办公室工作人员,可以逐个处理交代给他们的许多不同的任务。它可以处理从数学到艺术的所有事情,并把处理结果返回出去。曾经大多数 CPU 都是单核,但在现代硬件中,你通常会操作的是多核 CPU,多核 CPU 为你的手机和计算机提供更强的计算能力。

2. GPU

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

GPU(Graphics Processing Unit)是计算机的另一部分。与 CPU 不同,GPU 更擅长处理简单任务,同时可以跨多个核心。顾名思义,它最初是为处理图形而诞生的。这就是为什么在图形处理中,当我们说到 “使用 GPU” 或者 “GPU 支持” 的时候,通常就在说快速渲染和平滑交互。近年来,随着 GPU 加速发展,仅在 GPU 上就可以实现越来越多的计算任务。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如上图所示,三层计算机体系结构中,硬件位于底部,操作系统位于中间,应用程序则在最上层。

当你在计算机或手机上启动应用程序时,CPU 和 GPU 就是为应用程序提供有力的支持。通常,应用程序使用操作系统提供的机制在 CPU 和 GPU 上运行。

Process 和 Thread 上执行的程序

在深入浏览器架构之前,要掌握的另一个概念是 Process(进程) 和 Thread(线程)。

进程可以理解是应用程序的执行程序,线程则是存在于进程内部,并执行其进程程序的部分功能。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

进程作为线程的边界,而线程就像游动在进程中的鱼。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

进程可以通过操作系统,启动另一个进程来执行不同的任务。此时,系统将为新进程分配不同的内存。如果两个进程间需要通信,他们可以利用 IPC(Inter Process Communication)的方式进行通信。许多应用程序都是以这种方式执行的,因此如果某个工作进程(例如一个选项卡)无响应,重启它,并不会影响相同应用程序的其他进程。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

浏览器架构

那么如何使用进程和线程构建 Web 浏览器?

它可能是一个具有多个线程的独立进程,或者存在多个进程但是只有部分进程之间会进行 IPC 通信的结构。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这里有个非常重要的点需要注意,这些不同的架构是实现细节。关于如何构建 Web 浏览器没有标准规范,不同浏览器的架构可能完全不同。

最重要的是浏览器进程,如何与负责应用程序不同部分的其他进程协调。对于渲染器进程,将创建多个进程,并将其分配给每个选项卡。直到最近,Chrome 才为每个标签提供了一个执行进程,现在它尝试为每个站点提供自己的进程,包括 iframe。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如图所示,Chrome 的多进程架构,渲染进程会显示多个图层,表示 Chrome 为每个选项卡运行多个渲染器进程。

这些进程控制什么?

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
img

最后

我这里整理了一份完整的学习思维以及Android开发知识大全PDF,有需要的同学可以自行领取。

资料获取方式:Android完整知识学习体系路线

当然实践出真知,即使有了学习线路也要注重实践,学习过的内容只有结合实操才算是真正的掌握。

😕/bbs.csdn.net/topics/618156601)**

当然实践出真知,即使有了学习线路也要注重实践,学习过的内容只有结合实操才算是真正的掌握。

  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值