2017-04-07 63 views

回答

0

少崩潰或者至少在一個進程崩潰並不是所有的瀏覽器崩潰,提高安全性,讓事情並行

谷歌瀏覽器運行充分利用了這些屬性並將Web應用程序和插件從瀏覽器本身放在不同的進程中。這意味着一個Web應用程序中的渲染引擎崩潰不會影響瀏覽器或其他Web應用程序。這意味着操作系統可以並行運行網絡應用程序來提高響應能力,這意味着如果某個特定的Web應用程序或插件停止響應,瀏覽器本身不會鎖定。這也意味着我們可以在限制性沙箱中運行渲染引擎進程,以幫助在發生漏洞攻擊時限制損害。在這個世界上,將所有內容放在一個進程中的瀏覽器都面臨着穩健性,響應性和安全性方面的實際挑戰。如果一個Web應用程序在渲染引擎中導致崩潰,那麼它將帶着瀏覽器的其餘部分,包括任何其他打開的Web應用程序。 Web應用程序通常必須在單個線程上相互競爭CPU時間,有時會導致整個瀏覽器無響應。安全也是一個問題,因爲利用渲染引擎中的漏洞的網頁經常會佔用整個計算機。

https://www.howtogeek.com/124218/why-does-chrome-have-so-many-open-processes/

在此之上,瀏覽器是渲染HTML,JavaScript和CSS的部分已經隨着時間的推移非常複雜。這些渲染引擎在不斷髮展時經常會出現錯誤,其中一些錯誤可能會導致渲染引擎偶爾崩潰。此外,渲染引擎通常會面臨來自網絡的不信任甚至惡意代碼,這些代碼可能會嘗試利用這些錯誤在您的計算機上安裝惡意軟件。在這個世界中,將所有內容放在一個進程中的瀏覽器都面臨着健壯性,響應性和安全性方面的真正挑戰。如果一個Web應用程序在渲染引擎中導致崩潰,那麼它將帶着瀏覽器的其餘部分,包括任何其他打開的Web應用程序。 Web應用程序通常必須在單個線程上相互競爭CPU時間,有時會導致整個瀏覽器無響應。安全也是一個問題,因爲利用渲染引擎中的漏洞的網頁經常會佔用整個計算機。

https://blog.chromium.org/2008/09/multi-process-architecture.html

+0

我知道Chromium是Chrome的一個開源項目,它是他們發佈的那種細節。會發生什麼呢?我認爲只寫十幾個字(現在是二十個字)是懶惰的,並且引用其餘的部分,不管你讀過什麼東西,無論如何也不需要太多時間去做......這實際上是一個建議你改進你的答案。但是,無論如何,這是你的答案。 –

1

Chrome提供了插件,網絡應用程序,渲染引擎和其他人從瀏覽器本身獨立的進程。

這樣做是爲了使這些進程之一失敗時,它不會影響整個瀏覽器甚至整個選項卡,因爲它們也是獨立的進程。

例如,Firefox沒有這個功能,而是在頁面中檢測到應該導致問題的腳本,並向您顯示一個對話框供您停止使用。

總結:

瀏覽器將這些不同的過程:

  • 瀏覽器
  • 瀏覽器(是的,再鍍鉻本身它已經2個進程)
  • 每個選項卡
  • 每個分機(在最少一個分機)
  • 每個網絡應用程序
  • 每個插件
  • 每一個不管,每個人都是一個過程,耶!

這有助於事情可以並行運行,並且這些東西並沒有結束崩潰整個瀏覽器。

相關問題