最近,我开始学习浏览器的工作原理。互联网上的信息相对分散,没有系统。发现有课程(浏览器的工作原理和实践)和学习笔记。
在学习浏览器的多进程体系结构之前,我们需要先了解过程和线程。
在该过程中使用多个线程进行并行处理可以提高操作效率。
过程与线程之间的关系:
浏览器的多进程体系结构实际上是逐步发展的。一开始,浏览器是一个单个过程,这引起了浏览器会崩溃的线程问题。
为了解决由单个过程引起的不稳定,平稳和不安全的,Chrome团队提出了多进程架构。
Chrome的官方团队设计了一个新的Chrome Architecture,其想法是“以服务为导向的体系结构(SOA),并且各种模块将重新获得独立服务。
每个服务都可以在独立过程中运行。访问服务必须使用定义的界面并通过IPC进行通信,以构建一个更内部,宽松,易于维护和扩展的系统,并更好地实现简单,稳定的镀铬,稳定且稳定的系统。高速,安全的目标。
现在提到了多进程架构,我们如何看页面的过程?
使用Chrome打开任何页面,单击浏览器的右上角,弹出Drop -Down菜单以选择更多工具,然后选择任务管理器。如图所示:
通常包括:浏览器流程,渲染过程,GPU过程和网络流程。如果扩展或插头-in,将有插头 - 流程和扩展过程,以及V8代理分析工具和其他过程。
当我们再次打开新页面时,我们发现渲染过程有所增加?
这是因为Chrome将为每个标签标签创建一个渲染过程,以防止一个页面崩溃而不会影响其他页面。
扩大:
1:如果页面上有iframe,iframe也将在单独的过程中运行
2:如果页面上有插头-in,则相同的插件也需要打开单独的进程
3:如果安装扩展,扩展也将占据该过程
4:如果这两个页面属于同一站,以及页面上的页面B,则他们将使用渲染过程(除非参考关系的特殊处理)
在单词中:多过程浏览器体系结构包括1个浏览器进程,1个网络进程,1个GPU进程,多个渲染过程和多个插件 - 流程。
本文了解浏览器的多进程体系结构的来龙去脉,这也是理解浏览器工作原理的第一步。
原始:https://juejin.cn/post/7094891859801030687