【译】深入了解现代web浏览器(一)CPU,GPU,内存和多进程架构

作者&投稿:年荆 (若有异议请与网页底部的电邮联系)
~

C entral P rocessing U nit -- 中央处理器
一个cpu可以看成是计算机的大脑。一个cpu内核,可以想象成一个办公室工作人员,可以处理一个接一个的工作。过去,大多数的cpu都是单芯片。现代硬件中,通常会有多内核,为手机和电脑提供强大的计算能力。

G raphics P rocessing U nit - 图形处理器,显卡。
cpu擅长同时处理跨内核的第一个简单任务。顾名思义,它是为处理图形而开发的。

计算机的三层架构:机器硬件在最底层,操作系统在中间,应用在最上面。

进程可以看作应用的执行程序。线程是存在于进程里面,并且可以执行进程的任一部分程序。

当我们启动一个应用的时候,就会创建一个进程。程序可能会创建多个线程去帮助其工作,当然这是可选的。操作系统会给进程分配内存块,应用程序的所有状态都可以保存在该私有空间。当关闭程序的时候,进程会消失并且操作系统也会释放内存。
[图片上传失败...(image-79f93e-1614521883417)]

一个进程可以向操作系统申请另外一个进程来执行不同的任务,操作系统将为新进程分配另外一部分内存。如果两个进程想要通信,他们需要使用 I nter P rocess C ommunication (进程间通信)。很多应用都是以这种方式 工作的,如果一个进程无响应,可以直接重启该进程,而不需要停止执行应用程序其他部分的进程。

[图片上传失败...(image-314f39-1614521883417)]

目前没有关于如何构建网页浏览器的标准规范,因此一个浏览器的实现方法和另外一个可能完全不同。可以是具有多个线程的一个进程,也可以是几个通过IPC进行通信的多个进程。

我们以Chrome的架构为例子来介绍。顶部是浏览器进程,负责协调应用程序的其他进程。对于渲染进程,将会有多个并且分配给每个tab。现在,Chrome为每个tab页创建提供单独的进程,包括iframe。

下图为Chrome的多进程架构图。在渲染进程下有多个图层,它表示为每个tab页运行了多个渲染进程。

不同进程指向浏览器UI界面的不同部分:

还有更多的进程,比如扩展进程和实用进程。我们点击浏览器右上角的三个点,选择“更多工具” -> "任务管理器",它列出了当前正在运行的进程和占用的cpu/内存量。如下:

[图片上传失败...(image-ccb7a6-1614521883417)]

由于进程有自己私有的内存空间,通常包含通用结构的备份。这意味着更多的内存占用,因为他们不是同一进程的多个线程,因此无法共享。为了节省内存,chrome限制可启动的进程个数,限制数量根据当前设备内存和cpu动态确定,但是当触发这个限制之后,将会对同一站点的多个tab页在一个进程中运行。

同样的方式适用于浏览器进程。Chrome正在进行架构调整,将浏览器的程序每个程序部分作为一个服务运行,可以将不同的进程进行拆分和合并。

一般的想法是,当Chrome在强大的硬件上运行的时候,为了稳定性它会将每个服务拆分到不同的进程,但是如果在一个资源有限的设备上,为了节省内存Chrome会将服务合并到一个进程。在次更改之前,安卓平台已经使用类似的方法为了减少内存使用合并了多个进程。

[图片上传失败...(image-33c86d-1614521883417)]

站点隔离是Chrome最新引入的功能,可以为每个iframe运行单独的渲染进程。我们一直在讨论每个tab页都有一个独立的渲染进程,它允许跨站点的iframe在一个渲染进程中运行,并且在不同的站点共享内存空间。在一个渲染进程中运行 a.com 和 b.com 看起来没有问题。同源策略是web的核心安全模型,它确保一个网站在未经同一的情况下访问其他站点的数据,绕过此策略是安全攻击的主要目标。进程隔离是分离站点最有效的方法。因为meltdown和spectre这两个经典漏洞,我们需要使用进程隔离站点变得更加明显。从Chrome 67版本以来默认启用站点隔离,每个跨站点的iframe会有一个独立的渲染进程。

