欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

能用普通人聽的明白的語言聊一下鴻蒙系統是什么樣的嗎

林玟書2年前15瀏覽0評論

能用普通人聽的明白的語言聊一下鴻蒙系統是什么樣的嗎?

先狗頭保命。(提示:此回答有加密內容)

以下內容為全網獨家消息,轉述自項目相關員工,信息量遠高于各路自媒體。

我看知乎上這么多開發者都在抱怨鴻蒙,我觀點跟其他開發者差不多,發布會約等于什么都沒講,但其實沒必要這么激動。

不管你對發布會滿不滿意,先不要點反對,這篇文章絕對有你要找的東西。

華為的技術一直都還可以,這次發布會的問題是沒有請項目負責人來講解,余本身也多年不碰技術,讓他講ppt,其實不是個正確選擇。

正好我周圍有幾個華為的朋友,工作跟鴻蒙相關。前后問了很多東西,很漲姿勢,這里分享給大家。都是要公開的東西,也不存在泄密。而且也不涉及具體技術實現。

現在很多人說開發者大會連一點文檔,開發工具都沒放出來,連用什么語言都不知道。目前開發工具確實沒準備好。但是已經很有進展了。

朋友的同事A,目前在做形式語言及相關理論的研究。

這次發布會強調統一IDE支撐一次開發,多端部署,可以實現跨終端生態共享。

A所在的組正在設計鴻蒙的開發語言,以及相關的開發工具,這次華為不打算用Java,而是基于超文本標記語言改進,設計了一套全新的語言。叫做原生標記句法語言(Native Marked Syntax Language),簡稱NMS語言。 這是解釋型語言。

很多人會說,解釋型語言不是很慢嗎?是的。

但是解釋型語言可以降低新手的學習門檻,對開發者友好,現在鴻蒙需要生態,要吸引開發者,只能這樣做。

但不用擔心,這次NMS也會納入方舟項目,采用的是解釋器+預編譯技術,后期會慢慢更換為純編譯。性能上有望接近C++和Rust。

A其實是個神人,屬于特別有天分的那種,他初中時,在一次算法比賽中,他用C++寫出了O(1/n)時間復雜度的算法,當時編譯沒有通過,他非常憤怒,錘了一下電腦,然后編譯器鏈接錯誤,于是他只能現場用機器語言寫一個非常粗糙的編譯器來編譯程序,最后比冠軍晚提交了5秒,只拿了亞軍。

后來就喜歡上了編譯原理,高一之前就把龍書虎書鯨書都讀完了。直到現在還沉迷在編譯技術中。整天想著怎么改進haskell和Lisp。

這次他在新語言的解釋器里貢獻了相當多的代碼。(據 @Bricklayer 的內幕消息:方舟編譯器將比GCC多一個級別的優化選項,-O4優化,僅內部使用。此選項為云優化,編譯時代碼將上傳到A的服務器上,由A親自優化)

朋友B,做安全的。他算是大學就一起玩的死黨了,上文和后文的同事,其實都是他的同事,我們玩到一起了而已。

他老大非常牛逼,是華為花大價錢挖過來的白帽子。發布會上說的基于微內核架構提升設備安全性,其實就跟他們組有關。

講大了就泛泛而談了,所以我就講一個點。

如果提到CPU的安全性問題,很多開發者會想起去年初爆出的Meltdown和Spectre漏洞,目前Intel和AMD在售的CPU,幾乎都中招,一時間人心惶惶。

簡單介紹下這兩個漏洞吧。

現代的CPU,不管是x86還是Arm,都使用分支預測技術(Branch Prediction),CPU會在執行if語句,流水線閑置等待的時候猜測一個分支并執行,預測失敗就恢復,執行對的分支。因為程序具有局部性,加速效果非常明顯。

沒這個技術,現在的CPU速度至少降低一半

現代操作系統還有虛擬內存,進程之間無法直接訪問對方的內存,這方便管理,并且保證數據安全。

這本來是沒有什么問題的。

問題出在緩存上,當分支預測失敗時,CPU會恢復到執行之前的狀態,這在邏輯上沒有問題,但是現代CPU出于性能考慮,不會恢復緩存。也就是說,一次分支預測之后執行的代碼,導致一些數據加載到緩存了,如果分支預測失敗,這些緩存是不會主動退回的。

