[翻译]Chromium 的多进程架构
[翻译]Chromium 的多进程架构
这边文章讲的内容为chromium的上层架构. 问题 构建一个不崩溃或者绝对安全的渲染引擎几乎是不可能的. 在2006年左右,浏览器的状态类似于过去的单用户,协作式操作系统.由于一些程序的错误行为可能导致整个系统都崩溃,同样某些页面的错误操作会使整个浏览器奔溃,这只是一个页面的错误或者插件的bug就会导致整个浏览器关闭和所有的Tabs. 现在的操作系统往往都更健壮,因为它将不同的程序放到了彼此隔离的单独进程中.一个应用崩溃通常不会影响其他应用或者整个系统,并且每个用户访问其他用户的数据是受限的. 架构概览 我们对浏览器的Tab页使用单独进程,可以避免整个应用受到渲染引擎的bug或者小故障的影响.我们也限制每个渲染引擎进程访问其他进程和系统的其他部分.这为浏览器带来了内存保护和访问控制操作系统带来了好处. 我们将运行UI的主线程和管理Tabs和插件进程的作为"浏览器进程"或者"浏览器&