微軟解析新Edge瀏覽器的多進(jìn)程體系結(jié)構(gòu) 提高使用資源的可問(wèn)責(zé)性?
今天的瀏覽器更像是操作系統(tǒng),而不是文檔查看器。用戶在瀏覽器中執(zhí)行的任務(wù)越來(lái)越多,而在桌面應(yīng)用程序中執(zhí)行的任務(wù)越來(lái)越少。然而,每個(gè)網(wǎng)頁(yè)、Web應(yīng)用和擴(kuò)展都會(huì)使用內(nèi)存。因此,用戶經(jīng)常會(huì)關(guān)心內(nèi)存使用情況如何影響他們的體驗(yàn)。
我們正在努力開(kāi)發(fā)解決方案,以解決這一問(wèn)題。這些解決方案包括為網(wǎng)站和擴(kuò)展開(kāi)發(fā)者提供信息,幫助他們使用更少的資源,并幫助用戶了解他們的瀏覽習(xí)慣如何影響Microsoft Edge的資源使用。
我們將在未來(lái)幾個(gè)月內(nèi)分享更多關(guān)于Microsoft Edge的內(nèi)存使用情況,從今天的文章開(kāi)始深入探討Microsoft Edge的多進(jìn)程架構(gòu)。我們希望這能讓您深入了解Microsoft Edge如何使用您的計(jì)算機(jī)資源,瀏覽習(xí)慣如何影響資源使用,以及您如何幫助我們讓Microsoft Edge變得更好。
多進(jìn)程體系結(jié)構(gòu)如何幫助提高瀏覽器的安全性和可靠性
許多瀏覽器是使用多進(jìn)程體系結(jié)構(gòu)構(gòu)建的,這意味著瀏覽器被劃分為不同的進(jìn)程。
瀏覽器進(jìn)程(Browser process): 這是主要的進(jìn)程,它幫助管理窗口和標(biāo)簽,并控制瀏覽器框架,如地址欄和前進(jìn)和后退按鈕。它還可以對(duì)網(wǎng)絡(luò)請(qǐng)求和文件訪問(wèn)等實(shí)用程序的特權(quán)訪問(wèn)進(jìn)行路由。
渲染進(jìn)程(Renderer processes): 這些控件通過(guò)執(zhí)行網(wǎng)站提供的代碼來(lái)控制網(wǎng)站如何在標(biāo)簽頁(yè)中渲染。它們處理HTML、CSS、JavaScript、圖像等。每個(gè)渲染器進(jìn)程的資源使用情況都取決于所托管的內(nèi)容。
GPU進(jìn)程(GPU process): 該進(jìn)程負(fù)責(zé)與GPU(圖形處理單元)進(jìn)行通信并處理所有GPU任務(wù)。GPU是一種硬件,可以快速執(zhí)行與圖形相關(guān)的計(jì)算,并將輸出發(fā)送到顯示器以進(jìn)行顯示,現(xiàn)代瀏覽器使用GPU來(lái)快速渲染網(wǎng)頁(yè)。
實(shí)用程序進(jìn)程(Utility processes): 音頻播放、網(wǎng)絡(luò)服務(wù)、視頻采集、數(shù)據(jù)解碼、收藏管理器都由這些進(jìn)程來(lái)處理,這樣Microsoft Edge就可以控制和審核這些資源的訪問(wèn),協(xié)調(diào)全局系統(tǒng)資源的使用。
插件進(jìn)行和擴(kuò)展程序進(jìn)程(Plug-in processes and extension processes): 插件進(jìn)程包含活動(dòng)插件,例如Adobe Flash,而擴(kuò)展進(jìn)程包含活動(dòng)擴(kuò)展。每個(gè)進(jìn)程執(zhí)行由插件或擴(kuò)展提供的代碼,每個(gè)進(jìn)程的資源使用情況根據(jù)所提供的代碼而不同。每個(gè)進(jìn)程也有允許插件或擴(kuò)展與瀏覽器和渲染器進(jìn)程通信的代碼。
Crashpad處理程序進(jìn)程(Crashpad handler process): 這可以跟蹤Microsoft Edge中不同進(jìn)程的健康狀況。如果Microsoft Edge崩潰,這個(gè)過(guò)程將幫助瀏覽器捕獲并將崩潰報(bào)告?zhèn)鬏數(shù)轿④浄?wù)器,我們使用這些崩潰報(bào)告來(lái)尋找和修復(fù)崩潰。
現(xiàn)在我們已經(jīng)介紹了每個(gè)進(jìn)程的作用,讓我們來(lái)看看一個(gè)進(jìn)程的例子,它將為一個(gè)打開(kāi)了一個(gè)標(biāo)簽頁(yè)并在Microsoft Edge中打開(kāi)了兩個(gè)擴(kuò)展的用戶運(yùn)行。
瀏覽器實(shí)例,其中一個(gè)選項(xiàng)卡已打開(kāi),兩個(gè)擴(kuò)展已打開(kāi)
如果用戶打開(kāi)Windows任務(wù)管理器,則將顯示進(jìn)程:
在此示例中,用戶將看到九個(gè)進(jìn)程正在運(yùn)行:
瀏覽器框架的瀏覽器進(jìn)程
一個(gè)幫助顯示圖形的GPU進(jìn)程
一個(gè)正在運(yùn)行示例網(wǎng)站提供的代碼的渲染器進(jìn)程
網(wǎng)絡(luò)服務(wù)實(shí)用程序進(jìn)程,幫助處理網(wǎng)絡(luò)請(qǐng)求
音頻服務(wù)實(shí)用程序進(jìn)程,可幫助播放音頻
運(yùn)行Flash提供的代碼的插件進(jìn)程
兩個(gè)擴(kuò)展進(jìn)程,每個(gè)擴(kuò)展進(jìn)程一個(gè),運(yùn)行擴(kuò)展提供的代碼
一個(gè)監(jiān)控Microsoft Edge健康狀況的crashpad處理程序
所有這些過(guò)程一起寫(xiě)作,給你今天使用的瀏覽體驗(yàn)。
現(xiàn)在讓我們來(lái)看另一個(gè)例子。在下一個(gè)示例中,用戶打開(kāi)了四個(gè)選項(xiàng)卡,并啟用了兩個(gè)擴(kuò)展(圖2)。每個(gè)標(biāo)簽都有一個(gè)廣告(兩個(gè)來(lái)自一個(gè)來(lái)源,兩個(gè)來(lái)自另一個(gè)來(lái)源)。
瀏覽器實(shí)例打開(kāi)了四個(gè)選項(xiàng)卡,并且打開(kāi)了兩個(gè)擴(kuò)展
在此示例中,如果用戶打開(kāi)任務(wù)管理器,他們將看到14個(gè)進(jìn)程正在運(yùn)行:
瀏覽器框架的瀏覽器進(jìn)程
一個(gè)幫助顯示圖形的GPU進(jìn)程
六個(gè)渲染器進(jìn)程:
四個(gè)標(biāo)簽頁(yè)的渲染器進(jìn)程,每個(gè)標(biāo)簽頁(yè)都有自己的渲染器進(jìn)程,并運(yùn)行網(wǎng)站提供的代碼。有時(shí),來(lái)自同一域的選項(xiàng)卡將共享一個(gè)進(jìn)程。
兩個(gè)廣告的渲染器進(jìn)程。來(lái)自同一域名的廣告將共享一個(gè)進(jìn)程,并將運(yùn)行廣告提供的代碼。在本例中,第一個(gè)來(lái)源的兩個(gè)廣告將共享一個(gè)進(jìn)程,第二個(gè)來(lái)源的兩個(gè)廣告將共享一個(gè)單獨(dú)的進(jìn)程。這些廣告使用稱為子幀的東西嵌入網(wǎng)頁(yè)中。(稍后我們將詳細(xì)討論子幀。)
網(wǎng)絡(luò)服務(wù)實(shí)用程序進(jìn)程,幫助處理網(wǎng)絡(luò)請(qǐng)求
音頻服務(wù)實(shí)用程序進(jìn)程,可幫助播放音頻
一個(gè)正在運(yùn)行Flash的插件進(jìn)程
兩個(gè)擴(kuò)展進(jìn)程,每個(gè)擴(kuò)展進(jìn)程一個(gè),運(yùn)行擴(kuò)展提供的代碼
一個(gè)監(jiān)控Microsoft Edge健康狀況的crashpad處理程序
一些例子更加復(fù)雜。您可能會(huì)看到對(duì)您不可見(jiàn)的子框架的其他進(jìn)程,或者您可能會(huì)看到項(xiàng)目(如service workers人員或web workers)與選項(xiàng)卡或子框架共享進(jìn)程。service workers和web workers是在后臺(tái)運(yùn)行的腳本,以提高性能,并允許您在沒(méi)有互聯(lián)網(wǎng)連接的情況下使用一些網(wǎng)站和應(yīng)用程序。
Chromium's多進(jìn)程架構(gòu):https://www.chromium.org/developers/design-documents/multi-process-architecture
多進(jìn)程架構(gòu)的好處
每個(gè)進(jìn)程都有不同的目的,影響進(jìn)程總數(shù)的因素很多。那么,Microsoft Edge為什么要使用這種多進(jìn)程架構(gòu)呢?
與其他現(xiàn)代瀏覽器一樣,Microsoft Edge使用這種架構(gòu)來(lái)提高安全性、可靠性和對(duì)瀏覽器如何使用資源的可問(wèn)責(zé)性。Microsoft Edge基于Chromium項(xiàng)目構(gòu)建,并與其他Chromium瀏覽器共享一個(gè)通用實(shí)現(xiàn)。
增強(qiáng)的安全性
如果惡意軟件利用了一個(gè)渲染器進(jìn)程中的安全漏洞,則很難逃脫該進(jìn)程并影響另一個(gè)進(jìn)程。
渲染器進(jìn)程是最有可能受到攻擊的進(jìn)程,因?yàn)樗桥c網(wǎng)站交互的進(jìn)程。該進(jìn)程的特權(quán)較低,并且對(duì)操作系統(tǒng)的訪問(wèn)受到極大限制,因此,如果惡意軟件控制該進(jìn)程,則它將無(wú)法控制該計(jì)算機(jī)。渲染器進(jìn)程和瀏覽器進(jìn)程之間的通信范圍狹窄且受到保護(hù),惡意軟件很難利用此優(yōu)勢(shì)來(lái)利用瀏覽器進(jìn)程。
另外,進(jìn)程隔離可以防止一個(gè)進(jìn)程訪問(wèn)另一個(gè)進(jìn)程的內(nèi)存,這也提高了瀏覽器的安全性。舉例來(lái)說(shuō),假設(shè)您正在網(wǎng)上購(gòu)買襯衫,并且該網(wǎng)站上有一個(gè)廣告。您所訪問(wèn)的網(wǎng)站需要訪問(wèn)您的信用卡信息才能完成交易;但是,廣告不需要訪問(wèn)此信息。廣告將按照自己的流程進(jìn)行處理,因此即使廣告遭到入侵,也無(wú)法輕松訪問(wèn)您的敏感信息。
可靠性
如果網(wǎng)頁(yè)、Web應(yīng)用、擴(kuò)展程序或插件發(fā)生崩潰,只有正在崩潰的進(jìn)程才會(huì)受到影響,提高瀏覽器的可靠性。瀏覽器的其余部分,包括大多數(shù)其他選項(xiàng)卡,將保持穩(wěn)定。
資源問(wèn)責(zé)制
隔離每個(gè)進(jìn)程,可以更容易地在任務(wù)管理器中看到哪個(gè)進(jìn)程使用了最多的資源,并提供有關(guān)哪些資源使用的信息。Microsoft Edge使用最多的資源,還是網(wǎng)站,擴(kuò)展程序或插件?您還可以在Microsoft Edge的內(nèi)部任務(wù)管理器中看到這些信息,您可以在Microsoft Edge中按Shift+Esc鍵打開(kāi),或者進(jìn)入瀏覽器的上角,選擇設(shè)置和更多(...)>更多工具>瀏覽器任務(wù)管理器。
關(guān)鍵詞: Edge瀏覽器 進(jìn)程 結(jié)構(gòu)
責(zé)任編輯:hnmd004
- 清倉(cāng)和半倉(cāng)有什么區(qū)別?北交所中簽100股能賺2023-06-14
- 申購(gòu)新股最多可以配多少個(gè)號(hào)?新股申購(gòu)配號(hào)2023-06-14
- 環(huán)球視訊!提前還車貸會(huì)影響征信嗎?車貸提2023-06-14
- 內(nèi)馬爾和姆巴佩誰(shuí)才是球隊(duì)老大??jī)?nèi)馬爾和梅2023-06-14
- 房貸轉(zhuǎn)貸有什么風(fēng)險(xiǎn)?按揭房轉(zhuǎn)貸貸款可靠嗎2023-06-14
- 雅迪冠能探索E10電動(dòng)車亮相 售價(jià)從4990元2023-06-14
- 漲浮不定與漲幅不定的區(qū)別是什么?漲幅和漲2023-06-14
- 保溫杯有涂層的目的是什么?保溫杯什么材質(zhì)2023-06-14
- 蘋(píng)果手機(jī)可以更新系統(tǒng)嗎?蘋(píng)果手機(jī)發(fā)熱發(fā)燙2023-06-14
- 水瓶給人一種好欺負(fù)的樣子 其實(shí)內(nèi)心特別堅(jiān)2023-06-14
- 環(huán)球滾動(dòng):小米文件夾在哪里?小米手機(jī)怎么2023-06-14
- 心的繁體字怎么寫(xiě)?比的繁體字怎么寫(xiě)?2023-06-14
- 天秤會(huì)和很多人都是朋友 有自己的底線和原2023-06-14
- 電腦桌介紹 電腦桌分類有哪些?2023-06-14
- nft概念是什么意思?nft龍頭股有哪些?什么2023-06-14
- 安利凈水器簡(jiǎn)介 安利凈水器好嗎?2023-06-14
- c1駕照增駕b2駕照需要什么條件?c1駕照怎么2023-06-14
- 什么是利率調(diào)節(jié)機(jī)制? 利率調(diào)節(jié)2023-06-14
- 微波爐有輻射嗎?微波爐解凍要幾分鐘?2023-06-14
- 渭南:2023年新建停車泊位不少于10000個(gè)2023-06-14
- 戌山辰向大富大貴水法_戌 漢字2023-06-14
- 當(dāng)前速讀:延安發(fā)布棗芽茶公用品牌2023-06-14
- 【環(huán)球新要聞】布林帶是指什么有哪些作用?2023-06-14
- 7萬(wàn)億之后 科創(chuàng)板的下一站|全球熱點(diǎn)評(píng)2023-06-14
- 天天實(shí)時(shí):四部門:對(duì)不裁員、少裁員的企業(yè)2023-06-14
- 基金公司解讀央行“降息”:或提振實(shí)體經(jīng)濟(jì)2023-06-14
- 匯豐銀行將分階段結(jié)束新西蘭財(cái)富和個(gè)人銀行2023-06-14
- 天天速訊:人民幣尾號(hào)4444有收藏價(jià)值嗎?人2023-06-14
- 當(dāng)前消息! 攝影的光線有哪幾種?不同方向2023-06-14
- 全球熱門:兩部門:擬分三批組織開(kāi)展中小企2023-06-14
精彩推薦
閱讀排行
-
電影股票概念股有哪些?華誼兄弟、光線傳媒等
下一篇2020-10-10 10:35:17
-
黃金原油下周行情分析及價(jià)格走勢(shì)操作建議 回調(diào)做多為主
上一篇2020-10-10 08:44:06