但是緩存訪問更快,內存慢,如果某個惡意程序被執行,并且跟普通進程有內存共享機制。那么惡意程序可以引導普通進程進行特殊地址的訪問,然后惡意程序測量訪問速度,猜出訪問的是緩存還是內存。進階版本的實現甚至可以dump普通進程的整個內存映像。這是一種旁路攻擊。

本來硬件的漏洞,在操作系統層面是沒法修復的,只能補救。如果要軟件修復,要不就是不能完全抵御攻擊,要不是就是犧牲大部分CPU性能。

朋友B所在的組基本上以很小的代價,解決了這個問題,而且這項技術未來也會應用在鴻蒙OS上,這點上其實可以稍微吹一吹,因為目前Windows和Linux都沒做到這點。具技術原理我沒聽太懂,大致是預先訓練一個模型,通過識別進程上下文,提前預判程序的執行流程,可以達到跨秒的預測,大幅降低預測失敗的可能性,這叫熱點換頁算法(Boiling Point Page Swap Algorithm)。

再說說當年他老大怎么進來的。

面試現場,面試官問了個網絡安全的問題,然后老大看到面試官的Thinkpad裝的是Kali Linux,想著就不用啰嗦了,直接上手干,實力說話。于是老大就用那臺thinkpad在面試期間拿下了華為一個生產環境的數據庫,差點拖庫了。雖然不是什么核心的服務器,算不上重大事故,但面試官一下子就拍板,漲了一倍薪水,把人要了。所以是一戰成名。

朋友的同事C,這也是個神人,騷話特別多,喜歡玩各種底層的輪子,之前混幣圈的,主要是做分布式,其實就是挖礦。

覺得沒意思了,來了華為,這次鴻蒙的分布式架構有他參與。

最近他們在測試鴻蒙同時在100臺終端上的協同計算能力。測試方式沒定,他問老大,老大說跑深度學習?算了,不是特別熟。那挖礦吧,畢竟之前就玩這個。老大就答應了。

然后充分利用了鴻蒙的特性,寫了很多指令級優化,比如通過提高數據訪問的局部性來提高緩存命中率,使用循環展開來提高整數和浮點單元,及流水線的占用率。還充分利用了CPU的SIMD技術。其中有一種麒麟芯片的擴展指令,原生高級矢量指令(Native Advanced Instruction in Vector Edition),簡稱NAIVE,支持2048位寬度的矢量運算,高于Intel的AVX2擴展指令,能做到高度的數據并行。

最后通過共享基技術(Shared Base)部署到100臺機器上。單臺機器的運算速度優化到了之前的1.7倍。

因為有如此大的提升,他當時沒反應過來,一下子沒法相信,還以為程序出錯了,根本就沒算出正確結果。于是他心算了一波非對稱加密的密鑰,和程序結果比較,發現其實都是對的。這波優化其實相當漂亮,在內部還專門做了場報告,而發布會根本沒有提。

最后再說說發布會上宣傳的低延時引擎,其實實時系統的低延時不是什么值得吹的性能,如果連低延時都做不到,那就不叫實時系統了。就像汽車有四個輪子一樣,這算不上feature。

只是這次鴻蒙用了全新的調度算法,反搶占式調度算法(Anti-Navy Preemptive Algorithm)。

以往的實時系統可以保證低延時,但是沒辦法保證CPU占用率,這次鴻蒙做到了既可以運行實時任務,還能盡可能榨干CPU的剩余性能,保證CPU空轉等待的概率降到最低。

這部分在發布會上就是一筆帶過,難怪這么多人不滿意了。

總體來說,華為技術可以,但這次發布會完全就是翻車現場。對著一堆已經寫進教科書的技術吹,而自己做的東西一點都沒講。這恰好滿足一部分外行半懂不懂喜歡虛榮的心理,但又讓開發者感到蒙蔽:這都是正確但無卵用的廢話,說了半天等于啥都沒說

java上下文,能用普通人聽的明白的語言聊一下鴻蒙系統是什么樣的嗎