Edge瀏覽器參考架構

Edge瀏覽器參考架構

一般瀏覽器的主要結構都是下圖這樣的。所以參考下圖來繪製Edge的架構。

在這裏插入圖片描述

首先打開一個edge瀏覽器,然後我們用任務管理器去查看,會看到下圖這樣的結果。

在這裏插入圖片描述

查閱相關資料得知,老版本的Edge由MicrosoftEdge.exeMicrosoftEdgeCP.exe兩個進程組成,後來的版本採用UWP架構,其進程主要由RuntimeBroker.exe和其他進程組成。其中RuntimeBroker和一些核心進程爲中等完整性級別,其他進程都在AppContainer中以低完整性級別運行。

AppContainer是windows提出的進程隔離機制。通過將應用程序與不需要的資源和其他應用程序隔離,可以最大限度地減少惡意操縱的機會。

  • Browser_Broker是broker進程,負責啓動C網頁,同時執行類似文件保存等高特權動作,以中等完整性級別運行。
  • Runtime Broker是以中等完整性級別運行,負責權限管理。
  • Chakra JIT Complier是JavaScript的編譯器,負責解析和執行Javascript代碼。
  • User Interface Service顧名思義是提供用戶接口服務。
  • Background Tab Tool 是標籤頁工具。
  • 百度一下你就知道是我打開的頁面。Edge會爲每一個標籤頁創建一個進程,是瀏覽器sandbox機制的體現。
  • Microsoft Edge Mangaer是主要進程,有待進一步分析。

接下來使用Process Explorer工具來查找Edge各個部分所使用的模塊。在process explore中發現Edge的進程有這麼幾個,和任務管理器大同小異。

在這裏插入圖片描述

查看MicrosoftEdgeCP.exe的dll,根據描述,推測:

  • EdgeContent.dll是Edge的瀏覽器引擎

  • edgehtml.dll是渲染引擎

  • JS解釋器:chakra.dll

  • XML解釋器:xmllite.dll

  • 網絡相關組件包含

    • windows HTTP服務:winhttp.dll
    • Win32的Internet擴展:wininet.dll
    • Web客戶端DLL:Windows.Web.dll
  • 用戶界面後端包含

    • Windows DirectUI 引擎:dui70.dll
    • Windows Direct User Engine:duser.dll
    • DirectX Graphics Infrastructure:dxgi.dll

    在這裏插入圖片描述

結合以上信息,可以初步繪製Edge參考架構:

在這裏插入圖片描述

reference:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章