日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

浏览器内核、渲染引擎、x86与RAM架构等基本概念

發布時間:2023/12/3 HTML 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浏览器内核、渲染引擎、x86与RAM架构等基本概念 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是瀏覽器內核

負責對網頁語法的解釋(如HTML、JavaScript)并渲染顯示網頁。

瀏覽器內核又可以分成兩部分:渲染引擎(layout engineer 或者 Rendering Engine)和 JS 引擎。最開始渲染引擎和 JS 引擎并沒有區分的很明確,后來 JS 引擎越來越獨立,內核就傾向于只指渲染引擎。

常見的瀏覽器內核

可以分這四種:Trident、Gecko、Blink、Webkit。

  • IE瀏覽器內核:Trident內核,也是俗稱的IE內核;
  • Chrome瀏覽器內核:統稱為Chromium內核或Chrome內核,以前是Webkit內核,現在是Blink內核;
  • Firefox瀏覽器內核:Gecko內核,俗稱Firefox內核;
  • Safari瀏覽器內核:Webkit內核;
  • Opera瀏覽器內核:最初是自己的Presto內核,后來是Webkit,現在是Blink內核;
  • 360瀏覽器、獵豹瀏覽器內核:IE+Chrome雙內核;
  • 搜狗、遨游、QQ瀏覽器內核:Trident(兼容模式)+Webkit(高速模式);
  • 百度瀏覽器、世界之窗內核:IE內核;
  • 2345瀏覽器內核:以前是IE內核,現在也是IE+Chrome雙內核;

Webkit

Webkit(Safari內核,Chrome內核原型,開源):它是蘋果公司自己的內核,也是蘋果的Safari瀏覽器使用的內核。 Webkit引擎包含WebCore排版引擎及JavaScriptCore解析引擎

Blink

2008 年,谷歌公司發布了 chrome 瀏覽器,瀏覽器使用的內核被命名為 chromium。

chromium fork 自開源引擎 webkit,卻把 WebKit 的代碼梳理得可讀性提高很多,所以以前可能需要一天進行編譯的代碼,現在只要兩個小時就能搞定。因此 Chromium 引擎和其它基于 WebKit 的引擎所渲染頁面的效果也是有出入的。所以有些地方會把 chromium 引擎和 webkit 區分開來單獨介紹,而有的文章把 chromium 歸入 webkit 引擎中,都是有一定道理的。

谷歌公司還研發了自己的 Javascript 引擎,V8,極大地提高了 Javascript 的運算速度。

chromium 問世后,帶動了國產瀏覽器行業的發展。一些基于 chromium 的單核,雙核瀏覽器如雨后春筍般拔地而起,例如 搜狗、360、QQ瀏覽器等等,無一不是套著不同的外殼用著相同的內核。

然而 2013 年 4 月 3 日,谷歌在 Chromium Blog 上發表 博客,稱將與蘋果的開源瀏覽器核心 Webkit 分道揚鑣,在 Chromium 項目中研發 Blink 渲染引擎(即瀏覽器核心),內置于 Chrome 瀏覽器之中。

webkit 用的好好的,為何要投入到一個新的內核中去呢?

Blink 其實是 WebKit 的分支,如同 WebKit 是 KHTML 的分支。Google 的 Chromium 項目此前一直使用 WebKit(WebCore) 作為渲染引擎,但出于某種原因,并沒有將其多進程架構移植入Webkit。

后來,由于蘋果推出的 WebKit2 與 Chromium 的沙箱設計存在沖突,所以 Chromium 一直停留在 WebKit,并使用移植的方式來實現和主線 WebKit2 的對接。這增加了 Chromium 的復雜性,且在一定程度上影響了 Chromium 的架構移植工作。

基于以上原因,Google 決定從 WebKit 衍生出自己的 Blink 引擎(后由 Google 和 Opera Software 共同研發),將在 WebKit 代碼的基礎上研發更加快速和簡約的渲染引擎,并逐步脫離 WebKit 的影響,創造一個完全獨立的 Blink 引擎。這樣以來,唯一一條維系 Google 和蘋果之間技術關系的紐帶就這樣被切斷了。

Google 和蘋果在多個領域都是競爭對手,而唯獨在瀏覽器引擎上有技術合作,利益一致。但為了各自的利益,誰都不會拿出 100% 的 “誠意” 來做好 WebKit,因為你做出來的成果競爭對手可以直接享用。移動互聯網已經崛起,手機和平板設備端必將成為瀏覽器的另一個戰場。這個時候,如果 Google 跟蘋果仍然黏在一起,將會嚴重阻礙雙方的進步,也會阻礙 WebKit 的進步。

Blink 引擎問世后,國產各種 chrome 系的瀏覽器也紛紛投入 Blink 的懷抱,可以在瀏覽器地址欄輸入 chrome://version 進行查看。

