背景:
Chrome浏览器,不用多说,家喻户晓。其背后就是开源项目The Chromium Project,包括了Chromium以及ChromiumOS。Chromium的目的是给用户打造一个安全、快速以及稳定的Web体验。Chromium官网地址如下:
这里面有大量的Chromium资料,包括如何下载源代码、如何在不同的平台上build,如何提交代码以及报告BUG,还提供了部分Chromium的设计文档,当然有些设计文档是针对早期的Chromium,后续的版本可能已经变更了,不过对于了解Chromium的基本架构还是有很大的帮助。
---------------------------------------------------------------------------------------------------------------------------------------------------
本次笔记主题:Chromium进程模型,基本架构,源码结构
1. 进程模型
为了提高Chromium的稳定性,减少不同网页之间的影响以及网页对Chromium浏览器本身的影响。Chromium采用了一个多进程的架构模式,这些进程包括:
- Browser进程:Chromium主进程,Chromium启动时创建的进程。
- Render进程:网页渲染进程,每个打开的网页都会为器创建一个Render进程
- GPU进程:顾名思义,是Graphic相关的进程,主要和GPU打交道。Chromium还提供了启动参数,可以设置GPU线程,即将GPU进程的工作放到Browser内部的GPU线程里。
下面是来自Chromium官网的一张进程模型图:
以上图片很直观地