启用站点隔离是一项多年工程积累的成果。站点隔离并不像分配不同渲染进程那么简单,它从根本上改变了iframe的通信方式。在不同进程运行的iframe页面上打开devtools意味着devtools必须实现后台的通信功能才能让它们看起来是无缝的。就算在页面上使用 ctrl + f 搜索也意味着在不同渲染进程间查找。这就是浏览器工程师将站点隔离功能的发布当作一个主要里程碑的原因。

在这篇文章中,我们涵盖了浏览器的高级视图和多进程架构的优势。我们页介绍了与多进程架构密切相关的服务化和站点隔离。在下一篇中,我们将深入研究这些进程和线程为了展示网站发生了什么。




w两个世界韩语翻译
w两个世界 韩语 두 세계 w du segye w

名诗我译( W.H.奥登篇)——Funeral Blues(葬礼蓝调)
W.H.奥登是二十世纪为数不多的大诗人之一,他的诗不像艾略特关注宏大的时代主题,也没有庞德浩瀚的诗章风格,跟弗罗斯特植根田野生活的诗也大相径庭,更不是史蒂文斯那种纯粹玄思式的诗,他的写作具备很高的知识性,是典型的知识分子写作,深谙历史、艺术的他可以将深奥的哲学思考置入现实生活的场景,既创造一种迷人的智识...

"WNAS"缩写代表的无线网络服务在哪些领域得到广泛应用?
英语缩写"WNAS"通常被译为"Wireless Network Access Services",中文直译即为"无线网络接入服务"。本文将深入探讨这个术语,包括其英文单词的详细解释、中文拼音,以及它在计算机科学和网络安全领域的应用。WNAS是一个专注于无线网络技术的缩写词,其分类和应用场景广泛,如利用无线路由器构建网络,为用户提供...

六西格玛实施指南战略视角与管理方法图书信息
要深入了解六西格玛的实施策略和管理技巧,可以参考由福里斯特·W·布雷弗格三世等专家著作的书籍。这本名为《六西格玛实施指南》的著作已经译成中文,收录在中国人民大学出版社的国际质量译丛中。书号为9787300050614,便于您查找和购买。该书于2003年11月1日首次出版,至今已有多个版本,共249页,采用平装...

wen是什么意思翻译
Wen的意思是:(尤指头皮的)皮脂腺囊肿,粉瘤;“囊肿”的大城市,人口众多的大城市(尤指伦敦);(发音如现代英语w的)如尼字母。近义词:pilar cyst 毛发囊肿;steatocystoma 皮脂囊瘤;sebaceous cyst 皮脂囊肿,粉瘤。同义词:cyst; city; rune;『短语』the Great Wen 伦敦;例句: Hey, ...

[翻译科普]DAC 数字滤波第 2 部分– 深入了解 AK4490 & AK4493 滤波器...
W-DAC 4490: 具备两种快滤波(Sharp)和两种慢滤波(其中一种为线性),以满足不同需求。测量标准: 测试通常在48 kHz采样率下进行,以90 kHz\/1 MHz带宽评估,使用-20 dBFS音调进行音频性能评估。滤波器特性与表现: FFT分析揭示了滤波器斜率对白噪音、10 kHz音调的影响。快速滤波器在噪声带宽上表现...

求JYJ的W和找到了的歌词韩文版,原文!!不要罗马音译或者中文翻译。谢谢...
유천&준수&재중 - 찾았다(找到了)성균관 스캔들 (KBS 월화드라마) 韩剧《成均馆绯闻》OST 2010.09.21 솔직히 ...

英语翻译16
你好,很高兴为你解答。保证正确率~!【翻译】:M:Those modern sculptures over there are really weird. Don’t you think so?(男人):就在那方的那些现代雕塑看起来真的很怪异,你难道不这样觉得吗?W: Well, I couldn’t stand them either at first. But now I’ve come to like ...

