浏览器进程架构

浏览器漫长的发展历程中,伴随着进程架构的不断更新迭代。从单进程架构、多进程架构到面向服务架构,目前还在不断过渡。

浏览器中的任务

  • 浏览器自身
  • 页面渲染(打开新的页面就需要进行新的页面渲染)
  • 插件
  • 网络请求
  • gpu渲染
  • audio、video
    浏览器所需执行的任务会随着场景不断增多。

单进程架构

单进程浏览器架构图
  • 所有任务都是在同一进程下执行,分发给多个线程。
  • 单个线程会执行一个或多个任务。

弊端

  • 不稳定

线程中任意一处线程出现问题会导致整个进程崩溃,可能会因为一个插件的问题、一个页面的问题影响到整个浏览器的使用。

  • 不流畅

单线程每个时刻只能执行一个任务,如果当前任务执行时间过长,会阻塞后续任务,造成页面卡顿。

  • 不安全

未对插件线程进行限制。插件通常可为C、C++程序,可获取到系统层级资源,进行读写操作,有安全隐患。而且,早期浏览器很多功能由插件实现。

多进程架构

多进程架构图

将之前各项任务划分到更多进程中。

  • 浏览器主进程

主要负责界面显示、用户交互、子进程管理,同时提供存储等功能。

  • 渲染进程

负责页面的渲染,将html、css、javascript代码转换为用户可与之交互的页面。chrome的排版引擎blink和js运行引擎v8都在此进程中。为确保安全性,该进程至于沙箱模式(限制权限,不能对系统重要位置进行读写操作)中。

  • 网络进程

负责获取页面中远程资源的获取,从浏览器进程中独立出来。

  • 插件进程

负责插件的运行,通过这种方式与其他进程隔离,防止因插件崩溃导对浏览器和页面产生影响。

  • GPU进程

页面、chrome的UI界面由GPU渲染,GPU称为浏览器普遍的需求,引入了GPU进程。

弊端

以上的多进程和沙盒隔离解决了之前所述单线程所带来的弊端。

  • 使用多进程会带来更高的资源占用。
  • 各模块间耦合性高,架构过于复杂,难于扩展,很难满足新的需求。

面向服务的架构

  • 将原先的模块重构成服务,每个服务在独立的进程中运行。
  • 访问服务须使用定义好的接口,各个进程间通过IPC通信。
  • 从而实现了松耦合、易于扩展的目标。
  • Chrome 最终要把 UI、数据库、文件、设备、网络等模块重构为基础服务,类似操作系统底层服务。
  • Chrome 还提供灵活的弹性架构,在强大性能设备上会以多进程的方式运行基础服务,但是如果在资源受限的设备上,Chrome 会将很多服务整合到一个进程中,从而节省内存占用。


    面向服务的架构
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,463评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,868评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,213评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,666评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,759评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,725评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,716评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,484评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,928评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,233评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,393评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,073评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,718评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,308评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,538评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,338评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,260评论 2 352