那麼咱們來來看看Chrome是對應的瀏覽器架構是怎樣的呢?當咱們打開任務管理器的時候,會看到看到瀏覽器開啓會有多個進程(能夠經過Chrome的更多工具 -> 任務管理器
自行查看。)。chrome
那咱們來來看看chrome有哪些主要進程吧。瀏覽器
那多進程架構由那些優/劣勢呢?安全
優點 | 劣勢 |
---|---|
單一頁面的 crash 並不會影響瀏覽器 | 不一樣進程內存不能共享,致使不一樣進程內存中存有相同信息 |
插件的 crash 並不會影響瀏覽器 | |
多進程充分利用多核優點 | |
更爲安全,在系統層面上限定了不一樣進程的權限 |
chrome 爲了節省內存的使用,限制了最多的進程數,最大進程數量由設備的內存和 CPU 能力決定,當達到這一限制時,新打開的 Tab 會共用以前同一個站點的渲染進程。網絡
Chrome 把瀏覽器不一樣程序的功能看作服務,這些服務能夠方便的分割爲不一樣的進程或者合併爲一個進程。以 Broswer Process 爲例,若是 Chrome 運行在強大的硬件上,它會分割不一樣的服務到不一樣的進程,這樣 Chrome 總體的運行會更加穩定,可是若是 Chrome 運行在資源貧瘠的設備上,這些服務又會合併到同一個進程中運行,這樣能夠節省內存。架構
以上介紹完了瀏覽器的基本架構,可是咱們最開始的問題還沒開始解決呢!回顧一下問題:工具
「在瀏覽器地址欄中輸入 url 到頁面展示的短短几秒內瀏覽器究竟作了什麼?」post
問題-概況篇url