大学软件工程专业教材都有哪些?
ST软件工程免费下载 链接:https:\/\/pan.baidu.com\/s\/1zesJfTuWTpPplC7Yf4YusQ 提取码:7y95 ST是指境内上市公司被进行特别处理的股票,也是退市风险警示。ST股是指境内上市公司经营连续两年亏损,被进行退市风险警示的股票。

先翻译一下他是什么意思?w is for window
w is for window翻译成中文是:w代表窗户 重点词汇双语例句是:Let me fire up another window.让我再打开一个窗口。

商都县19633365957: 什么是浏览器? -
鄂钞康博: IE即Internet Explorerde的缩写,中文名网络浏览器 微软公司出品的WEB浏览器 ====================== IE浏览器是由微软公司出品的一款浏览器,并且采用免费(与Win)捆绑的方式提供给用户,也就是说,只要你用的是Win系列操作系统...

商都县19633365957: web是什么意思 -
鄂钞康博: Web就是一种超文本信息系统,Web的一个主要的概念就是超文本连接,它使得文本不再象一本书一样是固定的线性的.而是可以从一个位置跳到另外的位置.你可以从中获取更多的信息.可以转到别的主题上.想要了解某一个主题的内容只要...

商都县19633365957: 简要介绍Web服务器的原理,以及端口号、HTTP、HTML、ASP等概念. -
鄂钞康博: web服务器的原理就是解析你的web应用程序,然后输出页面给浏览器,就是把你的脚本语言翻译为用户可以看得懂浏览器上所能看到的东西.如果说网址(ip)是一个家,那么端口就好像是这个家的每个不同的房间,端口不同,访问的页面也不同.http是超文本传输协议的英文简写,就是网络间传输数据的一种协议.html是一种网页的语言,是学习网页制作最基本的东西,asp的中文全称为动态服务页面,他是微软开发的一种脚本语言,了解他,就要先了解vb,vbscript的各种对象的使用和属性,不管是那种动态语言,最重要的都是和数据库打交道.asp也不例外,你可以用它来任意添加,删除,修改数据,可以利用它来制作网页留言板,论坛,聊天室等“动态的东西”

商都县19633365957: web是什么意思
鄂钞康博: Web的定义. Web,全称为World Wide Web,缩写WWW,中文称万维网. 简单地说,Web是一种体系结构,通过它可以访问遍布于因特网主机上的链接文档.

商都县19633365957: 表示层此层通常在客户端PC上.最常见的是IE浏览器.这是表示层软?
鄂钞康博: 表示层此层通常在客户端PC上. 最常见的是IE浏览器. 这是表示层软件. 表示层是直接与用户交互的软件. 业务逻辑层此层通常在服务器端. 顾名思义,所有业务逻辑...

商都县19633365957: 电子商务网站设计原理笔记!
鄂钞康博: 1. 什么是Web服务器?Web浏览器的作用是什么?简述浏览器打开文件的步骤. 答:Web服务器是用于存储WWW文件并响应处理客户机请求的计算机.浏览器的作用在于解释并显示超文本文档,包括指向其他文档的引用(或指针),与其他 ...

商都县19633365957: 跪求:浏览器的概念?(不要说的太空洞了,具体点更好)
鄂钞康博:万维网(Web)服务的客户端浏览程序.可向万维网(Web)服务器发送各种请求,并对从服务器发来的超文本信息和各种多媒体数据格式进行解释、显示和播放.

商都县19633365957: 什么是html,html5兴起及html5语言简介 -
鄂钞康博: 1、html是超文本标记语言,标准通用标记语言下的一个应用. 2、“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素. 3、html5是html的第五个版本 4、HTML5草案的前身名为 Web Applications 1.0,于2004年被...

商都县19633365957: javascript是什么意思 -
鄂钞康博: JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用...

商都县19633365957: 电子商务网站应考虑的重点有哪些及实现方法?
鄂钞康博: 请输入你的答案...第一章 绪论 一、电子商务网站的概念 什么是电子商务网站. 电子商务网站对于一个运营商业网站的企业来说,电子商务网站是它们生存的理由和基础,同时也是企业对外展示信息、从事商务活动的窗口和界面. 电子商务网站...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网