關于腳本(js)解析引擎

  • Safari瀏覽器:使用Webkit引擎,包含WebCore排版引擎及JavaScriptCore解析引擎
  • Chrome瀏覽器:使用自己研發的V8引擎

總結

內核 === 渲染引擎

蘋果:
Safari瀏覽器:webkit內核和JSCore解析器

Google:
Chrome瀏覽器:blink內核(webkit內核的一個分支)和V8解析器

關于移動端

移動端的瀏覽器內核主要說的是系統內置瀏覽器的內核。

目前移動設備瀏覽器上常用的內核有 Webkit,Blink,Trident,Gecko 等,

  • iPhone 和 iPad 等蘋果 iOS 平臺主要是 WebKit
  • Android 4.4 之前的 Android 系統瀏覽器內核是 WebKit,Android4.4 系統瀏覽器切換到了Chromium,內核是 Webkit 的分支 Blink
  • Windows Phone 8 系統瀏覽器內核是 Trident。
平臺渲染js運行環境
iOSWKWebView渲染(環境有 iOS8、iOS9、iOS10)JavaScriptCore
AndroidX5 基于 Mobile Chrome 37 內核來渲染X5 JSCore來解析
開發工具Chrome Webview 渲染nwjs

國產瀏覽器

為什么國內主流瀏覽器雙核是標配?
其實,雙核功能的出現與我國互聯網環境有著極大的關系,因為有些像網銀和公司校園這類網站用Chrome瀏覽器打不開或會出問題,但卻可以用IE瀏覽器打開。但是對于常見的網站用 IE 瀏覽器搞不好就會卡死。對于這類問題,我們稱之為“網站存在兼容性問題”。

瀏覽器內核時間線

  • 1997年 Trident(IE)
  • 1998年 KHTML(最初用于Linux)
  • 2000年 Gecko(Firefox)
  • 2001年 WebKit(蘋果)
  • 2003年 Presto(opera)
  • 2008年 Chromium(chrome)
  • 2010年 混合引擎(雙核)(國內)
  • 2013年 Blink(chrome)
  • 2015年 EdgeHtml(window10 Edge)

國產內核:

  • 騰訊X5內核 - 基于blink改造
  • UC u3內核

重點關注

蘋果:
Safari瀏覽器、app默認webview:webkit內核和JSCore解析器

Google:
Chrome瀏覽器、android系統瀏覽器等:blink內核和V8解析器

騰訊:
騰訊旗下的瀏覽器、webview等:x5內核(是騰訊基于blink的改造)

蘋果CPU架構的改變

2005年,Mac電腦將拋棄IBM的Power架構CPU,轉為使用Intel的處理器(x86架構)產品。
2020年,自研M1芯片,ARM架構

x86架構與RAM架構

“復雜指令集”和“精簡指令集”:
我們可以繼續舉個例子,比如說我們要命令一個人吃飯,那么我們應該怎么命令呢?我們可以直接對他下達“吃飯”的命令,也可以命令他“先拿勺子,然后舀起一勺飯,然后張嘴,然后送到嘴里,最后咽下去”。從這里可以看到,對于命令別人做事這樣一件事情,不同的人有不同的理解,有人認為,如果我首先給接受命令的人以足夠的訓練,讓他掌握各種復雜技能(即在硬件中實現對應的復雜功能),那么以后就可以用非常簡單的命令讓他去做很復雜的事情——比如只要說一句“吃飯”,他就會吃飯。但是也有人認為這樣會讓事情變的太復雜,畢竟接受命令的人要做的事情很復雜,如果你這時候想讓他吃菜怎么辦?難道繼續訓練他吃菜的方法?我們為什么不可以把事情分為許多非常基本的步驟,這樣只需要接受命令的人懂得很少的基本技能,就可以完成同樣的工作,無非是下達命令的人稍微累一點——比如現在我要他吃菜,只需要把剛剛吃飯命令里的“舀起一勺飯”改成“舀起一勺菜”,問題就解決了,多么簡單。這就是“復雜指令集”和“精簡指令集”的邏輯區別。

x86就是先拿勺子,然后舀起一勺飯,然后張嘴,然后送到嘴里,最后咽下去
ARM就是‘吃飯’指令

ARM的優勢在于效率,ARM采用RISC流水線指令集,在完成綜合性工作處于劣勢,而在任務相對固定的應用場合其優勢就能發揮得淋漓盡致。

效率:ARM>x86
功耗:ARM>x86
擴展能力:x86>ARM
操作系統的兼容性:x86>ARM
軟件開發的方便性及可使用工具的多樣性:x86>ARM

參考資料

https://www.jianshu.com/p/f4bf35898719
https://baike.baidu.com/item/%E6%B5%8F%E8%A7%88%E5%99%A8%E5%86%85%E6%A0%B8/10602413

總結

以上是生活随笔為你收集整理的浏览器内核、渲染引擎、x86与RAM架构等基本概念的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。